Delen via


Azure Container Registry-webhookverwijzing

U kunt webhooks configureren voor uw containerregister waarmee gebeurtenissen worden gegenereerd wanneer bepaalde acties hierop worden uitgevoerd. Schakel bijvoorbeeld webhooks in die worden geactiveerd wanneer een containerinstallatiekopieën of Helm-grafiek naar een register wordt gepusht of verwijderd. Wanneer een webhook wordt geactiveerd, geeft Azure Container Registry een HTTP- of HTTPS-aanvraag uit 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 beschreven van webhookaanvragen die worden gegenereerd door ondersteunde gebeurtenissen. De gebeurtenissecties bevatten het payloadschema voor het gebeurtenistype, een voorbeeld van de nettolading van de aanvraag en een of meer voorbeeldopdrachten waarmee de webhook wordt geactiveerd.

Zie Azure Container Registry-webhooks gebruiken voor informatie over het configureren van webhooks voor uw Azure-containerregister.

Webhook-aanvragen

HTTP-aanvraag

Een geactiveerde webhook verzendt een HTTP-aanvraag naar het URL-eindpunt POST dat u hebt opgegeven toen u de webhook hebt geconfigureerd.

HTTP-kopteksten

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 die aangepaste headers die u mogelijk hebt opgegeven voor de webhook.

Pushgebeurtenis

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

Nettolading van pushgebeurtenis

Element Type Omschrijving
id String De id van de webhook-gebeurtenis.
timestamp Datum en tijd Het tijdstip waarop de webhookgebeurtenis is geactiveerd.
action String 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 Omschrijving
mediaType String Het MIME-type van het object waarnaar wordt verwezen.
size Int32 Het aantal bytes van de inhoud. Hetzelfde als het veld Lengte.
digest String 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 String De naam van de opslagplaats.
tag String De naam van de afbeeldingstag.

aanvraag

Element Type Omschrijving
id String De id van de aanvraag waarmee de gebeurtenis is gestart.
host String De extern toegankelijke hostnaam van het registerexemplaren, zoals opgegeven door de HTTP-hostheader op binnenkomende aanvragen.
method String De aanvraagmethode waarmee de gebeurtenis is gegenereerd.
useragent String De header van de gebruikersagent van de aanvraag.

Voorbeeld van payload: 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 docker CLI-opdracht waarmee de webhook voor pushgebeurtenissen voor installatiekopieën wordt geactiveerd:

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

Pushgebeurtenis voor grafieken

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

Nettolading van pushgebeurtenis in grafiek

Element Type Omschrijving
id String De id van de webhook-gebeurtenis.
timestamp Datum en tijd Het tijdstip waarop de webhookgebeurtenis is geactiveerd.
action String De actie die de webhookgebeurtenis heeft geactiveerd.
doel Complex Type Het doel van de gebeurtenis die de webhookgebeurtenis heeft geactiveerd.

doel

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

Voorbeeld van payload: 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 chart_push gebeurteniswebhook wordt geactiveerd:

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

Gebeurtenis verwijderen

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

Nettolading van gebeurtenis verwijderen

Element Type Omschrijving
id String De id van de webhook-gebeurtenis.
timestamp Datum en tijd Het tijdstip waarop de webhookgebeurtenis is geactiveerd.
action String 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 Omschrijving
mediaType String Het MIME-type van het object waarnaar wordt verwezen.
digest String De samenvatting van de inhoud, zoals gedefinieerd door de HTTP API-specificatie van register V2.
repository String De naam van de opslagplaats.

aanvraag

Element Type Omschrijving
id String De id van de aanvraag waarmee de gebeurtenis is gestart.
host String De extern toegankelijke hostnaam van het registerexemplaren, zoals opgegeven door de HTTP-hostheader op binnenkomende aanvragen.
method String De aanvraagmethode waarmee de gebeurtenis is gegenereerd.
useragent String De header van de gebruikersagent van de aanvraag.

Voorbeeld van nettolading: gebeurtenis voor het verwijderen van afbeeldingen

{
    "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"
    }
  }

Voorbeeld 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 geactiveerd wanneer een Helm-grafiek of -opslagplaats wordt verwijderd.

Nettolading van grafiek verwijderen

Element Type Omschrijving
id String De id van de webhook-gebeurtenis.
timestamp Datum en tijd Het tijdstip waarop de webhookgebeurtenis is geactiveerd.
action String De actie die de webhookgebeurtenis heeft geactiveerd.
doel Complex Type Het doel van de gebeurtenis die de webhookgebeurtenis heeft geactiveerd.

doel

Element Type Omschrijving
mediaType String Het MIME-type van het object waarnaar wordt verwezen.
size Int32 Het aantal bytes van de inhoud.
digest String De samenvatting van de inhoud, zoals gedefinieerd door de HTTP API-specificatie van register V2.
repository String De naam van de opslagplaats.
tag String De naam van de grafiektag.
name String De grafieknaam.
version String 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 chart_delete gebeurteniswebhook wordt geactiveerd:

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

Volgende stappen

Azure Container Registry-webhooks gebruiken