** Automatisierung der JIRA-Ticketerstellung ** ** Erstellen Sie einen Mechanismus, damit JIRA-Tickets automatisch erstellt werden, wenn Sie mit Slack erwähnen **
Wenn Sie den Inhalt des Tickets twittern, indem Sie dem Bot eine Erwähnung von slack wie folgt hinzufügen
Ticket wird in JIRA erstellt
Da ich einen solchen Mechanismus erstellt habe, werde ich auch mein eigenes Memo schreiben
Vagrant.configure(2) do |config|
config.vm.box = "bento/centos-6.7"
config.vm.define "dev" do |node|
node.vm.network "private_network", ip: "192.168.10.10"
node.vm.synced_folder "/Users/takahirono7/projects/", "/root/project"
end
end
Das Festlegen von synced_folder ist sehr praktisch, da Sie das Verzeichnis auf Ihrem lokalen Mac und Vagrant synchronisieren können. Die Methode ist unten zusammengefasst Dateien zwischen Gastbetriebssystemen, die auf Vagrant und Mac ausgeführt werden, synchronisieren
Zuerst müssen Sie einen Bot-Benutzer erstellen, der auf Slack ausgeführt wird
Bitte klicken Sie unter der folgenden URL auf "Neuen Bot-Benutzer erstellen", um einen Bot-Benutzer zu erstellen https://api.slack.com/bot-users
Für Details wenden Sie sich bitte an die folgenden Personen, die es wunderbar zusammengefasst haben. Slackbot mit Python erstellen (1)
Nach Abschluss der Kontoerstellung den folgenden Artikel
Fügen Sie dem Bot Funktionen hinzu
Bitte auf den Punkt bringen Erstellen Sie einen Slack-Bot mit Pythons Slackbot-Bibliothek
Dieser Bereich wird von den Pionieren ausführlich erklärt, daher werde ich ihn nicht beschreiben. Ich weiß das wirklich zu schätzen.
Ich gehe zum obigen Teil über und denke, dass die Verzeichnisstruktur wie folgt ist. Unten zitiere ich den obigen Artikel von sukesuke
slackbot #Ein Verzeichnis, das Programme organisiert. Jeder Name ist in Ordnung
├─ run.py #Starten Sie den Bot, indem Sie dieses Programm ausführen
├─ slackbot_settings.py #Datei zum Schreiben von Einstellungen für Bot
└─ plugins #Fügen Sie diesem Verzeichnis Bot-Funktionen hinzu
├─ __init__.py #Eine Datei zur Angabe des Moduls. Leer ist in Ordnung
└─ my_mention.py #Verfügt über jede Datei. Jeder Name ist in Ordnung
Wir werden eine Funktion hinzufügen, um einen Link zu jira zu my_mention.py zu erstellen.
Die Implementierung verwendete die Python-Jira-Bibliothek. Ich habe darüber nachgedacht, es mit Curl oder Urllib zu implementieren, aber ich denke, die Python-Jira-Bibliothek ist die einfachste. https://jira.readthedocs.io/en/master/
Fügen Sie my_mention.py Folgendes hinzu
from jira import JIRA
from jira.client import JIRA
@listen_to('create_ticket')
def create_tickets(message):
options = {
'server': 'https://**Jira Domain**/jira'
}
body = message.body['te i xt']
jira = JIRA(options, basic_auth=('bot_test','bot_test'))
issue_dict = {
'project': {'key': 'TES'},
'summary': 'New issue from jira-python',
'description': body ,
'issuetype': {'name': 'Aufgabe'}
}
new_issue = jira.create_issue(fields=issue_dict)
message.reply('Ticket erstellt')
#Objekt im folgenden Format abrufen
# [<JIRA Issue: key='TES-4644', id='59893'>]
last_ticket = jira.search_issues('project = "TES" AND reporter = bot_test ORDER BY createdDate DESC', maxResults = 1)
# last_ticket[0]damit"TES-4659"などのticket keyが取得damitきる
message.reply("https://JIRA-Domain/jira/projects/TES/issues/%s" %(last_ticket[0]))
jira = JIRA(options, basic_auth=('bot_test','bot_test'))
Geben Sie grundlegende Authentifizierungsinformationen an, wenn Sie JIRA instanziieren. Vergessen Sie nicht, im Voraus einen Benutzer auf der JIRA-Seite zu erstellen
new_issue = jira.create_issue(fields=issue_dict)
Sie können ein Ticket mit der Methode create_issue erstellen. Fügen Sie optional Informationen zu Projektschlüssel, Zusammenfassung, Beschreibung und Problemtyp hinzu. Hier wird der Inhalt der Beschreibung als Inhalt der Slack-Nachricht mit body = message.body ['text'] verwendet.
last_ticket = jira.search_issues('project = "TES" AND reporter = bot_test ORDER BY createdDate DESC', maxResults = 1)
# last_ticket[0]damit"TES-4659"などのticket keyが取得damitきる
message.reply("https://**Jira Domain**/jira/projects/TES/issues/%s" %(last_ticket[0]))
Ich suche nach JIRA-Tickets mit der Methode jira.search_issues. Die Ergebnisse der Ticketsuche werden in einer Liste zurückgegeben. Setzen Sie den Schlüssel daher auf [0], um den Ticketschlüssel zu erhalten. Durch Hinzufügen des erhaltenen Schlüssels am Ende der URL der Jira-Domain wird die URL des Tickets abgerufen und zurückgegeben.
Mit dieser Art der Implementierung konnten wir Tickets mit Slack erstellen, wie zu Beginn beschrieben. Ich denke darüber nach, mehr Funktionen rund um JIRA zu implementieren, also werde ich es veröffentlichen, wenn ich eine Geschichte habe.
Automatische Erstellung von JIRA-Tickets mit Slack-Bot ~ Slack-Bot-Entwicklung mit Python ① ~ JIRA-Ticket mit Slack-Bot → Automatisierung der Slack-Benachrichtigung ~ Slack-Bot-Entwicklung mit Python② ~ Benachrichtigen Sie Slack, wenn die Switch-Verkaufsseite aktualisiert wird ~ Slack-Bot-Entwicklung mit Python ③ ~ [Lassen Sie sich vom Bot das Wetter (Niederschlagsinformationen) mithilfe der Wetterinformations-API (YOLP) mitteilen, die von Yahoo bereitgestellt wird.
Recommended Posts