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