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.

Voorwaarden

Categorie Eisen
Machtigingen - Lid van de groep Beheerders van projectverzamelingen. Eigenaren van organisaties zijn automatisch lid van deze groep.
- Abonnementen bewerken en Abonnementen weergeven machtigingen ingesteld op Toestaan van. Standaard hebben alleen projectbeheerders deze machtigingen. Als u de machtigingen wilt verlenen aan andere gebruikers, kunt u het opdrachtregelprogramma of de Security REST API gebruiken.
Gereedschappen Trello

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 Trelloen 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 Maak abonnement.

  2. Kies de Trello-service.

    Servicepagina, Trello heeft geselecteerd

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

    pagina Triggerconfiguratie

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

    actieconfiguratiepagina

    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 abonnement op de servicehook en voltooi de wizard.

    testmelding

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

Welkomstbord met een kaart voor Bug #5

Plaatsaanduidingen

U kunt tijdelijke aanduidingen invoegen in de naam van een lijst of in de naam of beschrijving van een kaart die door uw abonnement wordt 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}}, waarbij de resource de naam is van de resource die de gebeurtenis (werkitem, build, enzovoort) veroorzaakt, en het veld een veld is binnen de resourcesectie van de gebeurtenis, zoals ID. Als het abonnement voor een voltooide build is, kan het iets als volgt zijn

    Build {{build.id}} completed at {{build.finishTime}}

Waar "build" de naam van de resource is, en "ID" en "finishTime" de velden zijn die in deze resource beschikbaar zijn. Als u meer wilt weten over de gebeurtenistypen, velden en resources die beschikbaar zijn voor gebruik, bekijkt u de gebeurtenissen waarnaar wordt verwezen.

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. Dus {{workitem.fields["System.workItemType"]}} wordt {{workitem.workItemType}}.

Plaatsaanduidingen voor uitdrukkingen

Deze tijdelijke aanduidingen maken gebruik van een handlebars-sjablonen implementatie die grotendeels compatibel is met Mustache. Enkele nuttige uitdrukkingen zijn

Soort van expressie Voorbeelden
basisuitdrukkingen {{workitem.name}}
array-expressies {{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 met
if/else
tenzij
elk
Paden voor handlebars ...
dit
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.

Q & A

V: Kan ik programmatisch abonnementen maken?

A: Ja, zie hier details .

V: Kan ik meer informatie krijgen over Trello?

A: Ja, trello.com.