https://qiita.com/mu-naka/items/9ad7f509e697e83c2987 ↑ In dem Python-Code, den ich zuvor geschrieben habe, habe ich den Prozess "Erstellen eines JIRA-Tickets" geschrieben, aber ich habe beschlossen, dem nachfolgenden Prozess eine Slack-Benachrichtigung hinzuzufügen. Ich wollte die neu erstellte JIRA-Ticket-URL in den Slack-Benachrichtigungsinhalt aufnehmen, habe sie jedoch als Memorandum geschrieben, da es schwierig (nicht gefunden) war, die URL zu finden, selbst wenn ich nach dem Dokument gesucht habe. Bitte lassen Sie mich wissen, ob es einen besseren Weg gibt. Klicken Sie hier für die offizielle Dokumentation ↓ https://jira.readthedocs.io/en/master/index.html
Weitere Informationen zur Verwendung der JIRA-Bibliothek unter Python finden Sie im vorherigen Artikel. Die Python-Version dieses Artikels ist 3.7.
Um JIRA zu betreiben, müssen Sie sich zuerst anmelden, also melden Sie sich an.
test.py
# JIRA Login
try:
jira = JIRA(options = {'server': os.environ["JIRA URL * 1"]}, basic_auth = (JIRA-Benutzer-ID,JIRA Passwort))
except JIRAError as e:
return { "status" : "JIRA Login Failed." }
test.py
# Create New Issue
newIssue = jira.create_issue(
project = 'Projektname * 2',
summary = 'Zusammenfassung (Ticket Titel)',
description = 'Ticketbeschreibung',
issuetype = {'name':'Aufgabe'}
)
Der Rückgabewert von create_issue () zum Zeitpunkt der Ticketerstellung ist in der neuen Ausgabe enthalten. Betrachten Sie den Inhalt dieser neuen Ausgabe
test.py
from pprint import pprint
#(Weggelassen)
pprint(vars(newIssue))
log
{'_base_url': '{server}/rest/{rest_path}/{rest_api_version}/{path}',
'_options': {'agile_rest_api_version': '1.0',
'agile_rest_path': 'greenhopper',
'async': False,
'async_workers': 5,
'auth_url': '/rest/auth/1/session',
'check_update': False,
'client_cert': None,
'context_path': '/jira',
'headers': {'Cache-Control': 'no-cache',
'Content-Type': 'application/json',
'X-Atlassian-Token': 'no-check'},
'resilient': True,
'rest_api_version': '2',
'rest_path': 'api',
'server': 'https://jira.hoge.com/jira',
'verify': True},
'_resource': 'issue/{0}',
'_session': <jira.resilientsession.ResilientSession object at 0x7fa801472dd0>,
'expand': 'renderedFields,names,schema,operations,editmeta,changelog,versionedRepresentations',
'fields': <class 'jira.resources.PropertyHolder'>,
'id': '12345',
'key': 'HOGE-001',
'raw': {
~ Folgendes wird weggelassen ~
Ich habe es weggelassen, weil es viel Volumen hat, aber es gab keinen Parameter, der so wie er ist als URL verwendet werden kann. Die Ticket-URL hat jedoch die Regel "https: // [JIRA-Server-Basis-URL] / blowse / [Ticketschlüssel]", sodass sie mit dem folgenden Code generiert werden kann.
test.py
ticketUrl = newIssue._options.server + '/browse/' + newIssue.key
Verwenden Sie den eingehenden Webhook, um zu Slack zu gelangen, und überspringen Sie die Benachrichtigung mit dem folgenden Code.
test.py
requests.post('Webhook-URL', data = json.dumps({
'text': ticketUrl,
'username': u'Benachrichtigungsbenutzername',
'icon_emoji': u':bow:',
'link_names': 1
}))
Die Werte verschiedener Parameter unterscheiden sich vom Beispiel, aber die URL des damit erstellten Tickets kann in den Inhalt der Slack-Benachrichtigung aufgenommen werden.
Recommended Posts