Delen via


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

  1. Als u geen Trello-account hebt, meldt u zich aan bij Trello.

  2. Ga naar de pagina Azure DevOps Services autoriseren voor Trello en meld u aan met uw Trello-referenties.

  3. Sta Toe dat Azure DevOps uw Trello-account gebruikt.

    Azure DevOps Services toestaan

  4. Kopieer het autorisatietoken.

    Trello-autorisatietoken

Een Trello-kaart of -lijst maken op basis van een Azure DevOps Services-gebeurtenis.

  1. Ga naar de pagina Servicehook van uw project:

    https://{orgName}/{project_name}/_settings/serviceHooks

    Pagina Projectbeheer

    Selecteer Abonnement maken.

  2. Kies de Trello-service.

    Servicepagina, Trello geselecteerd

  3. Configureer de activerende Visual Studio-gebeurtenis. In dit geval laten we het abonnement reageren wanneer er een werkitem wordt gemaakt.

    Pagina Triggerconfiguratie

  4. Stel de actie in die Trello uitvoert als reactie op de trigger: maak een kaart of een lijst.

    Pagina actieconfiguratie

    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!'.

  5. Test het servicehookabonnement en voltooi de wizard.

    Testmelding

Nu is het ingesteld. Ga naar Trello en bekijk de kaarten.

Welkomstbord met een kaart voor Bug #5

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.