YouTrack sekarang melihat permintaan tarik dalam tugas

Halo, Habr!



Tim YouTrack dari JetBrains ada di sini. Kami memiliki berita bagus - dimulai dengan YouTrack 2020.3, tugas tidak hanya menampilkan komitmen terkait tugas, tetapi juga permintaan tarik. Dalam posting hari ini kami akan memberi tahu Anda apa itu, mengapa itu, dan bagaimana itu akan membantu membuat proses pengembangan lebih efisien dan mudah dipahami, dan juga menunjukkan inovasi lainnya dalam versi terbaru YouTrack.



gambar



Untuk detailnya, selamat datang di posting.



Apa itu permintaan tarik?



Di sejumlah model model pengembangan, berkolaborasi dalam sebuah proyek terlihat seperti ini: Anda menyalin proyek dari kontrol sumber, membuat perubahan secara lokal, lalu mengirim permintaan ke pemilik proyek untuk menyetujui perubahan Anda dan memasukkannya ke dalam basis kode proyek umum. Permintaan seperti itu disebut permintaan tarik (atau permintaan penggabungan, tergantung pada sistem kontrol versi).



Secara kasar, pull request adalah cara untuk memberi tahu pemilik repositori atau tim Anda apa yang telah Anda lakukan pada proyek dan menyarankan agar perubahan Anda disertakan di salah satu cabang pengembangan umum. Pemilik repositori (atau orang yang akan melakukan peninjauan kode Anda) dapat menerima perubahan (menggabungkan permintaan penarikan) atau menolaknya - misalnya, jika perubahan tersebut bertentangan dengan visi penulis proyek atau selama peninjauan kode, mereka memutuskan bahwa kode perlu ditingkatkan.



Dalam proyek sumber terbuka, sering kali ada persyaratan untuk permintaan penarikan, yang tanpanya permintaan penarikan tidak akan diterima: misalnya, kolega kami dari tim Kotlin meminta pengembang untuk memastikan bahwa deskripsi permintaan penarikan berisi tautan ke tugas terkait di YouTrack, yang perubahan dalam permintaan tarik khusus untuk tugas yang ditentukan, dan kode baru tersebut sedang dijalankan, dieksekusi dengan benar, dan dicakup oleh pengujian.



Mengapa menarik permintaan di pelacak?



Membuat dan menerima / menolak permintaan tarik adalah langkah penting dalam siklus hidup tugas seperti mengubah status atau menautkan komit terkait. Semua langkah ini menunjukkan kemajuan tugas kepada semua pengamat yang tertarik - misalnya, komunitas proyek sumber terbuka atau manajer proyek tim. Misalnya, jika tugas tidak ditutup karena penolakan permintaan penarikan tertentu, informasi ini harus tercermin dalam riwayat tugas - termasuk untuk tujuan retrospektif, saat Anda perlu memahami mengapa tugas dibiarkan terbuka begitu lama. Mekanisme ini membuat proses pengembangan lebih transparan dan memungkinkan Anda melacak siklus hidup tugas langkah demi langkah, tanpa melewatkan peristiwa penting.



Lihat permintaan pull dalam masalah



Kembali ke YouTrack, dimulai dengan YouTrack 2020.3, pengembang akan dapat melihat permintaan tarik dari GitHub, GitLab, BitBucket, Gogs, dan Gitea dalam tugas di samping komit. Agar permintaan tarik, bersama dengan deskripsinya, jumlah file yang diperbarui dan informasi tentang pembuat, untuk ditampilkan dalam tugas, Anda perlu menyebutkan tugas yang sesuai atas nama permintaan tarik (semuanya persis sama dengan komit).



Selanjutnya, setelah menerima atau menolak permintaan penarikan, YouTrack akan menyertakan peristiwa ini dalam alur aktivitas tugas bersama dengan pembuat peristiwa dan status permintaan penarikan. Ternyata umpan perubahan tugas akan menampilkan seluruh siklus hidup permintaan tarik - pembuatannya dan keputusan akhir (penolakan atau penyertaan dalam basis kode).



