Informazioni di riferimento sui webhook per Registro Azure ContainerAzure Container Registry webhook reference

È possibile configurare webhook per il registro contenitori, che generano eventi quando vengono eseguite determinate azioni nel registro.You can configure webhooks for your container registry that generate events when certain actions are performed against it. Ad esempio, abilitare webhook che vengono attivati quando un'immagine del contenitore o un grafico Helm viene eseguito il push in un registro di sistema o eliminato.For example, enable webhooks that are triggered when a container image or Helm chart is pushed to a registry, or deleted. Quando un webhook viene attivato, Registro Azure Container invia una richiesta HTTP o HTTPS contenente informazioni sull'evento a un endpoint specificato.When a webhook is triggered, Azure Container Registry issues an HTTP or HTTPS request containing information about the event to an endpoint you specify. L'endpoint può quindi elaborare il webhook e agire di conseguenza.Your endpoint can then process the webhook and act accordingly.

Le sezioni seguenti illustrano in dettaglio lo schema delle richieste dei webhook generate da eventi supportati.The following sections detail the schema of webhook requests generated by supported events. Le sezioni sugli eventi contengono lo schema del payload per il tipo di evento, un payload della richiesta di esempio e uno o più comandi di esempio che attiverebbero il webhook.The event sections contain the payload schema for the event type, an example request payload, and one or more example commands that would trigger the webhook.

Per informazioni sulla configurazione di webhook per Registro Azure Container, vedere Uso dei webhook di Registro Azure Container.For information about configuring webhooks for your Azure container registry, see Using Azure Container Registry webhooks.

Richieste dei webhookWebhook requests

Richiesta HTTPHTTP request

Un webhook attivato crea una richiesta HTTP POST per l'endpoint dell'URL specificato quando si è configurato il webhook.A triggered webhook makes an HTTP POST request to the URL endpoint you specified when you configured the webhook.

Intestazioni HTTPHTTP headers

Le richieste dei webhook includono un'intestazione Content-Type di tipo application/json se non è stata specificata un'intestazione personalizzata Content-Type per il webhook.Webhook requests include a Content-Type of application/json if you have not specified a Content-Type custom header for your webhook.

Non vengono aggiunte alla richiesta altre intestazioni oltre a quelle personalizzate eventualmente specificate per il webhook.No other headers are added to the request beyond those custom headers you might have specified for the webhook.

Evento pushPush event

Webhook attivato quando viene eseguito il push di un'immagine del contenitore in un repository.Webhook triggered when a container image is pushed to a repository.

Payload dell'evento pushPush event payload

ElementoElement TypeType DescrizioneDescription
id StringString ID dell'evento del webhook.The ID of the webhook event.
timestamp DateTimeDateTime Ora in cui è stato attivato l'evento del webhook.The time at which the webhook event was triggered.
action StringString Azione che ha attivato l'evento webhook.The action that triggered the webhook event.
targettarget Tipo complessoComplex Type Destinazione dell'evento che ha attivato l'evento del webhook.The target of the event that triggered the webhook event.
requestrequest Tipo complessoComplex Type Richiesta che ha generato l'evento del webhook.The request that generated the webhook event.

targettarget

ElementoElement TypeType DescrizioneDescription
mediaType StringString Tipo MIME dell'oggetto di riferimento.The MIME type of the referenced object.
size Int32Int32 Numero di byte del contenuto.The number of bytes of the content. Uguale al campo Length.Same as Length field.
digest StringString Digest del contenuto, definito dalla specifica API HTTP del registro contenitori V2.The digest of the content, as defined by the Registry V2 HTTP API Specification.
length Int32Int32 Numero di byte del contenuto.The number of bytes of the content. Uguale al campo Size.Same as Size field.
repository StringString Nome del repository.The repository name.
tag StringString Nome del tag dell'immagine.The image tag name.

requestrequest

ElementoElement TypeType DescrizioneDescription
id StringString ID della richiesta che ha avviato l'evento.The ID of the request that initiated the event.
host StringString Nome host accessibile esternamente dell'istanza del registro, specificato dall'intestazione host HTTP nelle richieste in ingresso.The externally accessible hostname of the registry instance, as specified by the HTTP host header on incoming requests.
method StringString Metodo di richiesta che ha generato l'evento.The request method that generated the event.
useragent StringString Intestazione agente utente della richiesta.The user agent header of the request.

Esempio di payload: evento push di immaginiPayload example: image push event

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

Riportato CLI di Docker comandi che attiva l'immagine push evento webhook:Example Docker CLI command that triggers the image push event webhook:

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

Evento push graficoChart push event

Webhook attivato quando viene eseguito il push di un grafico di Helm in un repository.Webhook triggered when a Helm chart is pushed to a repository.

Payload dell'evento grafico pushChart push event payload

