Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python和Rest查询Jira_Python_Rest_Jira - Fatal编程技术网

用Python和Rest查询Jira

用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用户组中的用户列表。据我所知,可以使用restkit使用Python来完成

有没有人举过这样的例子或链接


谢谢。

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