Elementy webhook

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

W tym artykule opisano elementy webhook i sposób konfigurowania ich dla projektu usługi Azure DevOps. Elementy webhook umożliwiają wysyłanie reprezentacji JSON zdarzenia usługi Azure DevOps do dowolnej usługi, która ma publiczny punkt końcowy.

Uwaga

Usługa Azure DevOps nie pobiera opłat za konfigurowanie punktów zaczepienia usług ani integrowanie z usługami zewnętrznymi. Zapoznaj się z witryną określonej usługi, aby uzyskać informacje o cenach związanych z ich usługami.

Wymagania wstępne

Do zarządzania elementami webhook w organizacji usługi Azure DevOps potrzebne są następujące wymagania wstępne:

  • Rola właściciela lub administratora kolekcji projektów w organizacji.

  • Projekt w organizacji i usługa z publicznym punktem końcowym HTTP lub HTTPS, do którego chcesz wysyłać zdarzenia usługi Azure DevOps.

    Ważne

    Zaleca się używanie tylko punktów końcowych HTTPS. Protokół HTTP może wysyłać dane prywatne, w tym nagłówki uwierzytelniania, niezaszyfrowane w ładunku zdarzenia. Należy użyć protokołu HTTPS do uwierzytelniania podstawowego w obiekcie webhook.

Wysyłanie reprezentacji JSON do usługi

  1. W projekcie usługi Azure DevOps przejdź do pozycji Project settings>Service hooks at .https://<organization-name>/<project-name>/_settings/serviceHooks

    Zrzut ekranu przedstawiający wybór punktów zaczepienia usługi w ustawieniach projektu.

  2. Na stronie Punkty zaczepienia usługi wybierz ikonę + lub Utwórz subskrypcję.

    Zrzut ekranu przedstawiający wybieranie pozycji Utwórz subskrypcję na stronie Punkty zaczepienia usługi.

  3. Na ekranie Usługa wybierz pozycję Web Hooks, a następnie wybierz pozycję Dalej.

    Zrzut ekranu przedstawiający wybieranie elementów Web Hook na stronie Usługa.

  4. Na ekranie Wyzwalacz wybierz i skonfiguruj zdarzenie usługi Azure DevOps, w którym chcesz wyzwolić element webhook, a następnie wybierz przycisk Dalej. Aby uzyskać więcej informacji na temat ładunków JSON opublikowanych przez konsumenta usługi Azure DevOps, zobacz Zdarzenia punktów zaczepienia usługi.

    Zrzut ekranu przedstawiający wybieranie i konfigurowanie zdarzenia wyzwalacza.

  5. Na ekranie Akcja skonfiguruj docelowy adres URL i czynności, które należy zrobić po wystąpieniu zdarzenia. Aby uzyskać więcej informacji o tym, co należy wprowadzić w obszarze Szczegóły zasobu do wysłania, Komunikaty do wysłania i Szczegółowe komunikaty do wysłania, zobacz Szczegóły zasobu do wysłania.

    Uwaga

    Elementy webhook nie mogą kierować adresów localhost (sprzężenia zwrotnego) ani specjalnego zakresu adresów IPv4/IPv6.

  6. Wybierz pozycję Testuj , aby przetestować subskrypcję podpinania usługi.

    Zrzut ekranu przedstawiający konfigurowanie okna dialogowego Akcja.

  7. Po pomyślnym zakończeniu testu zamknij ekran powiadomienia, a następnie wybierz pozycję Zakończ na ekranie Akcja .

    Zrzut ekranu przedstawiający wyniki testów dla subskrypcji elementu service hook

  8. Teraz element webhook jest skonfigurowany. Przejdź do usługi docelowej, aby wyświetlić reprezentację JSON.

    Zrzut ekranu przedstawiający reprezentację JSON.

Napiwek

Można również programowo utworzyć element webhook. Aby uzyskać więcej informacji, zobacz Programowe tworzenie subskrypcji przypinania usługi.

Szczegóły zasobu do wysłania

Szczegóły zasobu do wysyłania, komunikaty do wysyłania i szczegółowe komunikaty do wysyłania ustawień w okienku akcji kontrolują rozmiar ładunku JSON do wysłania. Szczegóły zasobu do wysyłania kontrolek ilości zasobu do wysłania. Wartość domyślna to Wszystko, ale można również wysłać wartość Minimalna, która wysyła tylko pola klucza, takie jak adres URL i identyfikator lub Brak.

Brak i Minimum są przydatne w scenariuszach, w których obiekt wywołujący nie potrzebuje zbyt wiele lub żadnych informacji o zasobie, ponieważ opiera się na komunikacie lub szczegółowym komunikacie. Brak i minimum są również przydatne ze względów bezpieczeństwa. Obiekt wywołujący musi wrócić do usługi Azure DevOps Services i przejść przez normalne kontrole zabezpieczeń i uprawnień, aby uzyskać więcej szczegółów na temat zasobu.

Poniższy przykładowy kod JSON przedstawia minimalne szczegóły dotyczące zasobu:

   {
       "eventType": "git.push",
       ...
       "messages": {
           "text": "...",
           "html": "...",
           "markdown": "..."
       },
       "detailedMessage": {
           "text": "...",
           "html": "...",
           "markdown": "..."
       },
       "resource": {
           "id": "...",
           "url": "https://...",
           "name": "...",
           "field1:": "..."
       }
   }