ElementoElement TypeType DescrizioneDescription
id StringString ID dell'evento del webhook.The ID of the webhook event.
timestamp DateTimeDateTime Ora in cui è stato attivato l'evento del webhook.The time at which the webhook event was triggered.
action StringString Azione che ha attivato l'evento webhook.The action that triggered the webhook event.
targettarget Tipo complessoComplex Type Destinazione dell'evento che ha attivato l'evento del webhook.The target of the event that triggered the webhook event.

targettarget

ElementoElement TypeType DescrizioneDescription
mediaType StringString Tipo MIME dell'oggetto di riferimento.The MIME type of the referenced object.
size Int32Int32 Numero di byte del contenuto.The number of bytes of the content.
digest StringString Digest del contenuto, definito dalla specifica API HTTP del registro contenitori V2.The digest of the content, as defined by the Registry V2 HTTP API Specification.
repository StringString Nome del repository.The repository name.
tag StringString Nome del tag del grafico.The chart tag name.
name StringString Il nome del grafico.The chart name.
version StringString La versione del grafico.The chart version.

Esempio di payload: evento push graficoPayload example: chart push event

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

Esempio Azure CLI comandi che attiva il chart_push evento webhook:Example Azure CLI command that triggers the chart_push event webhook:

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

Eliminare un eventoDelete event

Webhook attivato quando un repository di immagini o manifesto viene eliminato.Webhook triggered when an image repository or manifest is deleted. Non attivato quando viene eliminato un tag.Not triggered when a tag is deleted.

Payload dell'evento deleteDelete event payload

ElementoElement TypeType DescrizioneDescription
id StringString ID dell'evento del webhook.The ID of the webhook event.
timestamp DateTimeDateTime Ora in cui è stato attivato l'evento del webhook.The time at which the webhook event was triggered.
action StringString Azione che ha attivato l'evento webhook.The action that triggered the webhook event.
targettarget Tipo complessoComplex Type Destinazione dell'evento che ha attivato l'evento del webhook.The target of the event that triggered the webhook event.
requestrequest Tipo complessoComplex Type Richiesta che ha generato l'evento del webhook.The request that generated the webhook event.

targettarget

ElementoElement TypeType DescrizioneDescription
mediaType StringString Tipo MIME dell'oggetto di riferimento.The MIME type of the referenced object.
digest StringString Digest del contenuto, definito dalla specifica API HTTP del registro contenitori V2.The digest of the content, as defined by the Registry V2 HTTP API Specification.
repository StringString Nome del repository.The repository name.

requestrequest

ElementoElement TypeType DescrizioneDescription
id StringString ID della richiesta che ha avviato l'evento.The ID of the request that initiated the event.
host StringString Nome host accessibile esternamente dell'istanza del registro, specificato dall'intestazione host HTTP nelle richieste in ingresso.The externally accessible hostname of the registry instance, as specified by the HTTP host header on incoming requests.
method StringString Metodo di richiesta che ha generato l'evento.The request method that generated the event.
useragent StringString Intestazione agente utente della richiesta.The user agent header of the request.

Esempio di payload: evento di eliminazione di immaginiPayload example: image delete event

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

Comandi dell'interfaccia della riga di comando di Azure di esempio che attivano il webhook di un evento delete:Example Azure CLI commands that trigger a delete event webhook:

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

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

Evento di eliminazione del graficoChart delete event

Webhook attivato quando viene eliminato un repository o un grafico Helm.Webhook triggered when a Helm chart or repository is deleted.

Payload dell'evento grafico deleteChart delete event payload

ElementoElement TypeType DescrizioneDescription
id StringString ID dell'evento del webhook.The ID of the webhook event.
timestamp DateTimeDateTime Ora in cui è stato attivato l'evento del webhook.The time at which the webhook event was triggered.
action StringString Azione che ha attivato l'evento webhook.The action that triggered the webhook event.
targettarget Tipo complessoComplex Type Destinazione dell'evento che ha attivato l'evento del webhook.The target of the event that triggered the webhook event.

targettarget

ElementoElement TypeType DescrizioneDescription
mediaType StringString Tipo MIME dell'oggetto di riferimento.The MIME type of the referenced object.
size Int32Int32 Numero di byte del contenuto.The number of bytes of the content.
digest StringString Digest del contenuto, definito dalla specifica API HTTP del registro contenitori V2.The digest of the content, as defined by the Registry V2 HTTP API Specification.
repository StringString Nome del repository.The repository name.
tag StringString Nome del tag del grafico.The chart tag name.
name StringString Il nome del grafico.The chart name.
version StringString La versione del grafico.The chart version.

Esempio di payload: evento di eliminazione del graficoPayload example: chart delete event

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

Esempio Azure CLI comandi che attiva il chart_delete evento webhook:Example Azure CLI command that triggers the chart_delete event webhook:

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

Passaggi successiviNext steps

Uso dei webhook di Registro Azure ContainerUsing Azure Container Registry webhooks