2014-01-10 76 views
0

我的首要任务是让Jira的所有成员除外)处于特定组中,但我认为我需要一些中介帮助才能到达那里。我使用JIRA,蟒蛇,到目前为止,我已经得到了作为排序得到我需要的组:获取特定组中的Jira_not_的所有成员

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。也许我需要以不同方式访问组?但是这个错误对我来说根据文档没有意义。

+0

您使用的是哪个版本的JIRA?该方法是JIRA 6.x方法 – mdoar

+0

6.1.4 Jira,0.16 jira-python – thumbtackthief

+0

是否有不同的/更好的方式获取组的成员? – thumbtackthief

回答

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']