我可以获得分配给项目的用户列表吗?

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)

Max*_*eev 5

njzk2的答案很好,但它仍然进行了 2 个单独的 API 调用:

  1. redmine.project.get('my_project')
  2. redmine.project.get('my_project').memberships

因此,如果您需要先获取项目的所有可用详细信息,然后再获取项目的所有成员,那么这是最好的选择。但是,如果您只需要获取成员,则可以通过以下方式在一个 API 调用中完成:

redmine.project_membership.filter(project_id='my_project')文档

您可能想知道为什么有这么多方法可以做一件事,嗯,因为可能有不同的用例,python-redmine 尝试最好提供不同的方法来实现目标。因此,您必须彻底查看文档并找到适合您的具体情况的最佳可用方法。