Guest User

Untitled

a guest
Dec 6th, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. import getpass
  4. import sys
  5. import json
  6. import httplib
  7. import urllib
  8.  
  9. def getCookieString(cookies):
  10. s = ''
  11. for name in cookies:
  12. s = name + '=' + cookies[name];
  13.  
  14. return s
  15.  
  16. def post(conn, url, args, cookies):
  17. cookieval = getCookieString(cookies);
  18. conn.request("POST", url, json.write(args), headers={'content-type':'application/json', 'accept':'application/json', 'Cookie' : cookieval})
  19. reply = conn.getresponse()
  20. return json.read(reply.read())
  21.  
  22. def rest(conn, url, args, cookies):
  23. cookieval = getCookieString(cookies);
  24. url = url + '?' + urllib.urlencode(args)
  25. conn.request("GET", url, "", headers={'content-type':'application/json', 'accept':'application/json', 'Cookie' : cookieval})
  26. reply = conn.getresponse()
  27. return json.read(reply.read())
  28.  
  29.  
  30. jira = 'jira.zarafa.com'
  31. fisheye = 'fisheye.zarafa.com'
  32.  
  33. if len(sys.argv) != 2:
  34. print "Usage: %s <version>" % (sys.argv[0])
  35. exit(1)
  36.  
  37. version = sys.argv[1]
  38.  
  39.  
  40. username = getpass.getuser()
  41. print 'Logging in for %s' % (username)
  42. password = getpass.getpass()
  43.  
  44. fe = httplib.HTTPSConnection(fisheye)
  45. ji = httplib.HTTPSConnection(jira)
  46.  
  47. jiauth = post(ji, '/rest/auth/1/session', { 'username' : username, 'password' : password}, {} )['session']
  48. print jiauth
  49.  
  50. feauth = rest(fe, '/rest-service/auth-v1/login', { 'userName' : username, 'password' : password}, {} )['token']
  51. print feauth
  52.  
  53. cookies = { jiauth['name'] : jiauth['value'] }
  54.  
  55. 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}
  56.  
  57. for ticket in resp['issues']:
  58. print ticket['key']
  59.  
  60. ticketinfo = rest(ji, '/rest/api/2.0.alpha1/issue/%s' % (ticket['key']), {}, cookies)
  61. parent = ticketinfo['fields']['parent']['value']['issueKey']
  62.  
  63. csinfo = rest(fe, '/rest-service-fe/changeset-v1/listChangesets', {'rep' : 'ZarafaSVN', 'path' : 'trunk/zcp', 'comment' : parent, 'FEAUTH' : feauth, 'maxReturn' : '10000' , 'expand' : 'changesets'}, cookie
  64.  
  65. revs = []
  66. for changeset in csinfo['changesets']['changeset']:
  67. revs.append(changeset['csid'])
  68.  
  69. print revs
Add Comment
Please, Sign In to add comment