Skapa en tjänstkrok för Azure DevOps Services och TFS med Trello

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Skapa kort och listor i Trello som svar på händelser från Azure DevOps. Till exempel när kod laddas upp eller en build inträffar.

Förutsättningar

Kategori Krav
behörigheter – Medlem i gruppen Projektsamlingsadministratörer. Organisationsägare är automatiskt medlemmar i den här gruppen.
- Redigera prenumerationer och Visa prenumerationer behörigheter inställda på Tillåt. Som standard har endast projektadministratörer dessa behörigheter. Om du vill bevilja behörigheter till andra användare kan du använda kommandoradsverktyget eller Security REST API.
Verktyg Trello

Hämta en Trello-auktoriseringstoken

  1. Om du inte har ett Trello-konto registrerar du dig på Trello.

  2. Gå till sidan Auktorisera Azure DevOps Services för Trellooch logga in med dina Trello-autentiseringsuppgifter.

  3. Tillåt att Azure DevOps använder ditt Trello-konto.

    Tillåt Azure DevOps Services-

  4. Kopiera auktoriseringstoken.

    Trello-auktoriseringstoken

Skapa ett Trello-kort eller en lista från en Azure DevOps Services-händelse.

  1. Gå till projektets Service Hooks-sida:

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

    Projektadministrationssida

    Välj Skapa prenumeration.

  2. Välj Trello-tjänsten.

    Tjänstsida, Trello vald

  3. Konfigurera den händelse i Visual Studio som utlöser. I det här fallet kommer prenumerationen att svara när ett arbetsobjekt skapas.

    Konfigurationssida för utlösare

  4. Konfigurera den åtgärd som Trello ska vidta som svar på utlösaren – skapa antingen ett kort eller en lista.

    konfigurationssidan för åtgärd

    Du kan använda platshållare för att infoga innehåll från händelsen i namnet och beskrivningen av korten eller listor som prenumerationen skapar. När vi till exempel kör testmeddelandet får kortet som skapas namnet "Bugg #5: En bra ny idé!" eftersom testarbetsobjektet är en bugg (ID=5) med rubriken "En bra ny idé!".

  5. Testa service hook-prenumerationen och avsluta guiden.

    Testmeddelande

Nu har den konfigurerats. Gå till Trello och se korten dyka upp.

välkomsttavla med ett kort för Bug #5

Platshållare

Du kan infoga platshållare i namnet på en lista eller namnet eller beskrivningen av ett kort som ska skapas av din prenumeration. När en lista eller ett kort skapas ersätts platshållarna av värden från händelsen som skapades. Exemplet som vi använde för kortnamnet på den här sidan använder:

    {{workitem.workItemType}} #{{workitem.id}}: {{workitem.title}}

Så när en bugg skapas med ID 5 och titeln "Some great new idea!", är kortnamnet "Bug #5: Some great new idea!".

Platshållarens grundläggande form är {{resource.field}} där resursen är namnet på resursen som lyfter händelsen (arbetsobjekt, bygge och så vidare) och fältet är ett fält i resursavsnittet i händelsen, till exempel ID. Så om prenumerationen är för en färdig version kan det vara ungefär som

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

Där build är namnet på resursen och ID, finishTime är fält som är tillgängliga i den här resursen. Om du vill förstå vilka händelsetyper, fält och resurser som är tillgängliga att använda kan du titta på referensen händelser.

Fält för arbetsobjekt

Fält för arbetsobjekt visas i händelsen i fältmatrisen, som i det här exemplet:

    " 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"
           },

När vi arbetade direkt från händelsedefinitionen skulle vi ha skapat vårt kortnamn som det här exemplet:

    {{workitem.fields["System.workItemType"]}} #{{workitem.fields["System.id"]}: {{workitem.fields["System.title"]}}

Som en genväg kan du referera till alla fält i System eller Microsoft.Azure DevOps Services.Common-namnområden som om de vore fält för resursen. Så {{workitem.fields["System.workItemType"]}} blir {{workitem.workItemType}}.

Platshållaruttryck

De här platshållarna använder en Handlebars-mallar-implementering som till stor del är kompatibel med Mustache. Några användbara uttryck är

Typ av uttryck Exempel
grundläggande uttryck {{workitem.name}}
fältuttryck {{pullRequest.reviewers.[0].displayName}}
Mustaschsektioner {{#workitem.assignedTo}} Det här WI-programmet har tilldelats {{/workitem.assignedTo}}
Mustache inverterade sektioner {{^workitem.assignedTo}} Detta WI är inte tilldelat {{/workitem.assignedTo}}
Hjälpverktyg för styrblock med
if/else
om inte
varje
Sökvägar för Handlebars ...
Detta
Till exempel {{../comment/id}} eller {{this/title}}
Mallkommentarer {{!-- this is a handlebar comment --}}

Prissättning

Azure DevOps debiterar inte för ramverket för integrering med externa tjänster. Kolla in den specifika tjänstens webbplats för priser relaterade till deras tjänster.

Q & A

F: Kan jag programmatiskt skapa prenumerationer?

S: Ja, se detaljer här.

F: Kan jag få mer information om Trello?

S: Ja, trello.com.