pax*_*977 4 python redmine python-redmine
使用 python-redmine 模块,有没有办法列出通过 Redmine API 分配给项目的所有用户?
我发现我可以请求有关单个用户的信息,并且 API Key 用户可能仅分配给特定项目,并且只能查看项目中的其他用户。所以我可以执行以下操作,但效率非常低:
from redmine import Redmine
redmine = Redmine("https://myserver.net/", key="blahblah")
my_users = []
for x in range(1, 301):
try:
user = redmine.user.get(str(x))
my_users.append(user.id)
except:
print "",
Run Code Online (Sandbox Code Playgroud)
上面的代码让我得到了我想要的东西,一个项目中的用户列表......但是太长了不实用。此外,用户 ID 可能高于我选择的任何范围。
更新:这是我的工作,谢谢@njzk2
my_users = []
project = redmine.project.get('myproject')
for membership in project.memberships:
my_users.append(membership.user.id)
Run Code Online (Sandbox Code Playgroud)
njzk2的答案很好,但它仍然进行了 2 个单独的 API 调用:
redmine.project.get('my_project')redmine.project.get('my_project').memberships因此,如果您需要先获取项目的所有可用详细信息,然后再获取项目的所有成员,那么这是最好的选择。但是,如果您只需要获取成员,则可以通过以下方式在一个 API 调用中完成:
redmine.project_membership.filter(project_id='my_project')(文档)
您可能想知道为什么有这么多方法可以做一件事,嗯,因为可能有不同的用例,python-redmine 尝试最好提供不同的方法来实现目标。因此,您必须彻底查看文档并找到适合您的具体情况的最佳可用方法。