获取特定组中Jira _not_的所有成员

时间:2014-01-10 15:33:28

标签: python jira python-jira

我的首要任务是让Jira 的所有成员除了特定群组中的那些,但我认为在我到达那里之前我需要一些中介帮助。我正在使用jira-python,而且我已经得到了我需要的小组:

print jira.groups(query='jira-developers')

给了我

{u'header': u'Showing 1 of 1 matching groups', u'total': 1, u'groups': [{u'html': u'<b>jira-developers</b>', u'name': u'jira-developers'}]}

这不是我预期的格式,但很好。我无法得到该组的成员。文档似乎表明jira.group_members(group)应该有效,但我得到的错误是jira没有属性group_members。也许我需要以不同方式访问该组?但根据文档,这个错误对我来说毫无意义。

1 个答案:

答案 0 :(得分:1)

我知道这是一个老问题,但我简要地看了一下jira-python文档,看起来他们仍然没有对群组或群组成员做任何事情。我最后使用请求来编写一个简短的脚本来命中group/member JIRA REST API。也许这个答案将为在搜索中找到此结果的任何人提供一个起点。当JIRA为你的结果提供页面时,我最终通过使用递归来处理nextPage属性,使其比下面的简单示例更复杂。

import requests
import json as JSON

JIRA_REST_URL = "http://jira.server.or.cloud.com/rest/api/2/"
JIRA_USERNAME = "agent007"
JIRA_PASSWORD = "secret"
HEADERS = {'content-type': 'application/json'}

session = requests.session()
session.auth = (JIRA_USERNAME, JIRA_PASSWORD)
group_to_check = "some_group_name"
group_url = JIRA_REST_URL + "group/member?groupname=%s&includeInactiveUsers=false&maxResults=50"  % group_to_check

page = session.get(group_url, headers=HEADERS)
json_page = JSON.loads(page.text)
for each_value in json_page['values']:
    print each_value['displayName']