Share via


Webhooks

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Webhooks maken het mogelijk een JSON (JavaScript Object Notation)-weergave van een gebeurtenis naar elke service te verzenden. U hebt alleen een openbaar eindpunt (HTTP of HTTPS) nodig.

Zie gebeurtenissen voor meer informatie over de JSON-payloads die door deze consument zijn gepost.

Vereisten

Alleen eigenaren van organisaties of projectverzamelingen Beheer istrators kunnen webhooks voor een organisatie beheren.

JSON-weergave verzenden naar een service

  1. Ga naar de pagina Project Service-hooks :

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

    Schermopname van de meest recente versie van de pagina Projectbeheer

    Selecteer Abonnement maken.

  2. Selecteer en configureer de Azure DevOps Services-gebeurtenis:

    Het dialoogvenster Gebeurtenis configureren

  3. Configureer wat u moet doen wanneer de gebeurtenis plaatsvindt:

    Zie de volgende Q &A voor informatie over de resourcegegevens die moeten worden verzonden, berichten die moeten worden verzonden en gedetailleerde berichten voor het verzenden van instellingen.

    Het dialoogvenster Actie configureren

  4. Test het servicehookabonnement en voltooi de wizard:

    Testen

De webhook is nu ingesteld. Ga naar de doelservice om de JSON-weergave weer te geven:

De JSON-weergave weergeven

Prijzen

Azure DevOps brengt geen kosten in rekening voor het framework voor integratie met externe services. Bekijk de site van de specifieke service voor prijzen met betrekking tot hun services.

Vragen en antwoorden

V: Waarvoor zijn de resourcegegevens die moeten worden verzonden, berichten die moeten worden verzonden en gedetailleerde berichten waarvoor u instellingen wilt verzenden?

A: Ze bepalen de grootte van de JSON-nettolading die wordt verzonden.

De resourcegegevens voor het verzenden van instellingen bepalen hoeveel van de resource wordt verzonden. De standaardwaarde is Alles, maar u kunt er ook voor kiezen om minimaal te verzenden (alleen sleutelvelden zoals URL en id) of Geen verzenden.

Geen en Minimaal zijn handig in scenario's waarin de aanroeper niet veel nodig heeft, als er iets gebeurt, over de resource omdat deze afhankelijk is van het bericht of gedetailleerde bericht. Geen en Minimaal zijn ook handig om beveiligingsredenen, bijvoorbeeld de beller moet terugbellen bij Azure DevOps Services en normale beveiligings-/machtigingscontroles doorlopen om meer informatie over de resource te krijgen.

Voorbeeld-JSON:

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

V: Kan ik programmatisch abonnementen maken?

A: Ja, zie hier details.

V: Kan ik webhooks verzenden naar niet-HTTPS-eindpunten?

A: Ja. Het is echter raadzaam om alleen HTTPS-eindpunten voor uw webhooks te gebruiken. Het gebruik van HTTP betekent dat er een potentieel is voor het verzenden van niet-versleutelde privégegevens. Dit omvat eventuele verificatieheaders in uw webhook.

V: Kan ik basisverificatie gebruiken bij het instellen van een webhook die geen HTTPS is?

A: Nee. U moet HTTPS gebruiken bij het gebruik van basisverificatie op een webhook.

V: Kunnen we localhost of speciale bereik-IP's gebruiken als webhookdoelen?

A: Nee. Webhooks kunnen geen localhost -adressen (loopback) of speciale bereik-IPv6-adressen / targeten.