gambar



Otomatiskan



Kami menyukai dan secara aktif menggunakan otomatisasi, jadi kami tidak dapat melewatkan kesempatan untuk menggunakan peristiwa dari sistem kontrol versi dalam skrip otomatisasi. Anda sekarang dapat memulai alur kerja YouTrack saat Anda menambahkan permintaan tarik atau komit. Selain itu, alur kerja sekarang memiliki akses ke properti untuk komit dan permintaan tarik, seperti nama penulis, deskripsi, atau catatan.



Apa artinya? Misalnya, Anda dapat secara otomatis mengubah status masalah bergantung pada status permintaan penarikan, atau mengirim permintaan peninjauan kode ke kolega saat membuat permintaan tarik.



Skrip sederhana seperti itu akan secara otomatis mentransfer tugas ke status Tetap saat menggabungkan permintaan tarik dan kemudian menetapkannya ke pemimpin QA dengan pesan bahwa tugas siap untuk diuji:



var entities = require('@jetbrains/youtrack-scripting-api/entities');
var QA_LEAD = 'qa_superman';

exports.rule = entities.Issue.onChange({
  title: 'Set_to_fixed_when_pull_request_is_merged_and_notify',
  guard: function(ctx) {
    return ctx.issue.pullRequests.isNotEmpty() && 
      ctx.issue.pullRequests.last().previousState && 
      ctx.issue.pullRequests.last().state.name !== ctx.issue.pullRequests.last().previousState.name &&
      ctx.issue.pullRequests.last().state.name === "MERGED";
  },
  action: function(ctx) {
    var issue = ctx.issue;
    issue.State = ctx.State.Fixed;
    issue.Assignee = entities.User.findByLogin(QA_LEAD);
    issue.addComment("The issue is ready to be tested");
  },
  requirements: {
    State: {
      type: entities.State.fieldType,
      Fixed: {
        name: "Fixed"
      }
    },
  }
});


Seperti sebelumnya, skrip dapat berjalan sesuai jadwal atau acara tertentu, bergantung pada proses Anda. Detail tentang alur kerja dan cara menulisnya dapat ditemukan di sini .



Apa lagi yang menarik?



Tentu saja, kami tidak membatasi diri kami hanya dengan melihat permintaan tarik. Di antara inovasi lainnya adalah widget pelacak waktu baru untuk dashboard (dashboard), sehingga lebih nyaman untuk memantau produktivitas dan tidak terbawa arus lembur di karantina.



gambar



Untuk pekerjaan yang nyaman dengan daftar tugas, kami telah menambahkan kemampuan untuk hanya menampilkan tugas yang belum selesai dalam satu klik dan mengurutkan tugas berdasarkan jumlah komentar. Basis pengetahuan mendapat penyorotan sintaks untuk blok kode dengan deteksi otomatis bahasa pemrograman, dan untuk pecinta penurunan harga, kami memungkinkan untuk mengubah ukuran gambar, video, dan file media lainnya yang disematkan dalam tugas dan artikel.



Ada berita bagi mereka yang menggunakan server LDAP untuk mengelola kredensial pengguna. YouTrack digunakan untuk memungkinkan Anda mengautentikasi dengan kredensial dari server LDAP, dan sekarang telah menambahkan sinkronisasi terjadwal dari grup pengguna dan atribut ke server LDAP. Ini akan membuat kredensial dan informasi keanggotaan grup LDAP tetap mutakhir - misalnya, ini akan membantu menghindari akses tidak sah ke data di pelacak jika pengguna belum menjadi anggota grup di server LDAP Anda, tetapi masih mendapatkan akses yang sesuai di pelacak karena latensi dalam sinkronisasi antara server LDAP dan YouTrack.



Detail semua perubahan dapat ditemukan di situs web kami .



Dan jika Anda baru mengenal YouTrack atau baru memulai, selamat datang di demo gratis dasar-dasar YouTrack kami.



All Articles