Dela via


Azure Container Registry webhook-referens

Du kan konfigurera webhooks för containerregistret som genererar händelser när vissa åtgärder utförs mot det. Du kan till exempel aktivera webhooks som utlöses när en containeravbildning eller Ett Helm-diagram skickas till ett register eller tas bort. När en webhook utlöses utfärdar Azure Container Registry en HTTP- eller HTTPS-begäran som innehåller information om händelsen till en slutpunkt som du anger. Slutpunkten kan sedan bearbeta webhooken och agera därefter.

I följande avsnitt beskrivs schemat för webhooksbegäranden som genereras av händelser som stöds. Händelseavsnitten innehåller nyttolastschemat för händelsetypen, ett exempel på nyttolasten för begäranden och ett eller flera exempelkommandon som skulle utlösa webhooken.

Information om hur du konfigurerar webhooks för azure-containerregistret finns i Använda Azure Container Registry-webhooks.

Webhook-begäranden

HTTP-begäran

En utlöst webhook gör en HTTP-begäran POST till den URL-slutpunkt som du angav när du konfigurerade webhooken.

HTTP-rubriker

Webhook-begäranden innehåller en Content-Type av application/json om du inte har angett en Content-Type anpassad rubrik för webhooken.

Inga andra rubriker läggs till i begäran utöver de anpassade rubriker som du kanske har angett för webhooken.

Push-händelse

Webhook utlöses när en containeravbildning skickas till en lagringsplats.

Nyttolast för push-händelser

Element Typ Description
id String ID för webhook-händelsen.
timestamp Datum/tid Tidpunkten då webhookens händelse utlöstes.
action String Den åtgärd som utlöste webhook-händelsen.
mål Komplex typ Målet för händelsen som utlöste webhook-händelsen.
begäran Komplex typ Begäran som genererade webhook-händelsen.

mål

Element Typ Description
mediaType String MIME-typen för det refererade objektet.
size Int32 Antalet byte av innehållet. Samma som fältet Längd.
digest String Sammanfattningen av innehållet enligt definitionen i HTTP API-specifikationen för Registry V2.
length Int32 Antalet byte av innehållet. Samma som fältet Storlek.
repository String Lagringsplatsens namn.
tag String Namnet på avbildningstaggen.

begäran

Element Typ Description
id String ID för begäran som initierade händelsen.
host String Registerinstansens externt tillgängliga värdnamn, som anges av HTTP-värdhuvudet på inkommande begäranden.
method String Den begärandemetod som genererade händelsen.
useragent String Användaragentens huvud för begäran.

Nyttolastexempel: push-händelse för avbildning

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

Exempel på Docker CLI-kommando som utlöser webhooken för avbildnings push-händelser :

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

Push-händelse för diagram

Webhook utlöses när ett Helm-diagram skickas till en lagringsplats.

Nyttolast för push-händelse för diagram

Element Typ Description
id String ID för webhook-händelsen.
timestamp Datum/tid Tidpunkten då webhookens händelse utlöstes.
action String Den åtgärd som utlöste webhook-händelsen.
mål Komplex typ Målet för händelsen som utlöste webhook-händelsen.

mål

Element Typ Description
mediaType String MIME-typen för det refererade objektet.
size Int32 Antalet byte av innehållet.
digest String Sammanfattningen av innehållet enligt definitionen i HTTP API-specifikationen för Registry V2.
repository String Lagringsplatsens namn.
tag String Diagramtaggens namn.
name String Diagramnamnet.
version String Diagramversionen.

Nyttolastexempel: diagram push-händelse

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

Exempel på Azure CLI-kommando som utlöser webhooken chart_push händelse:

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

Ta bort händelse

Webhook utlöses när en avbildningslagringsplats eller ett manifest tas bort. Utlöses inte när en tagg tas bort.

Ta bort händelsenyttolast

Element Typ Description
id String ID för webhook-händelsen.
timestamp Datum/tid Tidpunkten då webhookens händelse utlöstes.
action String Den åtgärd som utlöste webhook-händelsen.
mål Komplex typ Målet för händelsen som utlöste webhook-händelsen.
begäran Komplex typ Begäran som genererade webhook-händelsen.

mål

Element Typ Description
mediaType String MIME-typen för det refererade objektet.
digest String Sammanfattningen av innehållet enligt definitionen i HTTP API-specifikationen för Registry V2.
repository String Lagringsplatsens namn.

begäran

Element Typ Description
id String ID för begäran som initierade händelsen.
host String Registerinstansens externt tillgängliga värdnamn, som anges av HTTP-värdhuvudet på inkommande begäranden.
method String Den begärandemetod som genererade händelsen.
useragent String Användaragentens huvud för begäran.

Nyttolastexempel: händelse för avbildningsborttagning

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

Exempel på Azure CLI-kommandon som utlöser en webhook för borttagningshändelser :

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

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

Ta bort diagramhändelse

Webhook utlöses när ett Helm-diagram eller en lagringsplats tas bort.

Händelsenyttolast för diagramborttagning

Element Typ Description
id String ID för webhook-händelsen.
timestamp Datum/tid Tidpunkten då webhookens händelse utlöstes.
action String Den åtgärd som utlöste webhook-händelsen.
mål Komplex typ Målet för händelsen som utlöste webhook-händelsen.

mål

Element Typ Description
mediaType String MIME-typen för det refererade objektet.
size Int32 Antalet byte av innehållet.
digest String Sammanfattningen av innehållet enligt definitionen i HTTP API-specifikationen för Registry V2.
repository String Lagringsplatsens namn.
tag String Diagramtaggens namn.
name String Diagramnamnet.
version String Diagramversionen.

Nyttolastexempel: händelse för diagramborttagning

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

Exempel på Azure CLI-kommando som utlöser webhooken chart_delete händelse:

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

Nästa steg

Använda Azure Container Registry webhooks