Een servicehook maken voor Azure DevOps Services en TFS met Trello
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Maak kaarten en lijsten in Trello als reactie op gebeurtenissen van Azure DevOps. Bijvoorbeeld wanneer code wordt gepusht of er een build plaatsvindt.
Een Trello-autorisatietoken ophalen
Als u geen Trello-account hebt, meldt u zich aan bij Trello.
Ga naar de pagina Azure DevOps Services autoriseren voor Trello en meld u aan met uw Trello-referenties.
Sta Toe dat Azure DevOps uw Trello-account gebruikt.
Kopieer het autorisatietoken.
Een Trello-kaart of -lijst maken op basis van een Azure DevOps Services-gebeurtenis.
Ga naar de pagina Servicehook van uw project:
https://{orgName}/{project_name}/_settings/serviceHooks
Selecteer Abonnement maken.
Kies de Trello-service.
Configureer de activerende Visual Studio-gebeurtenis. In dit geval laten we het abonnement reageren wanneer er een werkitem wordt gemaakt.
Stel de actie in die Trello uitvoert als reactie op de trigger: maak een kaart of een lijst.
U kunt tijdelijke aanduidingen gebruiken om inhoud van de gebeurtenis in te voegen in de naam en beschrijving van de kaarten of lijsten die door het abonnement worden gemaakt. Wanneer we bijvoorbeeld de testmelding uitvoeren, krijgt de kaart die wordt gemaakt de naam 'Bug #5: Some great new idea!' omdat het testwerkitem een bug is (ID=5) met de titel 'Een geweldig nieuw idee!'.
Test het servicehookabonnement en voltooi de wizard.
Nu is het ingesteld. Ga naar Trello en bekijk de kaarten.
Tijdelijke aanduidingen
U kunt tijdelijke aanduidingen invoegen in de naam van een lijst of de naam of beschrijving van een kaart die door uw abonnement moet worden gemaakt. Wanneer een lijst of kaart wordt gemaakt, worden de tijdelijke aanduidingen vervangen door waarden uit de gebeurtenis die is gegenereerd. In het voorbeeld dat we hebben gebruikt voor de kaartnaam op deze pagina, wordt het volgende gebruikt:
{{workitem.workItemType}} #{{workitem.id}}: {{workitem.title}}
Dus wanneer er een fout wordt gemaakt met de id 5 en de titel 'Een geweldig nieuw idee!', is de kaartnaam 'Bug #5: Een geweldig nieuw idee!'.
De basisvorm van de tijdelijke aanduiding is {{resource.field}}
de plaats waar de resource de naam is van de resource die de gebeurtenis aan het genereren is (werkitem, build, enzovoort) en veld een veld is binnen de resourcesectie van de gebeurtenis, zoals id.
Als het abonnement zich dus voor een voltooide build bevindt, kan het ongeveer hetzelfde zijn als
Build {{build.id}} completed at {{build.finishTime}}
Wanneer build de naam is van de resource en id, zijn finishTime de velden die beschikbaar zijn in deze resource. Bekijk de gebeurtenisreferentie voor meer informatie over de gebeurtenistypen, velden en resources die u kunt gebruiken.
Werkitemvelden
Werkitemvelden worden weergegeven in de gebeurtenis in de veldenmatrix, zoals in dit voorbeeld:
" 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"
},
Als u rechtstreeks vanuit de gebeurtenisdefinitie werkt, hebben we de naam van de kaart gemaakt, zoals in dit voorbeeld:
{{workitem.fields["System.workItemType"]}} #{{workitem.fields["System.id"]}: {{workitem.fields["System.title"]}}
Als snelkoppeling kunt u verwijzen naar velden in het Systeem of Microsoft.Azure DevOps Services.Common-naamruimten alsof het velden van de resource zijn.
{{workitem.fields["System.workItemType"]}}
wordt dan {{workitem.workItemType}}
.
Tijdelijke aanduidingen voor expressies
Deze tijdelijke aanduidingen maken gebruik van een implementatie van handlebars-sjablonen die grotendeels compatibel zijn met Mustache. Enkele nuttige expressies zijn
Type expressie | voorbeelden |
---|---|
basisexpressies | {{workitem.name}} |
matrixexpressies | {{pullRequest.reviewers.[0].displayName}} |
Snorsecties | {{#workitem.assignedTo}} Deze WI is toegewezen {{/workitem.assignedTo}} |
Omgekeerde secties van snor | {{^workitem.assignedTo}} Deze WI is niet toegewezen {{/workitem.assignedTo}} |
Helpers voor blokkeringen van handgrepen | wordt uitgevoerd met if/else unless Elke |
Paden voor handlebars | ... dit/deze Bijvoorbeeld {{../comment/id}} of {{this/title}} |
Sjabloonopmerkingen | {{!-- this is a handlebar comment --}} |
Prijzen
Azure DevOps brengt geen kosten in rekening voor het framework voor integratie met externe services. Bekijk de site van de specifieke service voor prijzen met betrekking tot hun services.
Vragen en antwoorden
V: Kan ik programmatisch abonnementen maken?
A: Ja, zie hier details.
V: Kan ik meer informatie krijgen over Trello?
A: Ja, trello.com.