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 pushas eller en version inträffar.

Hämta en Trello-auktoriseringstoken

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

  2. Gå till sidan Auktorisera Azure DevOps Services för Trello och 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

    Sidan Projektadministration

    Välj Skapa prenumeration.

  2. Välj Trello-tjänsten.

    Tjänstsida, Trello vald

  3. Konfigurera den utlösande Visual Studio-händelsen. I det här fallet får vi 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.

    Sidan Åtgärdskonfiguration

    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 prenumerationen på tjänstkroken och slutför guiden.

    Testmeddelande

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

Välkomstkort med ett kort för Bugg #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!".

Den grundläggande formen av platshållaren ä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 för 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:t är finishTime fälten 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å händelsereferensen.

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. {{workitem.fields["System.workItemType"]}} blir då {{workitem.workItemType}}.

Platshållaruttryck

Dessa platshållare använder en implementering av styrmallar som till stor del är kompatibel med Mustache. Några användbara uttryck är

Typ av uttryck exempel
grundläggande uttryck {{workitem.name}}
matrisuttryck {{pullRequest.reviewers.[0].displayName}}
Mustaschavsnitt {{#workitem.assignedTo}} Det här WI-programmet har tilldelats {{/workitem.assignedTo}}
Mustasch inverterade avsnitt {{^workitem.assignedTo}} Det här wi-programmet har inte tilldelats {{/workitem.assignedTo}}
Hjälpverktyg för styrblock med
if/else
såvida inte
Varje
Sökvägar för styren ...
denna
Till exempel {{../comment/id}} eller {{this/title}}
Mallkommentar {{!-- 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.

Frågor och svar

F: Kan jag programmatiskt skapa prenumerationer?

S: Ja, se information här.

F: Kan jag få mer information om Trello?

S: Ja, trello.com.