Udostępnij za pośrednictwem


Utwórz zaczep usługi dla Azure DevOps Services i TFS z 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, kiedy kod jest publikowany lub następuje kompilacja.

Warunki wstępne

Kategoria Wymagania
uprawnienia - Członek grupy Administratorów Kolekcji Projektu . Właściciele organizacji są automatycznie członkami tej grupy.
- Edytuj subskrypcje i Wyświetl subskrypcje uprawnienia ustawione na Zezwalaj na. Domyślnie tylko administratorzy projektów mają te uprawnienia. Aby udzielić uprawnień innym użytkownikom, możesz użyć narzędzia wiersza polecenia lub interfejsu API REST Security.
Narzędzia Trello

Uzyskiwanie tokenu autoryzacji trello

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

  2. Przejdź do strony Autoryzuj usługi Azure DevOps Services for Trelloi 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

  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 integracji usług projektu:

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

    Wybierz Utwórz subskrypcję.

  2. Wybierz usługę Trello.

    Strona usługi , wybrano Trello

  3. Skonfiguruj zdarzenie wyzwalania programu Visual Studio. W tym przypadku subskrypcja będzie reagować, gdy zostanie utworzony element roboczy.

    strona konfiguracji wyzwalacza

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

    strona konfiguracji akcji

    Można używać symboli zastępczych do wstawiania zawartości z wydarzenia 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ą dla błędu nr 5

Symbole zastępcze

Symbole zastępcze można wstawić w nazwie listy lub w nazwie albo opisie karty, która ma zostać stworzona przez subskrypcję. Po utworzeniu listy lub karty symbole zastępcze zostaną zastąpione wartościami z zgłoszonego zdarzenia. Przykład, którego użyliśmy na tej stronie, wykorzystuje nazwę karty:

    {{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}}, gdzie zasób to nazwa zasobu generującego zdarzenie (element roboczy, kompilacja itd.), a pole to pole w sekcji zasobu w ramach zdarzenia, na przykład identyfikator. Dlatego jeśli subskrypcja jest dla ukończonej kompilacji, może to być coś takiego jak

    Build {{build.id}} completed at {{build.finishTime}}

Gdzie build jest nazwą zasobu oraz identyfikatorem, a finishTime to pola dostępne w tym zasobie. Aby zrozumieć typy zdarzeń, pola i zasoby dostępne do użycia, odwołaj się do odniesienia dotyczącego zdarzeń .

Pola elementów roboczych

Pola zadań pojawiają się w zdarzeniu w tablicy pól, 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 na podstawie definicji zdarzenia, utworzylibyśmy nazwę karty, jak w tym przykładzie.

    {{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. Dlatego {{workitem.fields["System.workItemType"]}} staje się {{workitem.workItemType}}.

Wyrażenia symboli zastępczych

Te symbole zastępcze używają implementacji szablonów Handlebars , która jest w dużej mierze zgodna z Mustache . Niektóre przydatne wyrażenia obejmują:

Typ wyrażenia Przykłady
wyrażenia podstawowe {{workitem.name}}
wyrażenia tablicowe {{pullRequest.reviewers.[0].displayName}}
Sekcje wąsowe {{#workitem.assignedTo}} To WI jest przypisane {{/workitem.assignedTo}}
Sekcje odwrócone w szablonach "Mustache" {{^workitem.assignedTo}} Ten WI nie jest przypisany {{/workitem.assignedTo}}
Pomocnicy bloków w Handlebars z
if/else
chyba że
każdy
Ścieżki Handlebars ...
ten
Na przykład {{../comment/id}} lub {{this/title}}
Komentarze szablonu {{!-- this is a handlebar comment --}}

Ceny

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.

Q & A

.: Czy mogę programowo tworzyć subskrypcje?

1: Tak, zobacz szczegóły tutaj.

.: Czy mogę uzyskać więcej informacji o trello?

1: Tak, trello.com.