You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何解决python-redmine调用时的ResourceNotFoundError错误?

解决python-redmine访问Redmine项目时的ResourceNotFoundError问题

针对你遇到的ResourceNotFoundError,结合你的环境(Python2.7、python-redmine2.2.1、Redmine3.4.2),可以从以下几个方向逐一排查:

1. 确认项目标识符是否准确

你代码里传入的'testproject'是项目的标识符(Identifier),而非项目的显示名称。很多时候项目名称和标识符并不一致,比如名称是“Test Project”,但标识符可能被自动设置为test-project(带连字符)。

你可以登录Redmine,进入目标项目的「设置」页面,查看标识符字段的实际值,确保代码里使用的是这个值,而不是项目的中文/英文名称。

2. 修正Redmine版本参数的写法

你的代码里指定了version='3.4.2.stable',但python-redmine的version参数只需要主版本号即可,不需要带.stable后缀。正确的写法应该是:

redmine = Redmine('http://srv173', username='myUser', password='myPassword', version='3.4')

带后缀的版本号可能会导致python-redmine生成错误的API请求路径,进而触发资源找不到的错误。

3. 检查URL是否需要结尾斜杠

部分Redmine实例对URL的结尾斜杠有要求,你可以尝试在URL末尾加上/

redmine = Redmine('http://srv173/', username='myUser', password='myPassword', version='3.4')

避免因重定向导致API请求异常。

4. 验证用户权限与API可用性

  • 确保你的账号myUser是该项目的成员,并且拥有查看项目的权限(可以在Redmine的「权限设置」中确认);
  • 直接用浏览器测试Redmine API是否正常返回数据:在浏览器中访问 http://srv173/projects/你的项目标识符.json,输入用户名和密码,如果能返回JSON格式的项目数据,说明API本身正常;如果返回404,那问题大概率出在Redmine端(比如标识符错误或权限不足)。

5. 检查python-redmine版本兼容性

虽然python-redmine2.2.1理论上支持Redmine3.4,但可以尝试升级到python-redmine的2.3.x系列(该系列仍支持Python2.7),看是否能解决潜在的兼容性问题。

按照这些步骤排查,应该能快速定位并解决问题。

内容的提问来源于stack exchange,提问作者lemmyBarnet

火山引擎 最新活动