** Automatisez les notifications Slack pour les tickets JIRA qui répondent aux critères de recherche **
Affichez le ticket JIRA correspondant dans Slack en envoyant un mot spécifique au bot avec des mentions dans Slack (ici confirm_today_tickets) comme indiqué ci-dessous.
Il y a un ticket créé dans JIRA PJ comme indiqué ci-dessous, et c'est une image pour afficher le ticket qui est capturé dans la condition de recherche sur Slack.
Je l'ajouterai au programme créé en ① Création automatique de tickets JIRA avec slack bot ~ développement de slack bot avec python ① ~
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
La cible à modifier est à nouveau my_mention.py. Le script ressemble à ceci:
# coding: utf-8
from slackbot.bot import respond_to # @botname:Décodeur qui réagit avec
from slackbot.bot import listen_to #Décodeur qui répond aux remarques dans le canal
from jira import JIRA
from jira.client import JIRA
#Définir les variables utilisées dans les fonctions
auth_str = 'bot_test:bot_test'
admin = '@takahirono7'
server_ip = 'http://192.168.10.10:8080'
options = {
'server': server_ip
}
jira = JIRA(options, basic_auth=('bot_test','bot_test'))
#Décrivez le jql à utiliser
jql_confirm_today_tickets = 'project = "BOT" AND created >= startOfDay()'
jql_confirm_current_week_tickets = 'created > StartofWeek()'
#Confirmation des billets prévue pour aujourd'hui
@respond_to('confirm_today_tickets')
def get_today_tickets(message):
try:
#Voir les billets prévus pour le travail aujourd'hui
today_work_tickets = jira.search_issues(jql_confirm_today_tickets)
count_today_work_tickets = len(today_work_tickets)
message.reply('Les travaux prévus aujourd'hui%cas s' %(count_today_work_tickets))
for ticket in today_work_tickets:
# fields.Obtenez un résumé avec résumé
ticket_summary = ticket.fields.summary
# fields.Obtenez un résumé avec résumé
if ticket.fields.assignee:
ticket_assignee = ticket.fields.assignee.name
else:
ticket_assignee = 'Responsable non affecté'
#Sortie vers slack dans l'ordre de l'URL du nom du ticket
message.send(ticket_summary + 'Personne en charge: %s URL:"%s/browse/%s"' %(ticket_assignee, server_ip, ticket))
except Exception as e:
print("Arguments d'exception:", e.args)
message.reply('Échec de la création du ticket, vérifiez la cause%s' %(admin))
#Confirmation des billets prévus pour cette semaine
@respond_to('confirm_current_week_tickets')
def get_current_week_tickets(message):
try:
current_week_tickets = jira.search_issues(jql_confirm_current_week_tickets)
count_current_week_tickets = len(current_week_tickets)
message.reply('Le travail à faire cette semaine%cas s' %(count_current_week_tickets))
for ticket in current_week_tickets:
# fields.Obtenez un résumé avec résumé
ticket_summary = ticket.fields.summary
#Sortie vers slack dans l'ordre de l'URL du nom du ticket
message.send(ticket_summary + ' URL:"%s/browse/%s"' %(server_ip, ticket))
except Exception as e:
print("Arguments d'exception:", e.args)
message.reply('Échec de la création du ticket, vérifiez la cause%s' %(admin))
Vous pouvez obtenir les informations du champ ticket avec etc.
--Il existe une fonction appelée get_current_week_tickets, qui a pour rôle d'afficher les billets avec des dates de livraison dans la semaine. C'est une image de vérification des billets qui seront livrés dans la semaine le lundi matin. JQL peut afficher les tickets du dimanche au lundi suivant en utilisant le début de la semaine
Tout ce qui arrive avec JQL peut être obtenu avec la méthode jira.search_issues (), donc je pense que vous pouvez récupérer divers tickets avec JQL.
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