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
Om du inte har ett Trello-konto kan du registrera dig på Trello.
Gå till sidan Auktorisera Azure DevOps Services för Trello och logga in med dina Trello-autentiseringsuppgifter.
Tillåt att Azure DevOps använder ditt Trello-konto.
Kopiera auktoriseringstoken.
Skapa ett Trello-kort eller en lista från en Azure DevOps Services-händelse.
Gå till projektets Service Hooks-sida:
https://{orgName}/{project_name}/_settings/serviceHooks
Välj Skapa prenumeration.
Välj Trello-tjänsten.
Konfigurera den utlösande Visual Studio-händelsen. I det här fallet får vi prenumerationen att svara när ett arbetsobjekt skapas.
Konfigurera den åtgärd som Trello ska vidta som svar på utlösaren – skapa antingen ett kort eller en lista.
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é!".
Testa prenumerationen på tjänstkroken och slutför guiden.
Nu har den konfigurerats. Gå till Trello och se korten visas.
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.