Bagikan melalui


Webhook

Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019

Webhook menyediakan cara untuk mengirim representasi JSON dari suatu peristiwa ke layanan apa pun. Semua yang diperlukan adalah titik akhir publik (HTTP atau HTTPS).

Untuk informasi selengkapnya tentang payload JSON yang diposting oleh konsumen ini, lihat peristiwa.

Prasyarat

Hanya Pemilik organisasi atau Administrator Koleksi Proyek yang dapat mengelola webhook untuk organisasi.

Mengirim representasi JSON ke layanan

  1. Buka halaman hook Layanan proyek Anda:

    https://{orgName}/{project_name}/_settings/serviceHooks

    Cuplikan layar halaman administrasi Proyek versi terbaru

    Pilih Buat langganan.

  2. Pilih dan konfigurasikan peristiwa Azure DevOps Services:

    Mengonfigurasi kotak dialog peristiwa

  3. Konfigurasikan apa yang harus dilakukan saat peristiwa terjadi:

    Lihat T & A berikut untuk informasi tentang Detail sumber daya untuk dikirim, Pesan untuk dikirim, dan Pesan terperinci untuk mengirim pengaturan.

    Mengonfigurasi kotak dialog tindakan

  4. Uji langganan hook layanan dan selesaikan wizard:

    Uji

Sekarang webhook disiapkan. Buka layanan target untuk melihat representasi JSON:

Menampilkan representasi JSON

Harga

Azure DevOps tidak mengenakan biaya untuk kerangka kerja untuk diintegrasikan dengan layanan eksternal. Lihat situs layanan tertentu untuk harga yang terkait dengan layanan mereka.

T & J

T: Apa detail Sumber Daya yang akan dikirim, Pesan untuk dikirim, dan Pesan terperinci untuk dikirimi pengaturan?

J: Mereka mengontrol ukuran payload JSON yang dikirim.

Detail Sumber Daya untuk mengirim pengaturan mengontrol berapa banyak sumber daya yang dikirim. Defaultnya adalah Semua, tetapi Anda juga dapat memilih untuk mengirim Minimal (hanya mengirim bidang kunci seperti URL dan ID), atau Tidak Ada.

Tidak Ada dan Minimal berguna dalam skenario di mana pemanggil sebenarnya tidak membutuhkan banyak, jika ada, tentang sumber daya karena mengandalkan pesan atau pesan terperinci. Tidak Ada dan Minimal juga berguna untuk alasan keamanan, misalnya, pemanggil perlu memanggil kembali ke Azure DevOps Services dan melalui pemeriksaan keamanan/izin normal untuk mendapatkan detail selengkapnya tentang sumber daya.

JSON Sampel:

	{
	    "eventType": "git.push",
	    ...
	    "messages": {
	        "text": "...",
	        "html": "...",
	        "markdown": "..."
	    },
	    "detailedMessage": {
	        "text": "...",
	        "html": "...",
	        "markdown": "..."
	    },
	    "resource": {
	        "id": "...",
	        "url": "https://...",
	        "name": "...",
	        "field1:": "..."
	    }
	}	

T: Bisakah saya membuat langganan secara terprogram?

A: Ya, lihat detailnya di sini.

T: Dapatkah saya mengirim webhook ke titik akhir non HTTPS?

J: Ya. Namun, disarankan agar Anda hanya menggunakan titik akhir HTTPS untuk webhook Anda. Menggunakan HTTP berarti ada potensi data privat dikirim tanpa terenkripsi. Ini termasuk header autentikasi apa pun di webhook Anda.

T: Dapatkah saya menggunakan autentikasi dasar saat menyiapkan webhook yang bukan HTTPS?

J: Tidak. Anda harus menggunakan HTTPS saat menggunakan autentikasi dasar pada webhook.

T: Dapatkah kita menggunakan IP localhost atau rentang khusus sebagai target webhook?

J: Tidak. Webhook tidak dapat menargetkan localhost (loopback) atau rentang khusus alamat IPv4/IPv6.