Integrasi GitHub untuk Slack memberi Anda dan tim Anda visibilitas penuh ke dalam proyek GitHub Anda langsung di saluran Slack, tempat Anda dapat menghasilkan ide, melakukan triase masalah, dan berkolaborasi dengan tim lain untuk memajukan proyek. Integrasi ini adalah proyek sumber terbuka, dibangun dan dikelola oleh GitHub.
Aplikasi ini secara resmi mendukung GitHub.com (yang mencakup penawaran kami yang dihosting di cloud GitHub Enterprise) dan Slack.com.
Integrasi GHES dengan Slack.com kini menjadi GA dengan GHES 3.8. Langkah-langkah rinci untuk mengintegrasikan Slack dengan GHES dapat ditemukan di sini.
Instal integrasi GitHub untuk Slack. Setelah Anda masuk ke ruang kerja Slack, Anda akan diminta untuk memberikan akses aplikasi:
Setelah aplikasi diinstal, dan setelah Anda menambahkan integrasi GitHub ke saluran yang relevan menggunakan /invite @github
, Anda akan melihat pratinjau tautan ke masalah GitHub, permintaan tarik, dan kode yang dirender sebagai teks kaya di ruang kerja Anda.
Setelah Anda menginstal aplikasi, kini Anda dapat berinteraksi dengan aplikasi GitHub sebagai aplikasi Pribadi atau akses dari saluran. Setelah aplikasi diinstal di ruang kerja, aplikasi GitHub diaktifkan di semua saluran publik. Untuk saluran pribadi, Anda perlu mengundang /invite @github
secara eksplisit
Pada titik ini, akun pengguna Slack dan GitHub Anda sekarang sudah tertaut. Anda akan diminta untuk terhubung ke GitHub. Ini adalah langkah utama yang diperlukan untuk mengakses aplikasi. Alternatifnya, kita juga dapat terhubung dengan menjalankan /github signin
.
Dan setelah Anda terhubung, Anda akan melihat langkah selanjutnya dan daftar fungsi yang tersedia untuk Anda.
Perintah /github
garis miring juga menerima argumen subscribe
yang dapat Anda gunakan untuk berlangganan aktivitas Organisasi atau Repositori /github subscribe <organization>/<repository>
.
Jika Anda awalnya memberi aplikasi akses ke "Semua repositori" dan Anda telah membuat repositori pribadi baru di GitHub setelah menginstal integrasi GitHub untuk Slack, perintah /github subscribe
akan bekerja secara otomatis di repositori baru Anda. Jika Anda menginstal aplikasi pada subkumpulan repositori, aplikasi akan meminta Anda menginstalnya pada repositori baru.
Perintah garis miring /github
juga mendukung unsubscribe
. Untuk berhenti berlangganan notifikasi dari repositori, gunakan /github unsubscribe <organization>/<repository>
Dengan memberikan akses aplikasi, Anda memberikan otorisasi berikut ke akun GitHub dan Slack Anda:
Ruang lingkup izin | Mengapa kita membutuhkannya |
---|---|
Akses percakapan pribadi antara Anda dan Aplikasi | Untuk mengirim pesan kepada Anda dengan instruksi. |
Lihat tautan ke GitHub.com dalam pesan | Untuk merender tautan kaya dari github.com |
Tambahkan pratinjau tautan ke GitHub.com ke pesan | Untuk merender tautan kaya ke github.com |
Tambahkan perintah garis miring | Untuk menambahkan perintah garis miring /github ke ruang kerja Slack Anda |
Melihat nama, domain email, dan ikon ruang kerja atau organisasi | Untuk menyimpan langganan yang Anda siapkan |
Posting pesan sebagai aplikasi | Untuk memberi tahu Anda tentang aktivitas yang terjadi di GitHub, di Slack |
Ruang lingkup izin | Mengapa kita membutuhkannya |
---|---|
Akses baca ke kode | Untuk merender cuplikan kode di Slack |
Akses baca ke tindakan, status penerapan, pemeriksaan, diskusi, masalah, metadata, permintaan penarikan, dan proyek repositori | Untuk merender pratinjau tautan yang dibagikan di Slack |
Akses tulis ke tindakan, masalah, penerapan, dan permintaan penarikan | Untuk mengambil tindakan dari Slack dengan perintah /github dan langsung dari pesan |
Di repositori, aplikasi memberi tahu tentang peristiwa open
, close
, dan re-open
pada permintaan pull dan masalah di repositori langganan Anda. Ini juga memberitahukan setiap push
langsung ke cabang default repositori.
Anda dapat menyesuaikan notifikasi dengan berlangganan aktivitas yang relevan dengan saluran Slack Anda, dan berhenti berlangganan aktivitas yang kurang bermanfaat bagi proyek Anda.
Pengaturan dikonfigurasi dengan perintah garis miring /github
:
/github subscribe owner/repo [feature]
/github unsubscribe owner/repo [feature]
Ini diaktifkan secara default, dan dapat dinonaktifkan dengan perintah /github unsubscribe owner/repo [feature]
:
issues
- Masalah terbuka atau tertutuppulls
- Permintaan penarikan baru atau gabungan, serta permintaan penarikan draf yang ditandai "Siap untuk Ditinjau"commits
- Komit baru pada cabang default (biasanya main
)releases
- Rilis yang diterbitkandeployments
- Pembaruan status penerapan. Ini dinonaktifkan secara default, dan dapat diaktifkan dengan perintah /github subscribe owner/repo [feature]
:
workflows
- Alur kerja tindakan menjalankan notifikasireviews
- Tarik permintaan ulasancomments
- Komentar baru tentang masalah dan permintaan penarikanbranches
- Cabang yang dibuat atau dihapuscommits:*
- Semua komitmen didorong ke cabang mana pun+label:"your label"
- Filter masalah, permintaan tarik, dan komentar berdasarkan labelnya.discussions
- Diskusi dibuat atau dijawabAnda dapat berlangganan atau berhenti berlangganan dari beberapa pengaturan sekaligus. Misalnya, untuk mengaktifkan aktivitas ulasan dan komentar permintaan tarik:
/github subscribe owner/repo reviews comments
Dan untuk mematikannya kembali:
/github unsubscribe owner/repo reviews comments
Filter cabang memungkinkan pemfilteran pemberitahuan penerapan. Secara default ketika Anda berlangganan fitur commit, Anda akan mendapatkan notifikasi untuk cabang default Anda (yaitu utama). Namun, Anda dapat memilih untuk memfilter cabang tertentu, atau pola cabang, atau semua cabang.
/github subscribe org/repo commits
untuk melakukan notifikasi dari cabang default./github subscribe org/repo commits:*
untuk notifikasi commit di semua cabang./github subscribe org/repo commits:myBranch
untuk notifikasi commit dari cabang tertentu./github subscribe org/repo commits:users/*
untuk notifikasi commit dari pola cabang.Anda dapat berhenti berlangganan fitur komitmen menggunakan `@github berhenti berlangganan komitmen organisasi/repo.
Catatan : Sebelumnya, Anda mungkin menggunakan commits:all
untuk mewakili semua cabang. 'semua' bukan lagi kata kunci khusus. Kedepannya, Anda perlu menggunakan '*' untuk mewakili semua cabang. Jika Anda sudah mengonfigurasi dengan 'commits:all' sebelumnya, jangan khawatir, ini akan terus berfungsi sampai Anda memperbarui konfigurasi commit.
Filter label memungkinkan pemfilteran peristiwa masuk berdasarkan daftar label diperlukan yang diizinkan.
Ini adalah ikhtisar jenis peristiwa yang dipengaruhi oleh filter label yang diperlukan.
Peristiwa | Difilter |
---|---|
Menarik | ✅ Ya |
Komentar (PR dan Masalah) | ✅ Ya |
Masalah | ✅ Ya |
Tinjauan | ✅ Ya |
Komit/Dorong | TIDAK |
Cabang | TIDAK |
Buat filter dengan:
/github subscribe owner/repo +label:"priority:HIGH"
Tindakan ini akan membuat filter label wajib dengan priority:HIGH
. Acara masuk yang mendukung filter akan dibuang kecuali acara tersebut memiliki label tersebut.
Untuk memperbarui filter yang ada cukup masukkan yang baru, yang lama akan diperbarui. Saat ini, kami hanya mendukung satu filter. Beberapa filter mungkin didukung di masa mendatang.
/github subscribe owner/repo +label:"teams/designers"
Sekarang filter yang ada priority:HIGH
telah digantikan oleh teams/designers
.
Menghapus filter tersedia melalui unsubscribe
/github unsubscribe owner/repo +label:teams/designers
Ini menghapus filter teams/designers
.
Untuk melihat filter yang sedang aktif gunakan
/github subscribe list features
Biasanya terdapat karakter khusus tertentu pada label. Oleh karena itu kami menambahkan dukungan untuk karakter khusus paling umum untuk filter label. Berikut beberapa contohnya:
label:"priority:HIGH"
label:"teams/designers"
label:"DO NOT MERGE"
label:"very important"
label:":construction: WIP"
Sebagian besar label akan berfungsi dengan lancar, termasuk semua emoji yang disediakan oleh slack dan github. Namun dalam keadaan yang jarang terjadi berikut ini Anda mungkin mengalami kesulitan:
:foo:
,
sudah dipesanAnda dapat berlangganan pemberitahuan alur kerja Tindakan GitHub dari saluran atau aplikasi pribadi Anda menggunakan fitur "alur kerja".
Mendapatkan pemberitahuan tentang setiap pemberitahuan alur kerja yang dijalankan bisa jadi berisik. Jadi, kami memberi Anda kemampuan untuk memfilter notifikasi berdasarkan kebutuhan Anda. Anda dapat memfilter notifikasi alur kerja tindakan Anda berdasarkan nama, peristiwa, aktor dan/atau cabang. Anda dapat memfilter notifikasi seperti di bawah ini.
/github subscribe owner/repo workflows:{name:"your workflow name" event:"workflow event" branch:"branch name" actor:"actor name"}
Anda dapat meneruskan beberapa entri untuk masing-masing peristiwa dalam daftar terpisah koma seperti contoh di bawah ini: /github subscribe org/repo workflows:{event:"pull_request","push" branch:"main","dev" actor:"ashokirla"}
Secara default, saat Anda mengonfigurasi notifikasi alur kerja tanpa meneruskan filter apa pun, notifikasi tersebut dikonfigurasi untuk alur kerja yang dipicu melalui permintaan tarik yang menargetkan cabang default Anda. Anda dapat meneruskan satu atau beberapa entri.
Anda dapat berhenti berlangganan pemberitahuan alur kerja hanya dengan menjalankan perintah di bawah ini: /github unsubscribe org/repo workflows
Untuk menerima notifikasi di atas, Anda perlu memberikan akses untuk menerima peristiwa Actions oleh aplikasi GitHub di Slack. Anda akan diminta untuk melakukannya saat mencoba berlangganan fitur workflows
untuk organisasi Anda untuk pertama kalinya.
Kami mendukung pemberitahuan terpisah untuk penerapan Anda. Penerapan ini dapat terjadi dari Actions atau dari sumber eksternal menggunakan api Deployments.
Anda dapat mengaktifkan/menonaktifkan fitur ini dengan menjalankan:
/github subscribe/unsubscribe org/repo deployments
Catatan: Jika Anda menggunakan tindakan GitHub dan ingin melacak penerapan Anda ke lingkungan, sebaiknya gunakan fitur workflows
baru karena fitur ini menampilkan gambaran lengkap dan memberi Anda kemampuan untuk menyetujui penerapan Anda di tempat.
Saat Anda berlangganan repositori di Slack, Anda sekarang akan melihat diri Anda disebutkan dalam notifikasi tempat Anda dirujuk dan membutuhkan perhatian Anda.
Saat Anda menerima notifikasi untuk Masalah, PR, dan Penerapan, berikut adalah kasus-kasus di mana Anda akan disebutkan.
Dan bagian terbaiknya adalah - kini Anda dapat melihat ringkasan notifikasi GitHub tempat Anda disebutkan sebagai bagian dari bagian 'Sebutan & reaksi' di Slack.
Sebutan hanya akan berfungsi jika Anda masuk ke aplikasi GitHub di ruang kerja Slack Anda (menggunakan perintah garis miring /github signin
). Saat Anda masuk ke aplikasi GitHub dengan id GitHub Anda, kami memetakannya dengan id Slack Anda dan melakukan ping ke Anda di Slack setiap kali Anda disebutkan dalam notifikasi GitHub mana pun.
Catatan : Jika Anda memiliki beberapa ruang kerja Slack tempat Anda menggunakan aplikasi GitHub, penyebutan hanya akan berfungsi di ruang kerja tempat Anda masuk ke aplikasi GitHub terakhir kali.
Pemberitahuan untuk setiap Masalah dan PR dikelompokkan dalam kartu induk sebagai balasan. Kartu induk selalu menunjukkan status terkini dari Issue/PR beserta meta-data lainnya seperti judul, deskripsi, penerima tugas, reviewer, label dan cek. Threading memberikan konteks dan membantu meningkatkan kolaborasi dalam saluran.
Hal ini akan mengurangi kebisingan di saluran. Dan fitur sebutan kami memastikan bahwa hanya mereka yang terlibat dalam rangkaian percakapan yang diberi tahu. Hanya kartu induk yang diposting ke saluran dan notifikasi lainnya akan ditambahkan sebagai balasan di thread. Namun, aktivitas perubahan status seperti masalah tutup/buka kembali ditambahkan ke thread sebagai balasan dan juga diposting ke saluran karena ini mungkin menarik bagi grup.
Jika Anda telah berlangganan pemberitahuan komentar dan ulasan, dan Anda juga ingin anggota saluran melihatnya, bukan hanya mereka yang menjadi peserta dalam masalah tersebut, Anda dapat ikut serta dalam hal yang sama dengan menjalankan
/github subscribe org/repo comments:"channel"
dan
/github subscribe org/repo reviews:"channel"
Catatan: Secara default, komentar dan ulasan hanya akan muncul di thread. Dan Anda perlu menjalankan perintah di atas secara eksplisit untuk memastikan komentar juga mulai mengalir ke saluran.
Jika Anda adalah peserta dalam sebuah terbitan/harga yang disebutkan dalam komentar atau ditambahkan sebagai penerima tugas/peninjau, fitur penyebutan kami memastikan Anda diberi tahu di bagian topik di Slack. Anda tidak perlu membuka saluran untuk isu/prs yang memerlukan perhatian Anda. Anda dapat fokus pada hal-hal yang Anda butuhkan dan fitur threading kami memastikan Anda mendapatkan gambaran lengkap dan Anda dapat langsung mengambil tindakan dari sana. Ini adalah fitur yang sangat kuat yang memastikan, Anda tidak melewatkan masalah/masalah apa pun yang memerlukan perhatian Anda.
Namun, jika Anda benar-benar yakin bahwa Anda tidak perlu melihat masalah/pembaruan PR di thread dan menganggapnya sebagai gangguan, kami dapat menyarankan solusi cepat agar tidak ada lagi ping atau entri ke thread Anda. Aplikasi GitHub kami hanya menyebut Anda di ruang kerja Slack tempat Anda terakhir kali masuk ke GitHub. Anda dapat membuka ruang kerja Slack yang paling jarang digunakan atau ruang kerja Slack pribadi dan masuk ke GitHub dengan aplikasi GitHub kami dari sana. Maka Anda tidak akan di-ping atau melihat pembaruan di thread di ruang kerja utama lainnya.
Jika Anda tidak menginginkan fungsionalitas threading atau belum siap beradaptasi dengan model baru, kami ingin memberi Anda fleksibilitas. Anda dapat menonaktifkan/mengaktifkan threading untuk pemberitahuan Masalah dan permintaan Tarik di saluran Anda. Anda dapat pergi ke saluran di mana Anda tidak memerlukan threading dan menjalankan perintah berikut. /github settings
Anda akan melihat opsi untuk Nonaktifkan/Aktifkan threading untuk saluran itu. Setiap anggota yang menjadi bagian saluran akan dapat melakukan tindakan ini.
Percakapan yang santai sering kali menghasilkan keputusan dan kesimpulan yang dapat ditindaklanjuti. Kini lebih mudah untuk memulai langkah selanjutnya dari Slack.
Anda tidak perlu lagi beralih atau mengalihkan ke GitHub untuk melakukan tindakan apa pun terhadap suatu masalah. Anda benar-benar dapat membuat dan mengelola masalah dari tempat Anda berkolaborasi, yaitu Slack.
Kini Anda dapat membuat masalah hanya dengan satu klik, langsung dari tempat Anda berkolaborasi. Di saluran/aplikasi pribadi/grup atau obrolan langsung mana pun, kini Anda dapat mengeklik tiga titik (...) di sudut kanan atas pesan dan memilih 'Buat Masalah GitHub' dari daftar. Ini akan meluncurkan dialog pembuatan masalah.
Alternatifnya, Anda dapat membuat masalah dari Slack dengan dua cara lain.
/github open
dari kotak obrolan. Catatan: Anda harus masuk dan memiliki akses yang diperlukan ke repo untuk melakukan tindakan apa pun.
Anda juga dapat mengelola siklus masalah langsung dari obrolan. Saat Anda berlangganan repo dan mendapatkan notifikasi masalah atau saat Anda membuat terbitan baru dari Slack, Anda kini akan melihat kartu terbitan dengan tombol Ajakan Bertindak, beri komentar, edit, tutup/buka kembali. Anda dapat melakukan tindakan ini langsung dari chat.
Catatan: Saat Anda melakukan tindakan pada kartu terbitan dari Slack, responsnya ditambahkan sebagai balasan ke rangkaian pesan meskipun Anda tidak berlangganan aktivitas tersebut melalui langganan. Namun, jika Anda berlangganan, Anda juga akan mendapat notifikasi untuk aktivitas yang terjadi di luar Slack.
Saat pengguna memposting tautan GitHub ke isu dan permintaan penarikan , komentar yang ditautkan secara langsung, gumpalan kode dengan nomor baris, serta organisasi, repositori, dan pengguna di Slack, pratinjau tautan akan ditampilkan.
Pratinjau tautan tidak akan ditampilkan jika:
github.com
telah dinonaktifkan untuk ruang kerja Anda/invite @github
Pengingat terjadwal digunakan untuk memastikan bahwa pengguna fokus pada permintaan ulasan paling penting yang memerlukan perhatian mereka. Pengingat terjadwal untuk permintaan penarikan akan mengirimkan pesan kepada Anda di Slack dengan permintaan penarikan terbuka yang memerlukan peninjauan Anda pada waktu tertentu. Misalnya, Anda dapat mengatur pengingat terjadwal untuk mengirimi Anda pesan di Slack setiap pagi pukul 10 pagi dengan permintaan penarikan yang perlu ditinjau oleh Anda atau salah satu tim Anda.
Anda dapat mengonfigurasi pengingat terjadwal untuk Anda (pengingat pribadi), tim Anda, dan organisasi Anda.
Pengingat terjadwal pribadi dikonfigurasikan sebagai bagian dari aplikasi pribadi GitHub Anda di Slack. Anda dapat mengatur pengingat terjadwal untuk permintaan tinjauan tingkat pribadi atau tim untuk permintaan penarikan di organisasi tempat Anda menjadi anggota. Sebagai bagian dari pengingat pribadi, Anda juga dapat mengonfigurasi peringatan waktu nyata untuk permintaan penarikan Anda. Anda dapat menemukan detail lebih lanjut di sini.
Anda dapat mengonfigurasi pengingat terjadwal untuk permintaan penarikan yang tertunda sebagai bagian dari saluran Slack Anda sehingga tim Anda dapat terus memantau pekerjaan Anda. Untuk saluran Slack tertentu, Anda dapat mengonfigurasi pengingat terjadwal untuk organisasi atau tim Anda. Untuk detail selengkapnya tentang mengonfigurasi pengingat terjadwal, Anda harus mengunjungi, pengingat tingkat organisasi, dan pengingat tingkat tim.
Jika Anda menggunakan Slack Enterprise Grid dan memiliki beberapa ruang kerja Slack di organisasi tempat Anda perlu menggunakan GitHub, Anda dapat menginstal dan mengelola aplikasi GitHub di Slack Enterprise Grid. Pemilik organisasi dan Admin organisasi di jaringan Slack Enterprise dapat:
Kelola permintaan penginstalan aplikasi GitHub dari anggota ruang kerja Anda.
Jadikan aplikasi GitHub tersedia di semua ruang kerja masa depan secara default.
Hanya admin organisasi grid perusahaan dan pemilik organisasi yang dapat menginstal dan mengelola aplikasi GitHub di tingkat grid.
Anda dapat menginstal aplikasi GitHub di level organisasi dengan mengklik di sini dan memilih organisasi grid perusahaan yang akan diinstal.
Kami mengumumkan integrasi GA untuk GHES dengan Slack dengan GHES 3.8.
Dengan integrasi ini, Anda sekarang dapat berlangganan repositori di instans GHES Anda dan mendapatkan pembaruan langsung tentang Masalah, PR, Komit, dan Penerapan Anda di Slack. Dan Anda juga dapat mengambil tindakan seperti memberi komentar, membuka/menutup masalah, dan menyetujui penerapan Anda langsung dari Slack.
Dimulai dengan GHES 3.8, kami mengirimkan layanan ChatOps khusus yang dibundel bersama dengan server GHES Anda. Dan Anda dapat memilih untuk berintegrasi dengan ruang kerja Slack Anda. Dengan integrasi kami untuk GHES, Anda akan mendapatkannya
Pengalaman yang sepenuhnya aman dan terukur: Semua informasi langganan Anda dan metadata lainnya tetap berada dalam pengaturan GHES Anda. Jadi, Anda tidak perlu khawatir tentang aliran data ke layanan eksternal mana pun.
Konektivitas dua arah antara GHES dan Slack: Integrasi GHES kami bukan sekadar layanan notifikasi. Ini juga memungkinkan Anda melakukan tindakan langsung dari obrolan. Jadi, satu-satunya prasyarat yang Anda perlukan untuk memastikan instance GHES Anda dapat diakses dari Slack. Dengan mengaktifkan mode Socket, hanya akses masuk dari Slack yang diperlukan.
Aplikasi GitHub yang Anda lihat di app store hanya dapat digunakan untuk integrasi GHEC (Github yang dihosting). Untuk mengintegrasikan instans GHES Anda dengan Slack, Anda perlu mengonfigurasi aplikasi GHES pribadi. Berikut langkah-langkah untuk berintegrasi dengan GHES.
<instancename>/_slack/
atau slack.<instancename>
untuk menginstal aplikasi di ruang kerja Anda.Proksi saat ini tidak didukung.
Jika Anda memiliki pertanyaan atau masalah, silakan hubungi kami dengan mencatat masalah di sini. Atau silakan isi formulir Dukungan GitHub dan permintaan Anda akan diteruskan ke tim yang tepat di GitHub.
Repositori ini tidak menerima kontribusi kode apa pun. Kode saat ini yang berjalan untuk GitHub dan integrasi untuk Slack telah menyimpang secara signifikan dari kode yang ada di repositori ini karena berisi kode spesifik yang diperlukan untuk menjalankan layanan di infrastruktur GitHub dan yang tidak dapat dijadikan sumber terbuka pada saat ini. Kami akan terus menggunakan masalah dalam repositori ini untuk mendapatkan masukan dari pelanggan . |
Proyek ini tersedia sebagai open source di bawah ketentuan Lisensi MIT.
Saat menggunakan logo GitHub, pastikan untuk mengikuti pedoman logo GitHub.