Membuat hook layanan untuk Azure DevOps Services dan TFS dengan Trello

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

Buat kartu dan daftar di Trello sebagai respons terhadap peristiwa dari Azure DevOps. Misalnya, ketika kode didorong, atau build terjadi.

Mendapatkan token otorisasi Trello

  1. Jika Anda tidak memiliki akun Trello, daftar di Trello.

  2. Buka halaman Otorisasi Layanan Azure DevOps untuk Trello, dan masuk dengan kredensial Trello Anda.

  3. Izinkan Azure DevOps menggunakan akun Trello Anda.

    Izinkan Layanan Azure DevOps

  4. Salin token otorisasi.

    Token otorisasi Trello

Buat kartu trello atau daftar dari peristiwa Azure DevOps Services.

  1. Buka halaman Service Hooks proyek Anda:

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

    Halaman administrasi proyek

    Pilih Buat Langganan.

  2. Pilih layanan Trello.

    Halaman layanan, Trello dipilih

  3. Konfigurasikan peristiwa Visual Studio yang memicu. Dalam hal ini, kami akan meminta langganan merespons saat item kerja dibuat.

    Halaman konfigurasi pemicu

  4. Siapkan tindakan yang akan diambil Trello sebagai respons terhadap pemicu - baik membuat kartu atau daftar.

    Halaman konfigurasi tindakan

    Anda dapat menggunakan tempat penampung untuk menyisipkan konten dari peristiwa ke dalam nama dan deskripsi kartu atau daftar yang dibuat langganan. Misalnya, ketika kita menjalankan pemberitahuan pengujian, kartu yang dibuat diberi nama "Bug #5: Beberapa ide baru yang bagus!" karena item kerja pengujian adalah bug (ID=5) dengan judul "Beberapa ide baru yang bagus!".

  5. Uji langganan hook layanan dan selesaikan wizard.

    Menguji pemberitahuan

Sekarang sudah disiapkan. Buka Trello dan lihat kartu muncul.

Papan selamat datang dengan kartu untuk Bug #5

Tempat penampung

Anda dapat menyisipkan tempat penampung dalam nama daftar atau nama atau deskripsi kartu yang akan dibuat oleh langganan Anda. Saat daftar atau kartu dibuat, tempat penampung akan digantikan oleh nilai dari peristiwa yang dinaikkan. Contoh yang kami gunakan untuk nama kartu di halaman ini menggunakan:

    {{workitem.workItemType}} #{{workitem.id}}: {{workitem.title}}

Jadi ketika bug dibuat dengan ID 5 dan judul "Beberapa ide baru yang bagus!", nama kartunya adalah "Bug #5: Beberapa ide baru yang bagus!".

Bentuk dasar tempat penampung adalah {{resource.field}} di mana sumber daya adalah nama sumber daya yang menaikkan peristiwa (item kerja, build, dan sebagainya) dan bidang adalah bidang dalam bagian sumber daya peristiwa, seperti ID. Jadi, jika langganan adalah untuk build yang telah selesai, mungkin seperti

    Build {{build.id}} completed at {{build.finishTime}}

Di mana build adalah nama sumber daya dan ID, finishTime adalah bidang yang tersedia dalam sumber daya ini. Untuk memahami jenis peristiwa, bidang, dan sumber daya yang tersedia untuk digunakan, lihat referensi peristiwa.

Bidang item kerja

Bidang item kerja muncul dalam peristiwa di array bidang, seperti contoh ini:

    " fields": {
                " System.AreaPath": "Fabrikam-Fiber-Git", 
                " System.TeamProject": "Fabrikam-Fiber-Git", 
                " System.IterationPath": "Fabrikam-Fiber-Git", 
                " System.WorkItemType": "Product Backlog Item", 
                " System.State": "New", 
                " System.Reason": "New backlog item", 
                " System.CreatedDate": "2014-11-05T21:11:28.85Z", 
                " System.CreatedBy": "Normal Paulk", 
                " System.ChangedDate": "2014-11-05T21:11:29.23Z", 
                " System.ChangedBy": "Normal Paulk", 
                " System.Title": "Test PBI", 
                " Microsoft.Azure DevOps Services.Common.BacklogPriority": 999999999, 
                " WEF_6CB513B6E70E43499D9FC94E5BBFB784_Kanban.Column": "New"
           },

Bekerja langsung dari definisi peristiwa, kami akan membuat nama kartu kami seperti contoh ini:

    {{workitem.fields["System.workItemType"]}} #{{workitem.fields["System.id"]}: {{workitem.fields["System.title"]}}

Sebagai pintasan, Anda dapat mereferensikan bidang apa pun di Namespace Layanan DevOps Sistem atau Microsoft.Azure DevOps.Common seolah-olah bidang tersebut adalah bidang sumber daya. Jadi {{workitem.fields["System.workItemType"]}} menjadi {{workitem.workItemType}}.

Ekspresi tempat penampung

Tempat penampung ini menggunakan implementasi templat setang yang sebagian besar kompatibel dengan Mustache. Beberapa ekspresi yang berguna meliputi

Jenis ekspresi contoh
ekspresi dasar {{workitem.name}}
ekspresi array {{pullRequest.reviewers.[0].displayName}}
Bagian kumis {{#workitem.assignedTo}} WI ini ditetapkan {{/workitem.assignedTo}}
Bagian Terbalik Kumis {{^workitem.assignedTo}} WI ini tidak ditetapkan {{/workitem.assignedTo}}
Pembantu blok bilah handel dengan
if/else
Kecuali
setiap
Jalur handlebar ...
ini
Misalnya, {{../comment/id}} atau {{this/title}}
Komentar templat {{!-- this is a handlebar comment --}}

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: Bisakah saya membuat langganan secara terprogram?

A: Ya, lihat detailnya di sini.

T: Bisakah saya mendapatkan informasi selengkapnya tentang Trello?

A: Ya, trello.com.