Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure DevOps Server | Azure DevOps Server 2022
Ubah alur kerja untuk jenis item kerja (WIT) untuk mendukung proses bisnis dan tim Anda. WIT mendukung pelacakan semua jenis pekerjaan—persyaratan, tugas, cacat kode—untuk mendukung pengembangan perangkat lunak.
Alur kerja menentukan perkembangan logis dan regresi pekerjaan yang dilakukan anggota tim. Ini juga menentukan nilai yang muncul di menu drop-down untuk bidang Status dan Alasan. Untuk informasi selengkapnya, lihat Tentang proses dan templat proses.
Alur kerja untuk Item Backlog Produk (templat proses Scrum)
Catatan
Artikel ini menjelaskan cara mengkustomisasi status alur kerja. Untuk mengubah Status yang ditetapkan ke item kerja tertentu, lihat salah satu artikel berikut ini: Papan, Lacak pekerjaan yang sedang berlangsung, atau Papan tugas, Perbarui status tugas. Anda juga dapat melakukan pembaruan massal untuk Status dari banyak item kerja.
Untuk informasi tentang alur kerja pipeline build, lihat Mulai menggunakan CI/CD.
Memperbarui definisi XML untuk jenis item kerja
Jika Anda baru menggunakan kustomisasi WIT, perhatikan hal berikut:
- Untuk mengkustomisasi aspek apa pun dari jenis item kerja, perbarui definisi XML-nya. Untuk informasi selengkapnya, lihat Semua referensi elemen XML WITD.
- Jika Anda menyesuaikan formulir web yang menggunakan pengalaman elemen kerja baru, lihat elemen WebLayout dan Control.
- Jika Anda menyesuaikan formulir klien untuk digunakan dengan Visual Studio, lihat referensi elemen Tata Letak XML.
- Ikuti urutan langkah-langkah yang diuraikan dalam Menyesuaikan formulir web pelacakan item kerja.
Untuk mengkustomisasi alur kerja, ikuti dua langkah berikut:
Ubah bagian
WORKFLOWdefinisi WIT seperti yang dijelaskan dalam topik ini.Ubah konfigurasi proses untuk memetakan status alur kerja baru ke metastate.
Langkah kedua ini diperlukan saat Anda mengubah alur kerja untuk WIT yang muncul di halaman alat Agile. WIT ini termasuk dalam kategori Persyaratan atau Tugas. Untuk informasi selengkapnya tentang kategori status, lihat Status alur kerja dan kategori status.
Panduan desain alur kerja
Tentukan alur kerja dengan terlebih dahulu mengidentifikasi status dan transisi yang valid di antara mereka. Bagian WORKFLOW definisi WIT menentukan status, transisi, alasan transisi, dan tindakan opsional yang valid yang berjalan saat anggota tim mengubah status item kerja.
Secara umum, kaitkan setiap status dengan peran anggota tim dan tugas yang harus dilakukan seseorang dalam peran tersebut untuk memproses item kerja sebelum mengubah statusnya. Transisi menentukan perkembangan dan regresi yang valid antar status. Alasan mengidentifikasi mengapa anggota tim mengubah item kerja dari satu status ke status lain, dan tindakan mendukung otomatisasi transisi item kerja pada titik dalam alur kerja.
Misalnya, atur Status ke Baru saat penguji membuka bug baru yang didasarkan pada proses Agile default. Pengembang mengubah Status menjadi Aktif saat memperbaiki bug, dan setelah diperbaiki, pengembang mengubah statusnya menjadi Diselesaikan dan menetapkan nilai bidang Alasan ke Diperbaiki. Setelah memverifikasi perbaikan, penguji mengubah status bug menjadi Tertutup dan bidang Alasan berubah menjadi Diverifikasi. Jika penguji menentukan bahwa pengembang tidak memperbaiki bug, penguji mengubah status bug menjadi Aktif dan menentukan Alasan sebagai Tidak Diperbaiki atau Pengujian Gagal.
Saat Anda mendesain atau mengubah alur kerja, pertimbangkan panduan berikut:
STATEGunakan elemen untuk menentukan status unik untuk setiap peran anggota tim yang mengambil tindakan tertentu pada item kerja. Semakin banyak status yang Anda tentukan, semakin banyak transisi yang harus Anda tentukan. Terlepas dari urutan di mana Anda menentukan status, status muncul dalam urutan alfanumerik di menu drop-down untuk bidang Status .Jika Anda menambahkan status ke jenis item kerja yang muncul di halaman backlog atau papan di portal web, Anda juga harus memetakan status tersebut ke kategori status. Untuk informasi selengkapnya, lihat Status alur kerja dan kategori status.
TRANSITIONGunakan elemen untuk menentukan transisi untuk setiap perkembangan dan regresi yang valid dari satu status ke status lainnya.Minimal, tentukan satu transisi untuk setiap status, dan transisi dari status null ke status awal.
Anda hanya dapat menentukan satu transisi dari yang tidak ditetapkan (null) ke status awal. Saat Anda menyimpan item kerja baru, proses secara otomatis menetapkannya ke status awal.
Saat anggota tim mengubah status item kerja, perubahan tersebut memicu transisi dan tindakan yang Anda tentukan untuk dilakukan untuk status yang dipilih dan transisi. Pengguna hanya dapat menentukan status yang valid berdasarkan transisi yang Anda tentukan untuk status saat ini. Selain itu,
ACTIONelemen, yang merupakan elemen turunan dariTRANSITION, dapat mengubah status item kerja.Untuk setiap transisi, tentukan alasan default dengan menggunakan
DEFAULTREASONelemen . Anda dapat menentukan alasan opsional sebanyak yang Anda inginkan dengan menggunakanREASONelemen . Nilai-nilai ini muncul di menu drop-down bidang Alasan .Anda dapat menentukan aturan yang berlaku saat item kerja berubah status, saat transisi, atau saat pengguna memilih alasan tertentu. Banyak dari aturan ini melengkapi aturan bersyarat yang dapat Anda terapkan saat Anda mendefinisikan bidang di bagian
FIELDSdi dalam definisiWORKITEMTYPE. Untuk informasi selengkapnya, lihat di bagian Memperbarui bidang selama perubahan alur kerja nanti dalam topik ini.Nama yang Anda tetapkan ke status dan alasan tidak sensitif terhadap huruf besar/kecil.
Menu drop-down untuk bidang Status dan Alasan dalam formulir item kerja atau editor kueri menampilkan nilai yang ditetapkan di bagian
WORKFLOWtipe item kerja.
Diagram alur kerja dan contoh kode
Contoh kode berikut menunjukkan WORKFLOW untuk definisi BUG WIT untuk templat proses Agile. Contoh ini mendefinisikan tiga status dan lima transisi. Elemen STATE menentukan status Aktif, Diselesaikan, dan Ditutup. Semua kemungkinan kombinasi untuk transisi perkembangan dan regresi didefinisikan untuk tiga status, kecuali satu. Transisi dari Tertutup ke Diselesaikan tidak ditentukan. Oleh karena itu, anggota tim tidak dapat menyelesaikan item kerja jenis ini jika item kerja ditutup.
Contoh ini tidak mencantumkan semua elemen untuk DEFAULTREASON, , REASON, ACTIONdan FIELD.
Contoh Diagram Status Alur Kerja — Agile Bug WIT
<WORKFLOW>
<STATES>
<STATE value="Active">
<FIELDS> . . . </FIELDS>
</STATE>
<STATE value="Resolved">
<FIELDS> . . . </FIELDS>
</STATE>
<STATE value="Closed">
<FIELDS> . . . </FIELDS>
</STATE>
</STATES>
<TRANSITIONS>
<TRANSITION from="" to="Active">
<REASONS>
<REASON value="Build Failure" />
<DEFAULTREASON value="New" />
</REASONS>
<FIELDS> . . . </FIELDS>
</TRANSITION>
<TRANSITION from="Active" to="Resolved">
<ACTIONS> . . . </ACTIONS>
<REASONS> . . . </REASONS>
</TRANSITION>
<TRANSITION from="Resolved" to="Active">
<REASONS> . . . </REASONS>
</TRANSITION>
<TRANSITION from="Resolved" to="Closed">
<REASONS>
<DEFAULTREASON value="Verified" />
</REASONS>
<FIELDS> . . . </FIELDS>
</TRANSITION>
<TRANSITION from="Closed" to="Active">
<REASONS>
<REASON value="Reactivated" />
<DEFAULTREASON value="Regression" />
</REASONS>
<FIELDS> . . . </FIELDS>
</TRANSITION>
</TRANSITIONS>
</WORKFLOW>
Menentukan jumlah dan jenis keadaan
Tentukan jumlah dan jenis status yang valid berdasarkan jumlah status logis yang berbeda di mana Anda ingin item kerja dari jenis tersebut ada. Selain itu, jika anggota tim yang berbeda melakukan tindakan yang berbeda, pertimbangkan untuk menentukan status berdasarkan peran anggota. Setiap status sesuai dengan tindakan yang harus dilakukan anggota tim pada item kerja untuk memindahkannya ke status berikutnya. Untuk setiap status, tentukan tindakan tertentu dan anggota tim yang diizinkan untuk melakukan tindakan tersebut.
Tabel berikut ini menyediakan contoh empat status yang melacak kemajuan fitur dan pengguna valid yang harus melakukan tindakan yang ditunjukkan:
| Keadaan | Pengguna yang valid | Tindakan yang harus dilakukan |
|---|---|---|
| Diusulkan | Manajer Proyek | Siapa pun dapat membuat item kerja fitur. Namun, hanya manajer proyek yang dapat menyetujui atau tidak menyetujui item kerja. Jika manajer proyek menyetujui fitur, manajer proyek mengubah status item kerja menjadi Aktif; jika tidak, anggota tim menutupnya. |
| Aktif | Pimpinan Pengembangan | Pemimpin pengembangan mengawasi pengembangan fitur. Setelah fitur selesai, prospek pengembangan mengubah status item kerja fitur menjadi Tinjauan. |
| Tinjauan | Manajer Proyek | Manajer proyek meninjau fitur yang diterapkan tim dan mengubah status item kerja menjadi Ditutup jika implementasinya memuaskan. |
| Ditutup | Manajer Proyek | Tidak ada tindakan tambahan yang diharapkan terjadi pada item kerja yang ditutup. Item ini tetap berada dalam database untuk tujuan pengarsipan dan pelaporan. |
Catatan
Semua status muncul dalam urutan alfabet dalam daftar pada formulir untuk item kerja dari jenis tertentu, terlepas dari urutan di mana Anda menentukannya.
Menentukan transisi
Anda mengontrol status ke dan dari mana anggota tim dapat mengubah item kerja dengan menentukan perkembangan dan regresi status yang valid. Jika Anda tidak menentukan transisi dari satu status ke status lain, anggota tim tidak dapat mengubah item kerja dari jenis tertentu dari status tertentu ke status tertentu lainnya.
Tabel berikut menentukan transisi yang valid untuk masing-masing dari empat status yang dijelaskan sebelumnya dalam topik ini, bersama dengan alasan default untuk masing-masing status.
| Keadaan | Transisi ke status | Alasan default |
|---|---|---|
| Diusulkan | Aktif (perkembangan) | Disetujui untuk pengembangan |
| Ditutup (progres) | Tidak disetujui | |
| Aktif | Tinjauan (kemajuan) | Kriteria penerimaan terpenuhi |
| Tinjauan | Tertutup (kemajuan) | Fitur selesai |
| Aktif (regresi) | Tidak memenuhi persyaratan | |
| Ditutup | Diusulkan (regresi) | Pertimbangkan kembali untuk persetujuan |
| Aktif (regresi) | Ditutup karena kesalahan |
Anda dapat membatasi siapa yang diizinkan untuk melakukan transisi dari satu status ke status lainnya dengan menggunakan atribut "untuk" dan "tidak" dari elemen TRANSITION. Seperti yang ditunjukkan oleh contoh berikut, penguji dapat membuka kembali bug tetapi pengembang tidak dapat.
<TRANSITION from="Closed" to="Active"
for="[Project]\Testers"
not="[Project]\Developers">
. . .
</TRANSITION>
Tentukan alasannya
Saat anggota tim mengubah bidang Status, mereka dapat menyimpan alasan default untuk transisi tersebut atau menentukan alasan yang berbeda jika Anda menentukan opsi tambahan.
DEFAULTREASON Gunakan elemen untuk menentukan satu dan hanya satu alasan default. Tambahkan alasan tambahan hanya jika mereka membantu tim melacak atau melaporkan data.
Misalnya, pengembang dapat menentukan salah satu alasan berikut saat menyelesaikan bug: Tetap (Default), Ditangguhkan, Duplikat, Sesuai Desain, Tidak Dapat Mereproduksi, atau Usang. Setiap alasan menentukan tindakan tertentu bagi penguji untuk dilakukan sehubungan dengan bug.
Catatan
Semua alasan muncul dalam urutan alfabet dalam daftar pada formulir kerja untuk item kerja dari jenis tertentu, terlepas dari urutan elemen REASON yang Anda tentukan.
Contoh berikut menunjukkan elemen yang menentukan alasan mengapa anggota tim mungkin menyelesaikan bug:
<TRANSITION from="Active" to="Resolved">
. . .
<REASONS>
<DEFAULTREASON value="Fixed"/>
<REASON value="Deferred"/>
<REASON value="Duplicate"/>
<REASON value="As Designed"/>
<REASON value="Unable to Reproduce"/>
<REASON value="Obsolete"/>
</REASONS>
. . .
</TRANSITION>
Tentukan tindakan
Secara umum, anggota tim mengubah status item kerja dengan menentukan nilai yang berbeda untuk bidang Status lalu menyimpan item kerja. Namun, Anda juga dapat menentukan ACTION elemen yang secara otomatis mengubah status item kerja saat transisi tersebut terjadi. Seperti yang ditunjukkan contoh berikut, Anda dapat menentukan bahwa item kerja bug harus diselesaikan secara otomatis jika terkait dengan file yang diperiksa pengembang ke dalam kontrol versi:
<TRANSITION from="Active" to="Resolved">
<ACTIONS>
<ACTION value="Microsoft.VSTS.Actions.Checkin"/>
</ACTIONS>
. . .
</TRANSITION>
ACTION Gunakan elemen untuk secara otomatis mengubah status item kerja dari jenis tertentu ketika peristiwa terjadi di tempat lain dalam Manajemen Siklus Hidup Aplikasi Microsoft Visual Studio atau di luar Visual Studio Application Lifecycle Management (misalnya, dari alat yang melacak panggilan). Untuk informasi selengkapnya, lihat TINDAKAN.
Memperbarui bidang selama perubahan alur kerja
Anda dapat menentukan aturan yang memperbarui bidang setiap kali peristiwa berikut terjadi:
Tetapkan aturan lapangan di bawah
STATEketika Anda ingin aturan berlaku untuk semua transisi ke dan alasan memasuki status tersebut.Tetapkan aturan bidang di bawah
TRANSITIONsaat Anda ingin aturan diterapkan untuk transisi tersebut dan semua alasan untuk melakukan transisi tersebut.Tetapkan aturan bidang di bawah
DEFAULTREASONatauREASONsaat Anda ingin aturan diterapkan hanya karena alasan tertentu tersebut.Jika bidang harus selalu berisi nilai yang sama, tentukan aturan di bawah elemen yang menentukan bidang tersebut
FIELD. Untuk informasi selengkapnya tentang penggunaan aturan, lihat Aturan dan evaluasi aturan.Minimalkan jumlah kondisi yang Anda tentukan untuk satu jenis item kerja. Setiap aturan bersyariah menambah kompleksitas pada proses validasi yang terjadi setiap kali anggota tim menyimpan item kerja. Seperangkat aturan kompleks dapat meningkatkan waktu yang diperlukan untuk menyimpan item kerja.
Contoh berikut menunjukkan beberapa aturan yang diterapkan ke bidang sistem dalam templat proses untuk MSF Agile Software Development.
Mengubah nilai bidang saat status berubah
Saat Anda mengatur nilai bidang Status untuk item kerja ke Aktif dan menyimpan item kerja, nilai bidang Diaktifkan Oleh dan Ditetapkan Ke secara otomatis diatur ke nama pengguna saat ini. Pengguna tersebut harus menjadi anggota grup Pengguna Valid Server Team Foundation. Nilai bidang Tanggal Diaktifkan juga diatur secara otomatis. Contoh berikut menunjukkan elemen yang memberlakukan aturan ini:
<STATE value="Active">
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<COPY from="currentuser"/>
<VALIDUSER/>
<REQUIRED/>
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<SERVERDEFAULT from="clock"/></FIELD>
<FIELD refname="System.AssignedTo">
<DEFAULT from="currentuser"/>
</FIELD>
. . .
</FIELDS>
</STATE>
Menghapus nilai bidang saat nilai bidang lain berubah
Saat Anda mengatur nilai bidang Status untuk item kerja ke Aktif dan menyimpan item kerja, EMPTY elemen secara otomatis mengatur bidang Tanggal Ditutup dan Ditutup Oleh menjadi null dan membuatnya hanya baca, seperti yang ditunjukkan contoh berikut.
<STATE value="Active">
<FIELDS>
. . .
<FIELD refname="Microsoft.VSTS.Common.ClosedDate"><EMPTY/></FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy"><EMPTY/></FIELD>
</FIELDS>
</STATE>
Tentukan bidang berdasarkan konten bidang lain
Saat Anda mengubah nilai bidang Status untuk item kerja menjadi Diselesaikan dan menyimpan item kerja, nilai bidang Alasan Terselesaikan diatur ke nilai yang ditentukan pengguna di bidang Alasan . Contoh berikut menunjukkan elemen yang memberlakukan aturan ini:
<STATE value="Resolved">
<FIELDS>
. . .
<FIELD refname="Microsoft.VSTS.Common.ResolvedReason">
<COPY from="field" field="System.Reason"/>
</FIELD>
</FIELDS>
</STATE>
Konten terkait
- Status alur kerja dan kategori status
- Menyesuaikan pengalaman pelacakan kerja Anda
- Kueri menurut tugas, alur kerja, atau perubahan papan
- Mendesain formulir item kerja
- Mengimpor, mengekspor, dan mengelola jenis item kerja
Dukungan alat
Untuk membantu pengguna Anda memvisualisasikan alur kerja, instal ekstensi Visualisasi Model Status dari Visual Studio Marketplace.