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

  1. Jeśli nie masz konta Trello, zarejestruj się w witrynie Trello.

  2. Przejdź do strony Autoryzowanie usług Azure DevOps Services for Trello i zaloguj się przy użyciu poświadczeń trello.

  3. Zezwól usłudze Azure DevOps na korzystanie z konta Trello.

    Zezwalaj na usługi Azure DevOps Services

  4. Skopiuj token autoryzacji.

    Token autoryzacji trello

Utwórz kartę trello lub listę na podstawie zdarzenia usługi Azure DevOps Services.

  1. Przejdź do strony punktów zaczepienia usługi projektu:

    https://{orgName}/{project_name}/_settings/serviceHooks

    Strona administracji projektu

    Wybierz pozycję Utwórz subskrypcję.

  2. Wybierz usługę Trello.

    Strona usługi, wybrana aplikacja Trello

  3. Skonfiguruj zdarzenie wyzwalania programu Visual Studio. W takim przypadku subskrypcja będzie odpowiadać po utworzeniu elementu roboczego.

    Strona konfiguracji wyzwalacza

  4. Skonfiguruj akcję, którą aplikacja Trello podejmie w odpowiedzi na wyzwalacz — utwórz kartę lub listę.

    Strona konfiguracji akcji

    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ł!".

  5. Przetestuj subskrypcję punktów zaczepienia usługi i zakończ pracę kreatora.

    Powiadomienie testowe

Teraz jest ona skonfigurowana. Przejdź do witryny Trello i wyświetl karty.

Tablica powitalna z kartą usterki nr 5

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.