Azure Container Registry webhook-verwijzing

U kunt webhooks configureren voor uw containerregister die gebeurtenissen genereren wanneer bepaalde acties op het register worden uitgevoerd. Schakel bijvoorbeeld webhooks in die worden geactiveerd wanneer een containerinstallatiekopieën of Helm-grafiek naar een register worden gepusht of verwijderd. Wanneer een webhook wordt geactiveerd, verzendt Azure Container Registry een HTTP- of HTTPS-aanvraag met informatie over de gebeurtenis naar een eindpunt dat u opgeeft. Uw eindpunt kan vervolgens de webhook verwerken en dienovereenkomstig handelen.

In de volgende secties wordt het schema van webhookaanvragen beschreven die worden gegenereerd door ondersteunde gebeurtenissen. De gebeurtenissecties bevatten het nettoladingschema voor het gebeurtenistype, een voorbeeld van een nettolading voor aanvragen en een of meer voorbeeldopdrachten waarmee de webhook wordt geactiveerd.

Zie Using Azure Container Registry webhooks (Webhooks gebruiken) voor meer informatie over het configureren van webhooks voor uw Azure-containerregister.

Webhook-aanvragen

HTTP-aanvraag

Een geactiveerde webhook doet een HTTP-aanvraag POST naar het URL-eindpunt dat u hebt opgegeven bij het configureren van de webhook.

HTTP-headers

Webhookaanvragen bevatten een Content-Type van application/json als u geen aangepaste header voor uw webhook hebt opgegeven Content-Type .

Er worden geen andere headers toegevoegd aan de aanvraag buiten de aangepaste headers die u mogelijk hebt opgegeven voor de webhook.

Pushgebeurtenis

Webhook wordt geactiveerd wanneer een containerinstallatiekopieën naar een opslagplaats worden gepusht.

Nettolading van pushgebeurtenis

Element Type Beschrijving
id Tekenreeks De id van de webhook-gebeurtenis.
timestamp DateTime Het tijdstip waarop de webhookgebeurtenis is geactiveerd.
action Tekenreeks De actie die de webhookgebeurtenis heeft geactiveerd.
Doel Complex Type Het doel van de gebeurtenis die de webhookgebeurtenis heeft geactiveerd.
Verzoek Complex Type De aanvraag die de webhook-gebeurtenis heeft gegenereerd.

Doel

Element Type Beschrijving
mediaType Tekenreeks Het MIME-type van het object waarnaar wordt verwezen.
size Int32 Het aantal bytes van de inhoud. Hetzelfde als het veld Lengte.
digest Tekenreeks De samenvatting van de inhoud, zoals gedefinieerd door de HTTP API-specificatie van register V2.
length Int32 Het aantal bytes van de inhoud. Hetzelfde als het veld Grootte.
repository Tekenreeks De naam van de opslagplaats.
tag Tekenreeks De tagnaam van de installatiekopieën.

Verzoek

Element Type Beschrijving
id Tekenreeks De id van de aanvraag die de gebeurtenis heeft geïnitieerd.
host Tekenreeks De extern toegankelijke hostnaam van het registerexemplaar, zoals opgegeven door de HTTP-hostheader voor binnenkomende aanvragen.
method Tekenreeks De aanvraagmethode die de gebeurtenis heeft gegenereerd.
useragent Tekenreeks De header van de gebruikersagent van de aanvraag.

Voorbeeld van nettolading: afbeeldingspushgebeurtenis

{
  "id": "cb8c3971-9adc-488b-xxxx-43cbb4974ff5",
  "timestamp": "2017-11-17T16:52:01.343145347Z",
  "action": "push",
  "target": {
    "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
    "size": 524,
    "digest": "sha256:xxxxd5c8786bb9e621a45ece0dbxxxx1cdc624ad20da9fe62e9d25490f33xxxx",
    "length": 524,
    "repository": "hello-world",
    "tag": "v1"
  },
  "request": {
    "id": "3cbb6949-7549-4fa1-xxxx-a6d5451dffc7",
    "host": "myregistry.azurecr.io",
    "method": "PUT",
    "useragent": "docker/17.09.0-ce go/go1.8.3 git-commit/afdb6d4 kernel/4.10.0-27-generic os/linux arch/amd64 UpstreamClient(Docker-Client/17.09.0-ce \\(linux\\))"
  }
}

Voorbeeld van een Docker CLI-opdracht waarmee de webhook voor het pushen van de installatiekopieën wordt geactiveerd:

docker push myregistry.azurecr.io/hello-world:v1

Grafiekpushgebeurtenis

Webhook wordt geactiveerd wanneer een Helm-grafiek naar een opslagplaats wordt gepusht.

Nettolading van pushgebeurtenis in grafiek

Element Type Beschrijving
id Tekenreeks De id van de webhook-gebeurtenis.
timestamp DateTime Het tijdstip waarop de webhookgebeurtenis is geactiveerd.
action Tekenreeks De actie die de webhookgebeurtenis heeft geactiveerd.
Doel Complex Type Het doel van de gebeurtenis die de webhookgebeurtenis heeft geactiveerd.

Doel

Element Type Beschrijving
mediaType Tekenreeks Het MIME-type van het object waarnaar wordt verwezen.
size Int32 Het aantal bytes van de inhoud.
digest Tekenreeks De samenvatting van de inhoud, zoals gedefinieerd door de HTTP API-specificatie van register V2.
repository Tekenreeks De naam van de opslagplaats.
tag Tekenreeks De naam van de grafiektag.
name Tekenreeks De grafieknaam.
version Tekenreeks De grafiekversie.

