4

我想提取 jira-users 组中的用户列表。据我了解,它可以通过 Python 使用 restkit 来完成。

有没有人有任何示例或链接可以举例说明?

谢谢。

4

3 回答 3

5

如果有人仍然需要解决方案,您可以安装 JIRA rest api lib https://pypi.python.org/pypi/jira/。只是您问题的一个简单示例:

from jira.client import JIRA

jira_server = "http://yourjiraserver.com"
jira_user = "login"
jira_password = "pass"

jira_server = {'server': jira_server}
jira = JIRA(options=jira_server, basic_auth=(jira_user, jira_password))

group = jira.group_members("jira-users")
for users in group:
    print users
于 2017-01-13T09:53:39.720 回答
4

Jira 有一个用于外部查询的 REST API,它使用 HTTP 协议进行请求和响应,并且响应内容形成为 JSON。因此,您可以使用 pythonurllibjson包来运行请求,然后解析结果。

这是 Atlassian 的 Jira REST API 文档:http://docs.atlassian.com/jira/REST/latest/,例如检查用户 API:http ://docs.atlassian.com/jira/REST/latest/# id120322

考虑到您应该在发送请求之前进行身份验证,您可以在文档中找到必要的信息。

于 2012-08-23T20:11:00.013 回答
0
import urllib2, base64
import requests
import ssl
import json
import os
from pprint import pprint
import getpass

UserName = raw_input("Ener UserName: ")
pswd = getpass.getpass('Password:')

# Total number of users or licenses used in JIRA. REST api of jira can take values of 50 incremental
ListStartAt = [0,50,100,150,200,250,300]
counter = 0
for i in ListStartAt:
    request = urllib2.Request("https://jiraserver.com/rest/api/2/group/member?groupname=GROUPNAME&startAt=%s" %i)

    base64string = base64.encodestring('%s:%s' % (UserName, pswd)).replace('\n', '')
    request.add_header("Authorization", "Basic %s" % base64string) 
    gcontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
    result = urllib2.urlopen(request, context=gcontext)

    JsonGroupdata = result.read()
    jsonToPython = json.loads(JsonGroupdata)

    try:
        for i in range (0,50):
            print jsonToPython["values"][i]["key"]
            counter = counter+1
    except Exception as e:
        pass
print counter
于 2017-03-20T01:50:36.283 回答