4

jira-users グループのユーザーのリストを取得したいと考えています。私が理解しているように、restkitを使用してPythonで実行できます。

この例を示す例やリンクはありますか?

ありがとう。

4

3 に答える 3

4

Jiraには外部クエリ用のRESTAPIがあり、リクエストとレスポンスにHTTPプロトコルを使用しており、レスポンスのコンテンツはJSONとして形成されます。したがって、Pythonurllibjsonパッケージを使用してリクエストを実行し、結果を解析できます。

これは、Jira REST APIに関するAtlassianのドキュメントです: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 に答える