Rufen Sie die URL des von der Jira-Python-Bibliothek erstellten JIRA-Tickets ab

Einführung

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.

Rezension

Einloggen

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." }

Ticketerstellung

test.py


# Create New Issue
newIssue = jira.create_issue(
    project = 'Projektname * 2',
    summary = 'Zusammenfassung (Ticket Titel)',
    description = 'Ticketbeschreibung',
    issuetype = {'name':'Aufgabe'}
    )

Hauptthema

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

Bonus

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. スクリーンショット 2019-11-08 15.22.21.png

Recommended Posts

Rufen Sie die URL des von der Jira-Python-Bibliothek erstellten JIRA-Tickets ab
Mit den Daten von COVID-19 wurde ein Netzwerkdiagramm erstellt.
Holen Sie sich die ID einer GPU mit geringer Speichernutzung
Holen Sie sich UNIXTIME zu Beginn des heutigen Tages mit einem Befehl
Eine Geschichte, die mit der Installation der maschinellen Lernbibliothek JAX zusammenhängt
Holen Sie sich den Dateinamen des Verzeichnisses (glob)
Holen Sie sich das durchschnittliche Gehalt eines Jobs mit bestimmten Bedingungen von Indeed.com
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Holen Sie sich den Aufrufer einer Funktion in Python
Holen Sie sich eine Liste der IAM-Benutzer mit Boto3
Holen Sie sich mit Python den Aktienkurs eines japanischen Unternehmens und erstellen Sie eine Grafik
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Ruft den Variablennamen der Variablen als Zeichenfolge ab.
Berechnen Sie den Gesamtwert mehrerer Spalten mit awk
Machen Sie LCD-Screenshots mit Python-LEGO Mindstorms
Versuchen Sie, den Inhalt von Word mit Golang zu erhalten
Visualisieren Sie das charakteristische Vokabular eines Dokuments mit D3.js.
[Python] Ruft die Liste der ExifTags-Namen der Pillow-Bibliothek ab
Holen Sie sich mit Python den Betriebsstatus von JR West
Rufen Sie die URL des HTTP-Umleitungsziels in Python ab
Berechnen Sie das Produkt von Matrizen mit einem Zeichenausdruck?
Holen Sie sich den Kauf- und Verkaufspreis der virtuellen Währung mit der API von Zaif Exchange und erstellen Sie ein Diagramm
Messen Sie die Wichtigkeit von Features mit einem zufälligen Gesamtstrukturwerkzeug
Führen Sie die Intelligenz Ihrer eigenen Python-Bibliothek mit VScode aus.
Ihre URL hat nicht mit dem Wert des Challenge-Parameters geantwortet.
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Holen Sie sich eine Liste der mit Python + Selen gekauften DMM-E-Books
Einstellungen zum Eingeben und Debuggen des Inhalts der Bibliothek mit VS-Code
Sprachverarbeitung 100 Knocks-29: Holen Sie sich die URL des Flaggenbildes
Analysieren Sie das Themenmodell, mit GensimPy3 Romanautor zu werden
Machen Sie ein BLE-Thermometer und ermitteln Sie die Temperatur mit Pythonista3
Die Geschichte, wie man mit discord.py einen Fragenkasten-Bot erstellt
Rufen Sie den Hostnamen des Host-PCs mit Docker unter Linux ab
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Holen Sie sich die Anzahl der Ziffern
Rufen Sie die URL des Linkziels ab, indem Sie den Textsatz mit Python Scraping (Beautiful Soup) + XPath angeben
Verarbeiten Sie den Inhalt der Datei der Reihe nach mit einem Shell-Skript
Ermitteln Sie die Anzahl der PVs von Qiita-Artikeln, die Sie mit API veröffentlicht haben
[Python, Ruby] Selen-Holen Sie sich Webseiteninhalte mit Webdriver
So erhalten Sie die ID von Type2Tag NXP NTAG213 mit nfcpy
[Einführung in StyleGAN] Ich habe mit "The Life of a Man" ♬ gespielt
Wenn Sie eine Liste mit dem Standardargument der Funktion angeben ...
Die Geschichte, einen Standardtreiber für db mit Python zu erstellen.
Ich habe versucht, das Entwicklungsstartverfahren von Django kurz zusammenzufassen
[Python] Ruft das Aktualisierungsdatum eines Nachrichtenartikels aus HTML ab
Zählen Sie mit NetworkX den maximal verketteten Teil eines zufälligen Diagramms
So ermitteln Sie die Scheitelpunktkoordinaten eines Features in ArcPy
Die Idee, die Konfigurationsdatei mit einer Python-Datei anstelle von yaml zu füttern
Verbesserung der Wiederverwendbarkeit und Wartbarkeit von mit Luigi erstellten Workflows
Erstellen Sie eine Funktion, um den Inhalt der Datenbank in Go abzurufen
Ruft eine Liste der Dateien in einem Ordner mit Python ohne Pfad ab
Die Geschichte, ein Modul zu erstellen, das E-Mails mit Python überspringt
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
Erstellen Sie ein Kompatibilitätsbewertungsprogramm mit dem Zufallsmodul von Python.
PhytoMine-I hat versucht, mit Python die genetischen Informationen der Pflanze zu erhalten
Holen Sie sich das Wetter mit Python-Anfragen