Bagikan melalui


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 dikirim, atau build dilakukan.

Prasyarat

Kategori Persyaratan
Izin - Anggota dari grup Administrator Koleksi Proyek . Pemilik organisasi adalah anggota grup ini secara otomatis.
- Edit langganan dan Lihat langganan izin ditetapkan ke Izinkan. Secara default, hanya administrator proyek yang memiliki izin ini. Untuk memberikan izin kepada pengguna lain, Anda dapat menggunakan alat baris perintah atau Security REST API.
Alat Trello

Mendapatkan token otorisasi Trello

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

  2. Buka halaman Otorisasi Azure DevOps Services 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

    Pilih Buat Langganan.

  2. Pilih layanan Trello.

    Halaman Layanan , Trello dipilih

  3. Konfigurasikan peristiwa yang memicu di Visual Studio. 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 placeholder untuk menyisipkan konten dari acara 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 kait layanan dan selesaikan panduan.

    pemberitahuan Test

Sekarang sudah disiapkan. Buka Trello dan lihat kartu muncul.

Papan selamat datang dengan kartu dukungan untuk Bug #5

Placeholder

Anda dapat menyisipkan penanda dalam nama daftar atau nama atau deskripsi kartu yang akan dibuat oleh langganan Anda. Saat daftar atau kartu dibuat, pengganti akan digantikan oleh nilai dari peristiwa yang dihasilkan. 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 dari sumber yang memicu peristiwa (item kerja, penyusunan, dan sebagainya) dan bidang adalah bagian bidang dari sumber daya peristiwa tersebut, seperti ID. Jadi, jika langganannya adalah untuk sebuah build yang sudah 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 System atau Microsoft.Azure DevOps Services.Common seolah-olah bidang tersebut adalah bagian dari sumber daya. Jadi {{workitem.fields["System.workItemType"]}} menjadi {{workitem.workItemType}}.

Ekspresi tempat penampung

Tempat penampung ini menggunakan implementasi templat handlebars yang umumnya 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 Handlebars dengan
jika/sebaliknya
kecuali
setiap
Jalur Handlebars ...
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 & A

T: Bisakah saya membuat langganan secara terprogram?

A: Ya, lihat detail di sini.

T: Bisakah saya mendapatkan informasi selengkapnya tentang Trello?

A: Ya, trello.com.