** Automatisation de la création de tickets JIRA ** ** Créez un mécanisme pour que les tickets JIRA soient automatiquement créés lorsque vous mentionnez avec Slack **
Si vous tweetez le contenu du ticket en joignant une mention au bot de slack comme suit
Le ticket est créé dans JIRA
Depuis que j'ai fait un tel mécanisme, j'écrirai aussi mon propre mémo
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
La définition de synced_folder est très pratique car vous pouvez synchroniser le répertoire sur votre Mac local et Vagrant. La méthode est résumée ci-dessous Synchroniser les fichiers entre le système d'exploitation invité fonctionnant sur Vagrant et Mac
Vous devez d'abord créer un utilisateur de bot qui s'exécute sur Slack
Veuillez cliquer sur "Créer un nouvel utilisateur de bot" à l'URL suivante pour créer un utilisateur de bot https://api.slack.com/bot-users
Pour plus de détails, veuillez vous référer aux personnes suivantes qui l'ont parfaitement résumé. Créer Slackbot avec Python (1)
Après avoir terminé la création du compte, l'article suivant
Ajouter des fonctionnalités au bot
Veuillez effectuer au point Créer un bot Slack avec la bibliothèque slackbot de Python
Ce domaine est expliqué en détail par les pionniers, je ne le décrirai donc pas. J'apprécie vraiment cela.
En passant à la partie ci-dessus, je pense que la structure des répertoires est la suivante. Ci-dessous, je cite l'article ci-dessus de sukesuke
slackbot #Un annuaire qui organise les programmes. N'importe quel nom va bien
├─ run.py #Démarrez le bot en exécutant ce programme
├─ slackbot_settings.py #Fichier pour écrire les paramètres liés au bot
└─ plugins #Ajouter une fonctionnalité de bot à ce répertoire
├─ __init__.py #Un fichier pour indiquer le module. Vider c'est bien
└─ my_mention.py #Présente chaque fichier. N'importe quel nom va bien
Nous allons ajouter une fonction pour créer un lien vers jira vers my_mention.py.
L'implémentation a utilisé la bibliothèque python-jira. J'ai pensé à l'implémenter avec curl ou urllib, mais je pense que la bibliothèque python-jira est la plus simple. https://jira.readthedocs.io/en/master/
Ajoutez ce qui suit à my_mention.py
from jira import JIRA
from jira.client import JIRA
@listen_to('create_ticket')
def create_tickets(message):
options = {
'server': 'https://**domaine jira**/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': 'tâche'}
}
new_issue = jira.create_issue(fields=issue_dict)
message.reply('Créé un ticket')
#Obtenir un objet au format suivant
# [<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]alors"TES-4659"などのticket keyが取得alorsきる
message.reply("https://Domaine JIRA/jira/projects/TES/issues/%s" %(last_ticket[0]))
jira = JIRA(options, basic_auth=('bot_test','bot_test'))
Fournissez des informations d'authentification de base lors de l'instanciation de JIRA. N'oubliez pas de créer un utilisateur côté JIRA à l'avance
new_issue = jira.create_issue(fields=issue_dict)
Vous pouvez créer un ticket avec la méthode create_issue. En option, ajoutez des informations sur la clé de projet, le résumé, la description et le type de problème. Ici, le contenu de la description est considéré comme le contenu du message slack avec body = message.body ['text'].
last_ticket = jira.search_issues('project = "TES" AND reporter = bot_test ORDER BY createdDate DESC', maxResults = 1)
# last_ticket[0]alors"TES-4659"などのticket keyが取得alorsきる
message.reply("https://**domaine jira**/jira/projects/TES/issues/%s" %(last_ticket[0]))
Je recherche des tickets JIRA avec la méthode jira.search_issues. Les résultats de la recherche de tickets seront renvoyés dans une liste, alors définissez la clé sur [0] pour obtenir la clé de ticket. En ajoutant la clé obtenue à la fin de l'URL du domaine jira, l'URL du ticket est obtenue et renvoyée.
Avec ce type d'implémentation, nous avons pu créer des tickets avec du mou comme décrit au début. Je pense à implémenter plus de fonctions autour de JIRA, donc je le posterai quand j'aurai une histoire.
Création automatique de tickets JIRA avec slack bot ~ développement de slack bot avec python ① ~ Ticket JIRA avec bot slack → Automatisation de la notification Slack ~ développement de bot slack avec python② ~ Avertir slack lorsque la page de vente du commutateur est mise à jour ~ développement du bot slack avec python ③ ~ Demandez au bot de vous indiquer la météo (informations sur les précipitations) à l'aide de l'API d'informations météorologiques (YOLP) fournie par Yahoo ~ développement du bot slack ④ ~ avec python
Recommended Posts