Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import getpass
- import sys
- import json
- import httplib
- import urllib
- def getCookieString(cookies):
- s = ''
- for name in cookies:
- s = name + '=' + cookies[name];
- return s
- def post(conn, url, args, cookies):
- cookieval = getCookieString(cookies);
- conn.request("POST", url, json.write(args), headers={'content-type':'application/json', 'accept':'application/json', 'Cookie' : cookieval})
- reply = conn.getresponse()
- return json.read(reply.read())
- def rest(conn, url, args, cookies):
- cookieval = getCookieString(cookies);
- url = url + '?' + urllib.urlencode(args)
- conn.request("GET", url, "", headers={'content-type':'application/json', 'accept':'application/json', 'Cookie' : cookieval})
- reply = conn.getresponse()
- return json.read(reply.read())
- jira = 'jira.zarafa.com'
- fisheye = 'fisheye.zarafa.com'
- if len(sys.argv) != 2:
- print "Usage: %s <version>" % (sys.argv[0])
- exit(1)
- version = sys.argv[1]
- username = getpass.getuser()
- print 'Logging in for %s' % (username)
- password = getpass.getpass()
- fe = httplib.HTTPSConnection(fisheye)
- ji = httplib.HTTPSConnection(jira)
- jiauth = post(ji, '/rest/auth/1/session', { 'username' : username, 'password' : password}, {} )['session']
- print jiauth
- feauth = rest(fe, '/rest-service/auth-v1/login', { 'userName' : username, 'password' : password}, {} )['token']
- print feauth
- cookies = { jiauth['name'] : jiauth['value'] }
- resp = post(ji, '/rest/api/2.0.alpha1/search', { 'jql' : 'project = ZCP AND type = Merge-Task AND NOT status = Closed AND status = Open AND fixVersion = "%s"' % (version), 'startAt' : 0, 'maxResults' : 1000}
- for ticket in resp['issues']:
- print ticket['key']
- ticketinfo = rest(ji, '/rest/api/2.0.alpha1/issue/%s' % (ticket['key']), {}, cookies)
- parent = ticketinfo['fields']['parent']['value']['issueKey']
- csinfo = rest(fe, '/rest-service-fe/changeset-v1/listChangesets', {'rep' : 'ZarafaSVN', 'path' : 'trunk/zcp', 'comment' : parent, 'FEAUTH' : feauth, 'maxReturn' : '10000' , 'expand' : 'changesets'}, cookie
- revs = []
- for changeset in csinfo['changesets']['changeset']:
- revs.append(changeset['csid'])
- print revs
Add Comment
Please, Sign In to add comment