Voorbeeld van nettolading: grafiekpushgebeurtenis

{
  "id": "6356e9e0-627f-4fed-xxxx-d9059b5143ac",
  "timestamp": "2019-03-05T23:45:31.2614267Z",
  "action": "chart_push",
  "target": {
    "mediaType": "application/vnd.acr.helm.chart",
    "size": 25265,
    "digest": "sha256:xxxx8075264b5ba7c14c23672xxxx52ae6a3ebac1c47916e4efe19cd624dxxxx",
    "repository": "repo",
    "tag": "wordpress-5.4.0.tgz",
    "name": "wordpress",
    "version": "5.4.0.tgz"
  }
}

Voorbeeld van Een Azure CLI-opdracht waarmee de webhook voor chart_push gebeurtenis wordt geactiveerd:

az acr helm push wordpress-5.4.0.tgz --name MyRegistry

Gebeurtenis verwijderen

Webhook wordt geactiveerd wanneer een opslagplaats of manifest voor installatiekopieën wordt verwijderd. Niet geactiveerd wanneer een tag wordt verwijderd.

Nettolading van gebeurtenis verwijderen

Element Type Beschrijving
id Tekenreeks De id van de webhook-gebeurtenis.
timestamp DateTime Het tijdstip waarop de webhookgebeurtenis is geactiveerd.
action Tekenreeks De actie die de webhookgebeurtenis heeft geactiveerd.
Doel Complex Type Het doel van de gebeurtenis die de webhookgebeurtenis heeft geactiveerd.
Verzoek Complex Type De aanvraag die de webhook-gebeurtenis heeft gegenereerd.

Doel

Element Type Beschrijving
mediaType Tekenreeks Het MIME-type van het object waarnaar wordt verwezen.
digest Tekenreeks De samenvatting van de inhoud, zoals gedefinieerd door de HTTP API-specificatie van register V2.
repository Tekenreeks De naam van de opslagplaats.

Verzoek

Element Type Beschrijving
id Tekenreeks De id van de aanvraag die de gebeurtenis heeft geïnitieerd.
host Tekenreeks De extern toegankelijke hostnaam van het registerexemplaar, zoals opgegeven door de HTTP-hostheader voor binnenkomende aanvragen.
method Tekenreeks De aanvraagmethode die de gebeurtenis heeft gegenereerd.
useragent Tekenreeks De header van de gebruikersagent van de aanvraag.

Voorbeeld van nettolading: gebeurtenis voor het verwijderen van installatiekopieën

{
    "id": "afc359ce-df7f-4e32-xxxx-1ff8aa80927b",
    "timestamp": "2017-11-17T16:54:53.657764628Z",
    "action": "delete",
    "target": {
      "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
      "digest": "sha256:xxxxd5c8786bb9e621a45ece0dbxxxx1cdc624ad20da9fe62e9d25490f33xxxx",
      "repository": "hello-world"
    },
    "request": {
      "id": "3d78b540-ab61-4f75-xxxx-7ca9ecf559b3",
      "host": "myregistry.azurecr.io",
      "method": "DELETE",
      "useragent": "python-requests/2.18.4"
    }
  }

Voorbeelden van Azure CLI-opdrachten waarmee een webhook voor het verwijderen van gebeurtenissen wordt geactiveerd:

# Delete repository
az acr repository delete --name MyRegistry --repository MyRepository

# Delete image
az acr repository delete --name MyRegistry --image MyRepository:MyTag

Grafiek verwijderen gebeurtenis

Webhook wordt geactiveerd wanneer een Helm-grafiek of -opslagplaats wordt verwijderd.

Nettolading van grafiek verwijderen

Element Type Beschrijving
id Tekenreeks De id van de webhook-gebeurtenis.
timestamp DateTime Het tijdstip waarop de webhookgebeurtenis is geactiveerd.
action Tekenreeks De actie die de webhookgebeurtenis heeft geactiveerd.
Doel Complex Type Het doel van de gebeurtenis die de webhookgebeurtenis heeft geactiveerd.

Doel

Element Type Beschrijving
mediaType Tekenreeks Het MIME-type van het object waarnaar wordt verwezen.
size Int32 Het aantal bytes van de inhoud.
digest Tekenreeks De samenvatting van de inhoud, zoals gedefinieerd door de HTTP API-specificatie van register V2.
repository Tekenreeks De naam van de opslagplaats.
tag Tekenreeks De naam van de grafiektag.
name Tekenreeks De grafieknaam.
version Tekenreeks De grafiekversie.

Voorbeeld van nettolading: grafiek verwijderen gebeurtenis

{
  "id": "338a3ef7-ad68-4128-xxxx-fdd3af8e8f67",
  "timestamp": "2019-03-06T00:10:48.1270754Z",
  "action": "chart_delete",
  "target": {
    "mediaType": "application/vnd.acr.helm.chart",
    "size": 25265,
    "digest": "sha256:xxxx8075264b5ba7c14c23672xxxx52ae6a3ebac1c47916e4efe19cd624dxxxx",
    "repository": "repo",
    "tag": "wordpress-5.4.0.tgz",
    "name": "wordpress",
    "version": "5.4.0.tgz"
  }
}

Voorbeeld van een Azure CLI-opdracht waarmee de webhook voor chart_delete gebeurtenis wordt geactiveerd:

az acr helm delete wordpress --version 5.4.0 --name MyRegistry

Volgende stappen

Azure Container Registry webhooks gebruiken