Tworzenie elementu zaczepienia usługi dla usług Azure DevOps Services i serwera TFS za pomocą rozwiązania Trello
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Tworzenie kart i list w aplikacji Trello w odpowiedzi na zdarzenia z usługi Azure DevOps. Na przykład w przypadku wypychania kodu lub kompilacji.
Uzyskiwanie tokenu autoryzacji trello
Jeśli nie masz konta Trello, zarejestruj się w witrynie Trello.
Przejdź do strony Autoryzowanie usług Azure DevOps Services for Trello i zaloguj się przy użyciu poświadczeń trello.
Zezwól usłudze Azure DevOps na korzystanie z konta Trello.
Skopiuj token autoryzacji.
Utwórz kartę trello lub listę na podstawie zdarzenia usługi Azure DevOps Services.
Przejdź do strony punktów zaczepienia usługi projektu:
https://{orgName}/{project_name}/_settings/serviceHooks
Wybierz pozycję Utwórz subskrypcję.
Wybierz usługę Trello.
Skonfiguruj zdarzenie wyzwalania programu Visual Studio. W takim przypadku subskrypcja będzie odpowiadać po utworzeniu elementu roboczego.
Skonfiguruj akcję, którą aplikacja Trello podejmie w odpowiedzi na wyzwalacz — utwórz kartę lub listę.
Symbole zastępcze umożliwiają wstawianie zawartości ze zdarzenia do nazwy i opisu kart lub list tworzonych przez subskrypcję. Na przykład po uruchomieniu powiadomienia testowego karta, która zostanie utworzona, nosi nazwę "Bug #5: Some great new idea!", ponieważ testowy element roboczy jest usterką (ID=5) z tytułem "Jakiś nowy pomysł!".
Przetestuj subskrypcję punktów zaczepienia usługi i zakończ pracę kreatora.
Teraz jest ona skonfigurowana. Przejdź do witryny Trello i wyświetl karty.
Symbole zastępcze
Symbole zastępcze można wstawić w nazwie listy lub nazwy lub opisu karty, która ma zostać utworzona przez subskrypcję. Po utworzeniu listy lub karty symbole zastępcze zostaną zastąpione wartościami z zgłoszonego zdarzenia. W przykładzie użyto nazwy karty na tej stronie:
{{workitem.workItemType}} #{{workitem.id}}: {{workitem.title}}
Dlatego po utworzeniu usterki o identyfikatorze 5 i tytule "Jakiś nowy pomysł!", nazwa karty to "Usterka nr 5: Jakiś nowy pomysł!".
Podstawową formą symbolu zastępczego jest {{resource.field}}
miejsce, w którym zasób to nazwa zasobu podnoszącego zdarzenie (element roboczy, kompilacja itd.), a pole jest polem w sekcji zasobu zdarzenia, na przykład identyfikatorem.
Dlatego jeśli subskrypcja jest dla ukończonej kompilacji, może to być coś takiego jak
Build {{build.id}} completed at {{build.finishTime}}
Gdzie kompilacja to nazwa zasobu i identyfikatora, finishTime to pola dostępne w tym zasobie. Aby zrozumieć typy zdarzeń, pola i zasoby dostępne do użycia, zapoznaj się z dokumentacją zdarzeń.
Pola elementów roboczych
Pola elementów roboczych są wyświetlane w zdarzeniu w tablicy pól, tak jak w tym przykładzie:
" 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"
},
Pracując bezpośrednio z definicji zdarzenia, utworzylibyśmy nazwę karty w następujący przykład:
{{workitem.fields["System.workItemType"]}} #{{workitem.fields["System.id"]}: {{workitem.fields["System.title"]}}
Skrót umożliwia odwołowanie się do dowolnych pól w przestrzeniach nazw System lub Microsoft.Azure DevOps Services.Common, tak jakby były polami zasobu.
Więc {{workitem.fields["System.workItemType"]}}
staje się {{workitem.workItemType}}
.
Wyrażenia symboli zastępczych
Te symbole zastępcze używają implementacji szablonów pasków obsługi, która jest w dużej mierze zgodna z wąsami. Niektóre przydatne wyrażenia obejmują:
Typ wyrażenia | Przykłady |
---|---|
wyrażenia podstawowe | {{workitem.name}} |
wyrażenia tablicy | {{pullRequest.reviewers.[0].displayName}} |
Sekcje wąsowe | {{#workitem.assignedTo}} To WI jest przypisane {{/workitem.assignedTo}} |
Wąsy odwrócone sekcje | {{^workitem.assignedTo}} To WI nie jest przypisane {{/workitem.assignedTo}} |
Pomocnicy bloków pasków obsługi | with if/else chyba że Każdego |
Ścieżki pasków obsługi | ... this Na przykład {{../comment/id}} lub {{this/title}} |
Komentarze szablonu | {{!-- this is a handlebar comment --}} |
Cennik
Usługa Azure DevOps nie pobiera opłat za strukturę integracji z usługami zewnętrznymi. Zapoznaj się z witryną określonej usługi pod kątem cen związanych z ich usługami.
Pytania i odpowiedzi
Pyt.: Czy mogę programowo tworzyć subskrypcje?
Ach: Tak, zobacz szczegóły tutaj.
Pyt.: Czy mogę uzyskać więcej informacji o trello?
Ach: Tak, trello.com.