Erstellen eines Diensthakens für Azure DevOps Services und TFS mit Trello
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
Erstellen Sie Karten und Listen in Trello als Reaktion auf Ereignisse von Azure DevOps. Beispiel: Wenn 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 "Autorisieren Azure DevOps Services für Trello", und melden Sie sich mit Ihren Trello-Anmeldeinformationen an.
Zulassen, dass Azure DevOps Ihr Trello-Konto verwenden können.
Kopieren Sie das Autorisierungstoken.
Erstellen Sie eine Trello-Karte oder -Liste aus einem Azure DevOps Services Ereignis.
Wechseln Sie zur Seite "Service Hooks":
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 werden wir über die Antwort des Abonnements verfügen, wenn eine Arbeitsaufgabe erstellt wird.
Richten Sie die Aktion ein, die Trello als Reaktion auf den Trigger durchführt – entweder eine Karte oder eine Liste erstellen.
Sie können Platzhalter verwenden, um Inhalte aus dem Ereignis in den Namen und die Beschreibung der Karten oder Listen einzufügen, die das Abonnement erstellt. Wenn wir z. B. die Testbenachrichtigung ausführen, lautet die karte, die erstellt wird, "Bug #5: Einige großartige neue Idee!", da die Testarbeitsaufgabe ein Fehler (ID=5) mit dem Titel "Einige großartige neue Idee!" ist.
Testen Sie das Dienst-Hook-Abonnement, und beenden Sie den Assistenten.
Wechseln Sie zur Seite "Service Hooks":
https://dev.azure.com/{orgName}/{project_name}/_apps/hub/ms.vss-servicehooks-web.manageServiceHooks-project
Klicken Sie auf Abonnement erstellen.
Wählen Sie den Trello-Dienst aus.
Konfigurieren Sie das auslösende Visual Studio Ereignis. In diesem Fall werden wir über die Antwort des Abonnements verfügen, wenn eine Arbeitsaufgabe erstellt wird.
Richten Sie die Aktion ein, die Trello als Reaktion auf den Trigger durchführt – entweder eine Karte oder eine Liste erstellen.
Sie können Platzhalter verwenden, um Inhalte aus dem Ereignis in den Namen und die Beschreibung der Karten oder Listen einzufügen, die das Abonnement erstellt. Wenn wir z. B. die Testbenachrichtigung ausführen, lautet die karte, die erstellt wird, "Bug #5: Einige großartige neue Idee!", da die Testarbeitsaufgabe ein Fehler (ID=5) mit dem Titel "Einige großartige neue Idee!" ist.
Testen Sie das Dienst-Hook-Abonnement, und beenden Sie den Assistenten.
Jetzt ist es eingerichtet. Wechseln Sie zu Trello, und sehen Sie, wie die Karten angezeigt werden.
Platzhalter
Sie können Platzhalter in den Namen einer Liste oder den Namen oder die Beschreibung einer Karte einfügen, die von Ihrem Abonnement erstellt werden soll. 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 Kartennamen auf dieser Seite verwendet haben, verwendet:
{{workitem.workItemType}} #{{workitem.id}}: {{workitem.title}}
Wenn also ein Fehler mit der ID 5 und dem Titel "Einige großartige neue Idee!" erstellt wird, lautet der Kartenname "Bug #5: Some great new idea!".
Die grundlegende Form des Platzhalters ist {{resource.field}}
der Name der Ressource, die das Ereignis auslöst (Arbeitselement, Build usw.) und Feld ist ein Feld innerhalb des Ressourcenabschnitts des Ereignisses, z. B. ID.
Wenn das Abonnement also für einen abgeschlossenen Build ist, kann es etwas wie folgt sein:
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. Informationen zu den ereignistypen, Feldern und Ressourcen, die zur Verwendung zur Verfügung stehen, finden Sie in der Ereignisreferenz.
Arbeitsaufgabenfelder
Arbeitselementfelder werden im Ereignis im Feldarray wie in diesem Beispiel angezeigt:
" 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, würden wir unseren Kartennamen wie in diesem Beispiel erstellt haben:
{{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 verweisen. Azure DevOps Services. Allgemeine Namespaces als wären sie Felder der Ressource.
Aus {{workitem.fields["System.workItemType"]}}
wird also {{workitem.workItemType}}
.
Platzhalterausdrücke
Diese Platzhalter verwenden eine Handlebars-Vorlagenimplementierung , die weitgehend mit Mustache kompatibel ist. Einige nützliche Ausdrücke umfassen
Ausdruckstyp | Beispiele |
---|---|
Grundlegende Ausdrücke | {{workitem.name}} |
Arrayausdrücke | {{pullRequest.reviewers.[0].displayName}} |
Mustache-Abschnitte | {{#workitem.assignedTo}} Diese WI wird zugewiesen. {{/workitem.assignedTo}} |
Invertierte Abschnitte | {{^workitem.assignedTo}} Dieser WI ist nicht zugewiesen. {{/workitem.assignedTo}} |
Handlebars Blockhilfen | durch wenn/sonst Es sei denn Jeder |
Handlebars-Pfade | ... this Beispiel: {{../comment/id}} oder {{this/title}} |
Vorlagenkommentare | {{!-- this is a handlebar comment --}} |
Preise
Azure DevOps berechnet das Framework nicht für die Integration in externe Dienste. Schauen Sie sich die Website des jeweiligen Diensts für preise im Zusammenhang mit ihren Diensten an.
Fragen und Antworten (Q & A)
F: Kann ich Abonnements programmgesteuert erstellen?
A: Ja, details finden Sie hier.
F: Kann ich weitere Informationen zu Trello erhalten?
A: Ja, trello.com.