Elementy webhook

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

Elementy webhook umożliwiają wysyłanie reprezentacji JSON zdarzenia do dowolnej usługi. Wymagany jest publiczny punkt końcowy (HTTP lub HTTPS).

Aby uzyskać więcej informacji na temat ładunków JSON publikowanych przez tego użytkownika, zobacz zdarzenia.

Wymagania wstępne

Tylko właściciele organizacji lub kolekcja projektów Administracja istratory mogą zarządzać elementami webhook dla organizacji.

Wysyłanie reprezentacji JSON do usługi

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

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

    Zrzut ekranu przedstawiający najnowszą wersję strony administracyjnej projektu

    Wybierz pozycję Utwórz subskrypcję.

  2. Wybierz i skonfiguruj zdarzenie usługi Azure DevOps Services:

    Okno dialogowe Konfigurowanie zdarzenia

  3. Skonfiguruj, co zrobić, gdy wystąpi zdarzenie:

    Zapoznaj się z następującymi pytaniami i odpowiedziami, aby uzyskać informacje na temat szczegółów zasobu do wysyłania, wiadomości do wysłania i szczegółowych komunikatów w celu wysyłania ustawień.

    Okno dialogowe Konfigurowanie akcji

  4. Przetestuj subskrypcję elementu service hook i zakończ pracę kreatora:

    Testowanie

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

Wyświetlanie reprezentacji JSON

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.: Jakie są szczegóły zasobu do wysyłania, wiadomości do wysłania i szczegółowe komunikaty do wysyłania ustawień?

1: Kontrolują rozmiar wysyłanego ładunku JSON.

Szczegóły zasobu do wysyłania określa , ile zasobów jest wysyłanych. Wartość domyślna to Wszystko, ale można również wybrać opcję wysyłania minimalnej (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, jeśli w ogóle, o zasobie, ponieważ polega na komunikacie lub szczegółowym komunikacie. Brak i minimum są również przydatne ze względów bezpieczeństwa, na przykład obiekt wywołujący musi wrócić do usług Azure DevOps Services i przejść przez normalne kontrole zabezpieczeń/uprawnień, aby uzyskać więcej szczegółów na temat zasobu.

Przykładowy kod JSON:

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

Pyt.: Czy mogę programowo tworzyć subskrypcje?

Ach: Tak, zobacz szczegóły tutaj.

Pyt.: Czy mogę wysyłać elementy webhook do punktów końcowych innych niż HTTPS?

Odpowiedź: Tak. Zaleca się jednak używanie tylko punktów końcowych HTTPS dla elementów webhook. Użycie protokołu HTTP oznacza, że istnieje możliwość wysyłania niezaszyfrowanych danych prywatnych. Obejmuje to wszystkie nagłówki uwierzytelniania w elemecie webhook.

Pyt.: Czy mogę użyć uwierzytelniania podstawowego podczas konfigurowania elementu webhook, który nie jest protokołem HTTPS?

Odpowiedź: Nie. Podczas korzystania z uwierzytelniania podstawowego w elementy webhook należy użyć protokołu HTTPS.

Pyt.: Czy możemy użyć adresu URL hosta lokalnego lub specjalnego zakresu jako elementów docelowych elementu webhook?

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