From b68af0bf262316a8358a74b034991edca5a0e694 Mon Sep 17 00:00:00 2001 From: pac23 Date: Aug 20 2019 11:40:04 +0000 Subject: added check for already converted proposals --- diff --git a/tga/convert.py b/tga/convert.py index 0af1f18..e708876 100644 --- a/tga/convert.py +++ b/tga/convert.py @@ -44,7 +44,7 @@ def convert(value, configpath): try: #print(x,"this is x") issueurl, r = tgaissue.get_issue(x, config) # gets the issue - if r.status_code == 200: + if r.status_code == 200 : data = json.loads(r.content) print(data, "this is issue data") details = data['description'] @@ -77,148 +77,151 @@ def convert(value, configpath): r = tgaissue.caget_issue(issue_id, config) if r.status_code == 200: data = json.loads(r.content) - #print(r.content) - #print(data, "step 2") - #system_wide_change = data['attributes_values']['1'] - # rel-eng-ticket = data['attributes_values']['7'] # bug in taiga thus the later no - summary = data['attributes_values'][config['TAIGA']['ISSUE_CA_SUMMARY']] # ['11372'] - bugzilla_id = data['attributes_values'][config['TAIGA']['ISSUE_CA_BUGZILLA_CONTACT']] # ['11373'] - approval_required = data['attributes_values'][config['TAIGA']['ISSUE_CA_TRADEMARK_APPROVAL']] #['11374'] - owners = data['attributes_values'][config['TAIGA']['ISSUE_CA_OWNERS']]#['11375'] - contingency_deadline = data['attributes_values'][config['TAIGA']['ISSUE_CA_CONTINGENCY']]#['11376'] - mass_rebuild = data['attributes_values'][config['TAIGA']['ISSUE_CA_MASS_REBUILD']]#['11377'] - policy_change = data['attributes_values'][config['TAIGA']['ISSUE_CA_POLICY_CHANGE']]#['11378'] - modifies_deliverables = data['attributes_values'][config['TAIGA']['ISSUE_CA_MODIFIES_DELIVERABLES']]#['11379'] - system_wide_change = data['attributes_values'][config['TAIGA']['ISSUE_CA_SYSTEM_WIDE_CHANGE']]#['11370'] - relengticket = data['attributes_values'][config['TAIGA']['ISSUE_CA_RELENG_TICKET']]#['11371'] - fedora_version = data['attributes_values'][config['TAIGA']['ISSUE_CA_VERSION']]#['11383'] - #print(fedora_version) - #print("summary", summary) - #print(bugzilla_id) - #print("Fetched Custom Attributes") - """ - Taiga api returns no's instead of the actual names/description - The below no's stand for changes tracker fesco,change-wrangler - 1 = System-wide change - 2 = Summary - 3 = Bugzilla id - 4 = Missing - 5 = Trademark approval required - 6 = Owners - 7 = Rel-eng ticket/Rel-end impact ticket - 11 = Contingencry deadline - 12 = Mass rebuild required - 13 = Policy change required - 14 = Modifies deliverables - """ - try: - payload = { - 'project': project_id, - 'description': details, - 'subject': subject - } - #print(payload) - r = tgauserstory.post_us(payload, config) - #print(json.loads(r.content)) - data = json.loads(r.content) - #print(r.status_code) - if r.status_code == 201: - #print("step 3") - data = json.loads(r.content) - userstoryid = data['id'] - userstoryref = data['ref'] - userstory_version = data['version'] - #print(id) - issueurl = str(config['TAIGA']['PROJECT_WEB_URL']) + str(config['TAIGA']['PROJECT_WEB_NAME']) +'/issue/'+ str(issue_ref) + if data['status'] == config['TAIGA']['ISSUE_STATUS_PROCESSED'] + print("Already processed") + else: + #print(r.content) + #print(data, "step 2") + #system_wide_change = data['attributes_values']['1'] + # rel-eng-ticket = data['attributes_values']['7'] # bug in taiga thus the later no + summary = data['attributes_values'][config['TAIGA']['ISSUE_CA_SUMMARY']] # ['11372'] + bugzilla_id = data['attributes_values'][config['TAIGA']['ISSUE_CA_BUGZILLA_CONTACT']] # ['11373'] + approval_required = data['attributes_values'][config['TAIGA']['ISSUE_CA_TRADEMARK_APPROVAL']] #['11374'] + owners = data['attributes_values'][config['TAIGA']['ISSUE_CA_OWNERS']]#['11375'] + contingency_deadline = data['attributes_values'][config['TAIGA']['ISSUE_CA_CONTINGENCY']]#['11376'] + mass_rebuild = data['attributes_values'][config['TAIGA']['ISSUE_CA_MASS_REBUILD']]#['11377'] + policy_change = data['attributes_values'][config['TAIGA']['ISSUE_CA_POLICY_CHANGE']]#['11378'] + modifies_deliverables = data['attributes_values'][config['TAIGA']['ISSUE_CA_MODIFIES_DELIVERABLES']]#['11379'] + system_wide_change = data['attributes_values'][config['TAIGA']['ISSUE_CA_SYSTEM_WIDE_CHANGE']]#['11370'] + relengticket = data['attributes_values'][config['TAIGA']['ISSUE_CA_RELENG_TICKET']]#['11371'] + fedora_version = data['attributes_values'][config['TAIGA']['ISSUE_CA_VERSION']]#['11383'] + #print(fedora_version) + #print("summary", summary) + #print(bugzilla_id) + #print("Fetched Custom Attributes") + """ + Taiga api returns no's instead of the actual names/description + The below no's stand for changes tracker fesco,change-wrangler + 1 = System-wide change + 2 = Summary + 3 = Bugzilla id + 4 = Missing + 5 = Trademark approval required + 6 = Owners + 7 = Rel-eng ticket/Rel-end impact ticket + 11 = Contingencry deadline + 12 = Mass rebuild required + 13 = Policy change required + 14 = Modifies deliverables + """ + try: payload = { - "attributes_values": { - config['TAIGA']['USERSTORY_CA_SYSTEM_WIDE_CHANGE']: system_wide_change, - config['TAIGA']['USERSTORY_CA_SUMMARY']: summary, - config['TAIGA']['USERSTORY_CA_RELENG_TICKET']: relengticket, - config['TAIGA']['USERSTORY_CA_TRADEMARK_APPROVAL']: approval_required, - #config['TAIGA']['USERSTORY_CA_OWNERS']: owners, - config['TAIGA']['USERSTORY_CA_FESCO_TICKET']: 'random', - config['TAIGA']['USERSTORY_CA_BUGZILLA_TRACKER']: 'random', - config['TAIGA']['USERSTORY_CA_BUGZILLA_CONTACT']: bugzilla_id, - config['TAIGA']['USERSTORY_CA_RELEASE_NOTES']: 'random', - config['TAIGA']['USERSTORY_CA_CONTINGENCY']: contingency_deadline, - config['TAIGA']['USERSTORY_CA_MASS_REBUILD']: mass_rebuild, - config['TAIGA']['USERSTORY_CA_POLICY_CHANGE']: policy_change, - config['TAIGA']['USERSTORY_CA_MODIFIES_DELIVERABLES']: modifies_deliverables, - config['TAIGA']['USERSTORY_CA_ISSUE_LINK']: issueurl - }, - "version": userstory_version + 'project': project_id, + 'description': details, + 'subject': subject } #print(payload) - r = tgauserstory.post_usca(payload, userstoryid, config) + r = tgauserstory.post_us(payload, config) #print(json.loads(r.content)) + data = json.loads(r.content) #print(r.status_code) - if r.status_code == 200: - print("Sucessfully mapped issue custom attirbutes to userstory") - try: - r = tgaepic.list_epic(config) - data = json.loads(r.content) - if r.status_code == 200: - for i in data: - if i['subject'] == str(fedora_version): - epicid = i['id'] - epicref = i['ref'] - break - - r = tgaepic.post_relatedus(userstoryid, epicid, epicref, config) - #print(r.content, r.status_code) - if r.status_code == 201: + if r.status_code == 201: + #print("step 3") + data = json.loads(r.content) + userstoryid = data['id'] + userstoryref = data['ref'] + userstory_version = data['version'] + #print(id) + issueurl = str(config['TAIGA']['PROJECT_WEB_URL']) + str(config['TAIGA']['PROJECT_WEB_NAME']) +'/issue/'+ str(issue_ref) + payload = { + "attributes_values": { + config['TAIGA']['USERSTORY_CA_SYSTEM_WIDE_CHANGE']: system_wide_change, + config['TAIGA']['USERSTORY_CA_SUMMARY']: summary, + config['TAIGA']['USERSTORY_CA_RELENG_TICKET']: relengticket, + config['TAIGA']['USERSTORY_CA_TRADEMARK_APPROVAL']: approval_required, + #config['TAIGA']['USERSTORY_CA_OWNERS']: owners, + config['TAIGA']['USERSTORY_CA_FESCO_TICKET']: 'random', + config['TAIGA']['USERSTORY_CA_BUGZILLA_TRACKER']: 'random', + config['TAIGA']['USERSTORY_CA_BUGZILLA_CONTACT']: bugzilla_id, + config['TAIGA']['USERSTORY_CA_RELEASE_NOTES']: 'random', + config['TAIGA']['USERSTORY_CA_CONTINGENCY']: contingency_deadline, + config['TAIGA']['USERSTORY_CA_MASS_REBUILD']: mass_rebuild, + config['TAIGA']['USERSTORY_CA_POLICY_CHANGE']: policy_change, + config['TAIGA']['USERSTORY_CA_MODIFIES_DELIVERABLES']: modifies_deliverables, + config['TAIGA']['USERSTORY_CA_ISSUE_LINK']: issueurl + }, + "version": userstory_version + } + #print(payload) + r = tgauserstory.post_usca(payload, userstoryid, config) + #print(json.loads(r.content)) + #print(r.status_code) + if r.status_code == 200: + print("Sucessfully mapped issue custom attirbutes to userstory") + try: + r = tgaepic.list_epic(config) data = json.loads(r.content) - print("Sucessfully mapped epics") - payload = { - 'status': config['TAIGA']['USERSTORY_STATUS_ACCEPTED'], - 'version': userstory_version - } - r = tgauserstory.changestatus_userstory(userstoryid, payload, config) - #print(r.content,r.status_code) if r.status_code == 200: - userstoryurl = str(config['TAIGA']['PROJECT_WEB_URL']) + str(config['TAIGA']['PROJECT_WEB_NAME']) +'/us/'+ str(userstoryref) - issue_version = issue_version # + 1 - #print(type(issue_version)) - #print(issue_version) + for i in data: + if i['subject'] == str(fedora_version): + epicid = i['id'] + epicref = i['ref'] + break + + r = tgaepic.post_relatedus(userstoryid, epicid, epicref, config) + #print(r.content, r.status_code) + if r.status_code == 201: + data = json.loads(r.content) + print("Sucessfully mapped epics") payload = { - 'version': issue_version, - "comment": userstoryurl - } - r = tgaissue.edit_issue(payload, issue_id, config) - if r.status_code == 200: - data = json.loads(r.content) - issue_version = data['version'] - print("Sucessfully converted issue to user story") - issue_version = issue_version #+1 + 'status': config['TAIGA']['USERSTORY_STATUS_ACCEPTED'], + 'version': userstory_version + } + r = tgauserstory.changestatus_userstory(userstoryid, payload, config) + #print(r.content,r.status_code) + if r.status_code == 200: + userstoryurl = str(config['TAIGA']['PROJECT_WEB_URL']) + str(config['TAIGA']['PROJECT_WEB_NAME']) +'/us/'+ str(userstoryref) + issue_version = issue_version # + 1 + #print(type(issue_version)) + #print(issue_version) payload = { - 'status': config['TAIGA']['ISSUE_STATUS_PROCESSED'], - 'version': issue_version - } - r = tgaissue.changestatus_issue(issue_id, payload, config) - #print(r.status_code) - #print(r.content) - if r.status_code == 200: - print("Sucessfully closed issue") - return userstoryid, True + 'version': issue_version, + "comment": userstoryurl + } + r = tgaissue.edit_issue(payload, issue_id, config) + if r.status_code == 200: + data = json.loads(r.content) + issue_version = data['version'] + print("Sucessfully converted issue to user story") + issue_version = issue_version #+1 + payload = { + 'status': config['TAIGA']['ISSUE_STATUS_PROCESSED'], + 'version': issue_version + } + r = tgaissue.changestatus_issue(issue_id, payload, config) + #print(r.status_code) + #print(r.content) + if r.status_code == 200: + print("Sucessfully closed issue") + return userstoryid, True + else: + print("Unsuccesful at closing issue,check logs") else: - print("Unsuccesful at closing issue,check logs") + print("Unable to map Issue url to user story attributes") else: - print("Unable to map Issue url to user story attributes") + print("Converted User story,copied attributes mapped epics,faliure to change status to accepted") else: - print("Converted User story,copied attributes mapped epics,faliure to change status to accepted") - else: - print("Unnsucessful to map to epics,change user story status to accepted and issue status to processed") - except requests.exceptions.RequestException as e: - print(e) - log_exception(e) - except Exception as e: - print(e) - log_exception(e) + print("Unnsucessful to map to epics,change user story status to accepted and issue status to processed") + except requests.exceptions.RequestException as e: + print(e) + log_exception(e) + except Exception as e: + print(e) + log_exception(e) + else: + print("Unsuccesful Conversion") else: - print("Unsuccesful Conversion") - else: - print("Unsuccesful conversion") + print("Unsuccesful conversion") except requests.exceptions.RequestException as e: print(e) log_exception(e)