Referensi webhook Azure Container Registry
Anda dapat mengkonfigurasi webhook untuk registri kontainer Anda yang menghasilkan peristiwa ketika tindakan tertentu dilakukan terhadapnya. Misalnya, aktifkan webhook yang dipicu saat gambar kontainer atau bagan Helm didorong ke registri, atau dihapus. Ketika webhook dipicu, Azure Container Registry mengeluarkan permintaan HTTP atau HTTPS yang berisi informasi tentang peristiwa tersebut ke titik akhir yang Anda tentukan. Titik akhir Anda kemudian dapat memproses webhook dan bertindak sesuai dengan hal tersebut.
Bagian berikut merinci skema permintaan webhook yang dihasilkan oleh peristiwa yang didukung. Bagian acara berisi skema muatan untuk jenis peristiwa, contoh permintaan muatan, dan satu atau beberapa contoh perintah yang akan memicu webhook.
Untuk informasi tentang mengkonfigurasi webhook untuk registri kontainer Azure Anda, lihat Menggunakan webhook Azure Container Registry.
Permintaan webhook
Permintaan HTTP
Webhook yang dipicu membuat permintaan POST
HTTP ke titik akhir URL yang Anda tentukan saat mengkonfigurasi webhook.
Header HTTP
Permintaan webhook menyertakan Content-Type
dari application/json
jika Anda belum menentukan header kustom Content-Type
untuk webhook Anda.
Tidak ada header lain yang diminta di luar header kustom yang mungkin Anda tentukan untuk webhook.
Pendorongan acara
Webhook dipicu ketika gambar kontainer didorong ke repositori.
Pendorongan payload peristiwa
Elemen | Tipe | Deskripsi |
---|---|---|
id |
String | ID dari peristiwa webhook. |
timestamp |
DateTime | Waktu di mana peristiwa webhook dipicu. |
action |
String | Aksi yang memicu peristiwa webhook tersebut. |
target | Jenis Kompleks | Target peristiwa yang memicu peristiwa webhook. |
Permintaan | Jenis Kompleks | Permintaan yang menghasilkan peristiwa webhook. |
target
Elemen | Tipe | Deskripsi |
---|---|---|
mediaType |
String | Jenis MIME dari objek yang direferensikan. |
size |
Int32 | Jumlah byte konten. Sama seperti bidang Panjang. |
digest |
String | Ringkasan konten, seperti yang ditentukan oleh Spesifikasi API HTTP Registry V2. |
length |
Int32 | Jumlah byte konten. Sama seperti bidang Size. |
repository |
String | Nama Repositori. |
tag |
String | Nama tag gambar. |
permintaan
Elemen | Tipe | Deskripsi |
---|---|---|
id |
String | ID permintaan yang memulai kejadian. |
host |
String | Nama host yang dapat diakses secara eksternal dari instans registri, seperti yang ditentukan oleh header host http pada permintaan yang masuk. |
method |
String | Metode permintaan yang menghasilkan peristiwa. |
useragent |
String | Header agen pengguna permintaan. |
Contoh payload: peristiwa dorongan gambar
{
"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\\))"
}
}
Contoh perintah Docker CLI yang memicu webhook peristiwa pendorongan gambar:
docker push myregistry.azurecr.io/hello-world:v1
Peristiwa pendorongan bagan
Webhook terpicu ketika bagan Helm didorong ke repositori.
Payload peristiwa pendorongan bagan
Elemen | Tipe | Deskripsi |
---|---|---|
id |
String | ID dari peristiwa webhook. |
timestamp |
DateTime | Waktu di mana peristiwa webhook dipicu. |
action |
String | Aksi yang memicu peristiwa webhook tersebut. |
target | Jenis Kompleks | Target peristiwa yang memicu peristiwa webhook. |
target
Elemen | Tipe | Deskripsi |
---|---|---|
mediaType |
String | Jenis MIME dari objek yang direferensikan. |
size |
Int32 | Jumlah byte konten. |
digest |
String | Ringkasan konten, seperti yang ditentukan oleh Spesifikasi API HTTP Registry V2. |
repository |
String | Nama Repositori. |
tag |
String | Nama tag bagan. |
name |
String | Nama bagan. |
version |
String | Versi bagan. |
Contoh payload: peristiwa dorongan bagan
{
"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"
}
}
Contoh perintah Azure CLI yang memicu webhook acara chart_push:
az acr helm push wordpress-5.4.0.tgz --name MyRegistry
Menghapus acara
Webhook dipicu ketika repositori gambar atau manifes dihapus. Tidak dipicu ketika tag dihapus.
Menghapus payload peristiwa
Elemen | Tipe | Deskripsi |
---|---|---|
id |
String | ID dari peristiwa webhook. |
timestamp |
DateTime | Waktu di mana peristiwa webhook dipicu. |
action |
String | Aksi yang memicu peristiwa webhook tersebut. |
target | Jenis Kompleks | Target peristiwa yang memicu peristiwa webhook. |
Permintaan | Jenis Kompleks | Permintaan yang menghasilkan peristiwa webhook. |
target
Elemen | Tipe | Deskripsi |
---|---|---|
mediaType |
String | Jenis MIME dari objek yang direferensikan. |
digest |
String | Ringkasan konten, seperti yang ditentukan oleh Spesifikasi API HTTP Registry V2. |
repository |
String | Nama Repositori. |
permintaan
Elemen | Tipe | Deskripsi |
---|---|---|
id |
String | ID permintaan yang memulai kejadian. |
host |
String | Nama host yang dapat diakses secara eksternal dari instans registri, seperti yang ditentukan oleh header host http pada permintaan yang masuk. |
method |
String | Metode permintaan yang menghasilkan peristiwa. |
useragent |
String | Header agen pengguna permintaan. |
Contoh payload: peristiwa penghapusan gambar
{
"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"
}
}
Contoh perintah Azure CLI yang memicu webhook peristiwa penghapusan:
# Delete repository
az acr repository delete --name MyRegistry --repository MyRepository
# Delete image
az acr repository delete --name MyRegistry --image MyRepository:MyTag
Peristiwa penghapusan bagan
Webhook terpicu ketika bagan atau repositori Helm dihapus.
Payload peristiwa penghapusan bagan
Elemen | Tipe | Deskripsi |
---|---|---|
id |
String | ID dari peristiwa webhook. |
timestamp |
DateTime | Waktu di mana peristiwa webhook dipicu. |
action |
String | Aksi yang memicu peristiwa webhook tersebut. |
target | Jenis Kompleks | Target peristiwa yang memicu peristiwa webhook. |
target
Elemen | Tipe | Deskripsi |
---|---|---|
mediaType |
String | Jenis MIME dari objek yang direferensikan. |
size |
Int32 | Jumlah byte konten. |
digest |
String | Ringkasan konten, seperti yang ditentukan oleh Spesifikasi API HTTP Registry V2. |
repository |
String | Nama Repositori. |
tag |
String | Nama tag bagan. |
name |
String | Nama bagan. |
version |
String | Versi bagan. |
Contoh payload: peristiwa penghapusan bagan
{
"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"
}
}
Contoh perintah Azure CLI yang memicu webhook peristiwa chart_delete:
az acr helm delete wordpress --version 5.4.0 --name MyRegistry