用Python和Rest查询Jira
我想拉一个jira用户组中的用户列表。据我所知,可以使用restkit使用Python来完成 有没有人举过这样的例子或链接用Python和Rest查询Jira,python,rest,jira,Python,Rest,Jira,我想拉一个jira用户组中的用户列表。据我所知,可以使用restkit使用Python来完成 有没有人举过这样的例子或链接 谢谢。Jira有一个用于外部查询的REST API,它使用HTTP协议进行请求和响应,响应内容以JSON格式形成。因此,您可以使用python的urllib和json包来运行请求,然后解析结果 这是Atlassian针对Jira REST API的文档:例如,检查用户API: 考虑到您应该在发送请求之前进行身份验证,您可以在文档中找到必要的信息。如果有人仍然需要解决方案,您
谢谢。Jira有一个用于外部查询的REST API,它使用HTTP协议进行请求和响应,响应内容以JSON格式形成。因此,您可以使用python的
urllib
和json
包来运行请求,然后解析结果
这是Atlassian针对Jira REST API的文档:例如,检查用户API:
考虑到您应该在发送请求之前进行身份验证,您可以在文档中找到必要的信息。如果有人仍然需要解决方案,您可以安装JIRA rest api lib。 仅举一个简单的例子来回答您的问题:
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
我在RESTAPI中没有看到返回此信息的方法,是吗?我看到了一种获取给定用户所在的所有组的方法,但没有找到获取给定组成员的位置。不,你说得对,我也找不到这个API。但这不是不可能的,你可以通过user get API-
/rest/API/2/user
-获得所有用户的信息,然后搜索他们的组。没错,我无法获得用户列表,但这还是很有帮助的。不是为了获取用户列表,而是为了我需要执行的其他任务。所以,这对我还是有帮助的。它看起来像是要得到一个jira用户的列表,我需要用它来查询SQL。我不确定是否还有其他选择。因此,我正在考虑使用python脚本来实现这一点。如果我对python脚本有困难,我将尝试使用get API(/rest/API/2/user)。我也遇到了同样的问题,有人能解释一下吗?在API“GRO\UPNAME”中输入您想要获取信息的组名,您可以编辑答案,以包含更多信息,通过单击其下的“编辑”链接。您不必对附加信息进行评论。另外,不要只是粘贴一些代码来解释它。谢谢。。。。仅供参考。。。那代码是我写的。它将ping JIRA(Atlassian)提供的restapi。我们需要提供组名。它将给出属于该组的所有用户列表
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