Créer un hook de service pour Azure DevOps Services et TFS avec Trello
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Créez des carte et des listes dans Trello en réponse aux événements d’Azure DevOps. Par exemple, lorsque le code est envoyé (push) ou qu’une build se produit.
Obtenir un jeton d’autorisation Trello
Si vous n’avez pas de compte Trello, inscrivez-vous à Trello.
Accédez à la page Autoriser Azure DevOps Services pour Trello et connectez-vous avec vos informations d’identification Trello.
Autoriser Azure DevOps à utiliser votre compte Trello.
Copiez le jeton d’autorisation.
Créez un carte ou une liste Trello à partir d’un événement Azure DevOps Services.
Accédez à la page Hooks de service de votre projet :
https://{orgName}/{project_name}/_settings/serviceHooks
Sélectionnez Créer l'abonnement.
Choisissez le service Trello.
Configurez l’événement Visual Studio déclencheur. Dans ce cas, nous allons avoir l’abonnement à répondre lorsqu’un élément de travail est créé.
Configurez l’action que Trello prendra en réponse au déclencheur : créez une carte ou une liste.
Vous pouvez utiliser des espaces réservés pour insérer du contenu à partir de l’événement dans le nom et la description des carte ou des listes créées par l’abonnement. Par exemple, lorsque nous exécutons la notification de test, la carte créée est nommée « Bogue #5 : Une nouvelle idée intéressante ! », car l’élément de travail de test est un bogue (ID=5) avec le titre « Une idée nouvelle ! ».
Testez l’abonnement de hook de service et terminez l’Assistant.
Maintenant, il est configuré. Accédez à Trello et voyez les carte s apparaître.
Espaces réservés
Vous pouvez insérer des espaces réservés dans le nom d’une liste ou le nom ou la description d’une carte à créer par votre abonnement. Lorsqu’une liste ou carte est créée, les espaces réservés sont remplacés par des valeurs de l’événement déclenché. L’exemple que nous avons utilisé pour le nom de carte dans cette page utilise :
{{workitem.workItemType}} #{{workitem.id}}: {{workitem.title}}
Ainsi, lorsqu’un bogue est créé avec l’ID 5 et le titre « Une bonne idée ! », le nom carte est « Bug #5 : Some great new idea ! ».
La forme de base de l’espace réservé est {{resource.field}}
l’emplacement où la ressource est le nom de la ressource qui déclenche l’événement (élément de travail, build, et ainsi de suite) et le champ est un champ dans la section ressource de l’événement, comme ID.
Par conséquent, si l’abonnement concerne une build terminée, il peut s’agir de quelque chose comme
Build {{build.id}} completed at {{build.finishTime}}
Où la build est le nom de la ressource et de l’ID, finishTime est les champs disponibles dans cette ressource. Pour comprendre les types d’événements, les champs et les ressources disponibles à utiliser, examinez la référence des événements.
Champs d’éléments de travail
Les champs d’élément de travail apparaissent dans l’événement dans le tableau de champs, comme cet exemple :
" fields": {
" System.AreaPath": "Fabrikam-Fiber-Git",
" System.TeamProject": "Fabrikam-Fiber-Git",
" System.IterationPath": "Fabrikam-Fiber-Git",
" System.WorkItemType": "Product Backlog Item",
" System.State": "New",
" System.Reason": "New backlog item",
" System.CreatedDate": "2014-11-05T21:11:28.85Z",
" System.CreatedBy": "Normal Paulk",
" System.ChangedDate": "2014-11-05T21:11:29.23Z",
" System.ChangedBy": "Normal Paulk",
" System.Title": "Test PBI",
" Microsoft.Azure DevOps Services.Common.BacklogPriority": 999999999,
" WEF_6CB513B6E70E43499D9FC94E5BBFB784_Kanban.Column": "New"
},
En travaillant directement à partir de la définition d’événement, nous aurions créé notre nom carte comme dans cet exemple :
{{workitem.fields["System.workItemType"]}} #{{workitem.fields["System.id"]}: {{workitem.fields["System.title"]}}
En guise de raccourci, vous pouvez référencer tous les champs dans les espaces de noms System ou Microsoft.Azure DevOps Services.Common comme s’ils étaient des champs de la ressource.
{{workitem.fields["System.workItemType"]}}
devient donc {{workitem.workItemType}}
.
Expressions d’espace réservé
Ces espaces réservés utilisent une implémentation de modèles handlebars qui est largement compatible avec Mustache. Certaines expressions utiles incluent
Type d’expression | exemples |
---|---|
expressions de base | {{workitem.name}} |
expressions de tableau | {{pullRequest.reviewers.[0].displayName}} |
Sections de moustache | {{#workitem.assignedTo}} Ce wi-fi est affecté {{/workitem.assignedTo}} |
Sections inversées de Moustache | {{^workitem.assignedTo}} Ce wi-fi n’est pas affecté {{/workitem.assignedTo}} |
Helpers de blocs handlebars | par if/else unless chaque |
Chemins de handlebars | ... this Par exemple, {{../comment/id}} ou {{this/title}} . |
Commentaires de modèle | {{!-- this is a handlebar comment --}} |
Tarification
Azure DevOps ne facture pas l’intégration de l’infrastructure à des services externes. Consultez le site du service spécifique pour connaître les tarifs liés à ses services.
Questions et réponses
Q : Puis-je créer des abonnements par programmation ?
R : Oui, voir les détails ici.
Q : Puis-je obtenir plus d’informations sur Trello ?
R : Oui, trello.com.