Erstellen eines Diensthakens für Azure DevOps Services und TFS mit Trello
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Erstellen Sie Karte und Listen in Trello als Reaktion auf Ereignisse von Azure DevOps. Wenn z. B. Code pusht oder ein Build auftritt.
Abrufen eines Trello-Autorisierungstokens
Wenn Sie kein Trello-Konto haben, melden Sie sich bei Trello an.
Wechseln Sie zur Seite "Azure DevOps Services für Trello autorisieren", und melden Sie sich mit Ihren Trello-Anmeldeinformationen an.
Erlauben Sie Azure DevOps, Ihr Trello-Konto zu verwenden.
Kopieren Sie das Autorisierungstoken.
Erstellen Sie ein Trello-Karte oder eine Liste aus einem Azure DevOps Services-Ereignis.
Wechseln Sie zur Seite Service Hooks ihres Projekts:
https://{orgName}/{project_name}/_settings/serviceHooks
Klicken Sie auf Abonnement erstellen.
Wählen Sie den Trello-Dienst aus.
Konfigurieren Sie das auslösende Visual Studio-Ereignis. In diesem Fall wird das Abonnement reagieren, wenn eine Arbeitsaufgabe erstellt wird.
Richten Sie die Aktion ein, die Trello als Reaktion auf den Trigger ausführen wird – entweder eine Karte oder eine Liste erstellen.
Sie können Platzhalter verwenden, um Inhalte aus dem Ereignis in den Namen und die Beschreibung der von dem Abonnement erstellten Karte s oder Listen einzufügen. Wenn wir beispielsweise die Testbenachrichtigung ausführen, heißt die Karte, die erstellt wird, "Bug #5: Some great new idea!", da die Testarbeitsaufgabe ein Fehler (ID=5) mit dem Titel "Some great new idea!" ist.
Testen Sie das Diensthakenabonnement, und schließen Sie den Assistenten ab.
Jetzt ist es eingerichtet. Wechseln Sie zu Trello, und sehen Sie, wie die Karte angezeigt werden.
Platzhalter
Sie können Platzhalter in den Namen einer Liste oder den Namen oder die Beschreibung eines Karte einfügen, die von Ihrem Abonnement erstellt werden sollen. Wenn eine Liste oder Karte erstellt wird, werden die Platzhalter durch Werte aus dem ausgelösten Ereignis ersetzt. Das Beispiel, das wir für den Karte Namen auf dieser Seite verwendet haben, verwendet:
{{workitem.workItemType}} #{{workitem.id}}: {{workitem.title}}
Wenn also ein Fehler mit der ID 5 und dem Titel "Einige tolle neue Idee!" erstellt wird, lautet der Karte Name "Bug #5: Some great new idea!".
Die grundlegende Form des Platzhalters ist {{resource.field}}
der Ort, an dem Ressource der Name der Ressource ist, die das Ereignis auslöst (Arbeitsaufgabe, Build usw.) und Feld ein Feld innerhalb des Ressourcenabschnitts des Ereignisses, z. B. ID.
Wenn das Abonnement also für einen abgeschlossenen Build vorgesehen ist, kann es sich um etwas wie
Build {{build.id}} completed at {{build.finishTime}}
Wenn Build der Name der Ressource und der ID ist, sind finishTime die Felder, die in dieser Ressource verfügbar sind. Wenn Sie die ereignistypen, Felder und Ressourcen verstehen möchten, die sie verwenden können, schauen Sie sich die Ereignisreferenz an.
Arbeitsaufgabenfelder
Arbeitselementfelder werden im Ereignis im Feldarray angezeigt, wie in diesem Beispiel:
" 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"
},
Direkt aus der Ereignisdefinition arbeiten, hätten wir wie in diesem Beispiel unseren Karte Namen erstellt:
{{workitem.fields["System.workItemType"]}} #{{workitem.fields["System.id"]}: {{workitem.fields["System.title"]}}
Als Verknüpfung können Sie auf alle Felder im System- oder Microsoft.Azure DevOps Services.Common-Namespace verweisen, als wären sie Felder der Ressource.
Aus {{workitem.fields["System.workItemType"]}}
wird also {{workitem.workItemType}}
.
Platzhalterausdrücke
Diese Platzhalter verwenden eine Implementierung von Handlebars-Vorlagen , die weitgehend mit Mustache kompatibel ist. Einige nützliche Ausdrücke umfassen
Ausdruckstyp | examples |
---|---|
Grundlegende Ausdrücke | {{workitem.name}} |
Arrayausdrücke | {{pullRequest.reviewers.[0].displayName}} |
Schnurrabschnitte | {{#workitem.assignedTo}} Diese WI ist zugewiesen. {{/workitem.assignedTo}} |
Invertierte Abschnitte von Mustache | {{^workitem.assignedTo}} Diese WI ist nicht zugewiesen. {{/workitem.assignedTo}} |
Handlebars-Blockhilfsprogramme | durch if/else unless überprüft |
Handlebars-Pfade | ... this Beispiel: {{../comment/id}} oder {{this/title}} |
Vorlagenkommentare | {{!-- this is a handlebar comment --}} |
Preisberechnung
Azure DevOps berechnet für das Framework keine Kosten für die Integration in externe Dienste. Auf der Website des jeweiligen Diensts finden Sie preise im Zusammenhang mit ihren Diensten.
Fragen und Antworten
F: Kann ich programmgesteuert Abonnements erstellen?
A: Ja, details finden Sie hier.
F: Kann ich weitere Informationen zu Trello erhalten?
A: Ja, trello.com.