Farih.co.id
Home Programming Cara Mengintegrasikan GitHub Dengan Slack Menggunakan Slack API

Cara Mengintegrasikan GitHub Dengan Slack Menggunakan Slack API

how to integrate github with slack using the slack api featured image

Mengintegrasikan GitHub dengan Slack akan membantu Anda merampingkan komunikasi tim Anda dengan memberi tahu mereka tentang peristiwa penyimpanan real-time. Integrasi ini membantu berkolaborasi dengan lebih efisien, mendiskusikan perubahan dalam konteks basis kode, dan dengan cepat menangani masalah apa pun yang mungkin muncul selama pengembangan.


Selain itu, mengintegrasikan GitHub dengan Slack memungkinkan Anda menyesuaikan notifikasi agar sesuai dengan alur kerja unik tim Anda. Ini meminimalkan gangguan dan fokus pada apa yang benar-benar penting. Pendekatan komunikasi yang disesuaikan ini memberdayakan tim Anda untuk membuat keputusan berdasarkan informasi dan mengambil tindakan tepat waktu, memastikan hasil dengan kualitas terbaik.


Langkah 1: Buat Aplikasi Slack Baru

Untuk menindaklanjutinya, Anda harus merasa nyaman menggunakan platform Slack. Anda juga harus terbiasa dengan GitHub.

Langkah pertama integrasi adalah membuat aplikasi Slack baru. Aplikasi ini akan bertanggung jawab untuk memposting pesan di saluran Slack yang dipilih saat peristiwa repositori terjadi. Untuk membuat aplikasi baru, navigasikan ke Situs web kendur dan masuk ke akun Anda. Kemudian, buat ruang kerja baru. Anda akan menggunakan ruang kerja ini untuk menguji aplikasi Anda sebelum memasangnya di ruang kerja tim Anda.

Halaman ruang kerja situs web kendur

Arahkan ke Situs web API kendur di tab browser baru.

Beranda Slack API

Klik Aplikasi Anda tombol. Pada halaman yang muncul, klik pada Buat Aplikasi Baru tombol.

Halaman aplikasi situs web kendur

Pilih opsi untuk membuat aplikasi dari awal. Kemudian beri nama aplikasi Anda dan pilih ruang kerja tempat Anda ingin menginstalnya.

Penamaan aplikasi kendur dan pemilihan ruang kerja penginstalan

Klik pada Buat Aplikasi tombol. Tindakan ini akan membuat aplikasi Slack baru Anda dan mengarahkan Anda ke dasbornya.

Langkah 2: Siapkan Webhook Masuk Slack

Slack Incoming Webhook memungkinkan Anda mengirim pesan dari sumber eksternal ke ruang kerja Slack Anda. Untuk menyiapkan webhook, pilih Webhook masuk fitur. Pastikan Anda menyalakan Aktifkan Webhook Masuk tombol.

Halaman aktivasi webhook masuk yang lambat

Gulir ke bawah ke URL Webhook untuk Ruang Kerja Anda bagian. Klik pada Tambahkan Webhook Baru ke Workspace tombol.

Opsi fitur webhook Slack API

Slack akan meminta Anda memilih saluran tempat aplikasi Anda akan memposting pesan. Pilih saluran dan klik pada Mengizinkan tombol.

Halaman pemilihan saluran webhook kendur

Ini akan menambahkan aplikasi Anda ke saluran yang dipilih. Kembali ke URL Webhook untuk Ruang Kerja Anda bagian. Salin yang dihasilkan URL kait web. Ini adalah URL yang GitHub akan kirimkan notifikasi event repositori.

Halaman URL Slack Webhook

Anda sekarang telah selesai mengonfigurasi sisi Slack.

Langkah 3: Konfigurasi Repo GitHub

Arahkan ke situs web GitHub dan masuk ke akun Anda. Buka repositori tempat Anda ingin menerima pemberitahuan acara. Anda juga dapat membuat repositori baru. Klik pada Tindakan tab di bawah nama repositori.

Fitur tindakan repositori GitHub

Kemudian klik pada mengatur alur kerja sendiri tautan. Halaman berikutnya yang muncul mengharuskan Anda membuat file YAML di direktori alur kerja GitHub. File ini menentukan alur kerja GitHub Actions yang bertanggung jawab untuk mengirimkan notifikasi ke ruang kerja Slack Anda.

Halaman pembuatan file GitHub YAML

Anda akan menulis kode YAML di editor terintegrasi. Kode ini akan mengintegrasikan GitHub dengan Slack dengan mengirimkan notifikasi ke saluran Slack saat peristiwa tertentu terjadi di repositori.

Langkah 4: Tulis Kode YAML untuk Mengintegrasikan GitHub Dengan Slack

Beri nama alur kerja Anda. Jangan ragu untuk memilih nama yang Anda sukai.

 name: Slack Notification 

Tentukan peristiwa yang akan memicu alur kerja. Di sinilah Anda memilih acara yang ingin diberitahukan kepada tim Anda. Tambahkan atau hapus acara agar sesuai dengan kebutuhan Anda.

 on:
push:
pull_request:
issues:
   types:
     - opened
     - closed
     - reopened
     - edited
     - deleted
     - pinned
     - unpinned
     - assigned
     - unassigned
     - labeled
     - unlabeled
     - milestoned
     - demilestoned
issue_comment:
   types: [created, edited, deleted]
create:
delete:

Konfigurasikan pekerjaan Anda dan pilih lingkungan virtual yang akan dijalankannya. notify_slack adalah nama pekerjaannya. Anda dapat mengubahnya sesuai dengan keinginan Anda.

 jobs:
notify_slack:
   runs-on: ubuntu-latest

Siapkan langkah yang akan bertanggung jawab untuk mengirimkan notifikasi ke Slack.

 steps:
   - name: Send Slack notification

Tentukan variabel lingkungan bernama SLACK_WEBHOOK_URL. Ini akan menyimpan URL webhook Slack. Anda nantinya akan menambahkan URL ke rahasia repositori GitHub.

 env:
       SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

Konfigurasikan tindakan-slack Aksi GitHub. Yang merupakan tindakan pihak ketiga yang menangani logika dasar interaksi dengan Slack API. Ini memungkinkan Anda untuk fokus pada mengonfigurasi pesan dan acara yang memicu notifikasi. Ini membuat proses pengiriman notifikasi ke Slack menjadi lebih mudah.

      uses: 8398a7/action-slack@v3 

Kode ini menggunakan 8398a7/action-slack@v3 tindakan.

Konfigurasikan 8398a7/action-slack@v3 tindakan dengan parameter khusus. Itu status parameter mengatur status pesan ke kebiasaan. Ini akan memungkinkan Anda untuk menentukan konten pesan Slack menggunakan muatan khusus. Itu bidang parameter mencantumkan bidang yang akan disertakan dalam pesan Slack.

 with:
       status: custom
       fields: repo,commit,event,action,workflow,ref,URL

Membuat custom_payload yang akan menyesuaikan tampilan pesan Slack agar sesuai dengan preferensi Anda.

 custom_payload: |
{
   "attachments": [
     {
       "color": "${{ job.status }}",
       "title": >-
         ${{ github.actor }} ${{ github.event.pull_request && github.event.pull_request.merged == true && 'merged a pull request' || github.event.pull_request && 'opened a pull request' || github.event_name == 'push' && 'pushed new changes' || github.event_name == 'create' && 'created a new branch or tag' || github.event_name == 'delete' && 'deleted a branch or tag' || github.event_name == 'issues' && github.event.action || 'triggered an event' }},
       "text": >-
         :tada: Event details:
        
         - Repository: ${{ github.repository }}
         - Branch: ${{ github.ref }}
         - Message: ${{ github.event_name == 'push' && github.event.head_commit.message || github.event_name == 'issues' && github.event.issue.title || github.event_name == 'pull_request' && github.event.pull_request.title || '' }}
         - :globe_with_meridians: Link: ${{ github.event.pull_request.html_url || github.event.issue.html_url || github.event.repository.html_url }}
     }
    
   ]
}

Anda dapat merujuk ke Kasus penggunaan khusus 8398a7/action-slack@v3 untuk menemukan semua penyesuaian yang didukung. Komit file YAML untuk membuat alur kerja baru.

Langkah terakhir dalam mengintegrasikan GitHub dengan Slack adalah menambahkan rahasia repositori baru. Rahasia dalam hal ini adalah URL Webhook kendur Anda salin dari Slack. Jaga kerahasiaan URL ini karena siapa pun yang memiliki akses ke sana dapat mengirim pesan ke ruang kerja Anda.

Arahkan ke pengaturan repositori Anda. Klik pada rahasia dan variabel di bawah keamanan fitur. Pilih Tindakan pilihan.

Halaman rahasia dan variabel Tindakan GitHub

Klik Rahasia repositori baru. Tambahkan nama rahasia sebagai SLACK_WEBHOOK_URL. Lalu tempelkan URL kendur ke bidang Rahasia. Terakhir, klik pada Tambahkan Rahasia tombol untuk menyimpan rahasia baru.

Anda sekarang telah selesai mengintegrasikan GitHub dengan Slack. Setiap kali suatu peristiwa terjadi di repositori Anda, sebuah pesan akan ditampilkan di saluran Anda. Coba buat permintaan tarik baru. Ini akan memicu acara push.

Tangkapan layar di bawah menunjukkan contoh pesan di Slack yang menunjukkan peristiwa yang terjadi di repositori.

Pesan Diposting pada kendur sebagai akibat dari peristiwa repositori

Anda dapat menyesuaikan muatan pesan untuk menyertakan bidang lain yang mungkin diperlukan.

Tingkatkan Produktivitas Anda Dengan Integrasi Slack

GitHub bukan satu-satunya integrasi Slack yang dapat Anda tambahkan ke ruang kerja Anda. Ada banyak integrasi yang dapat Anda gunakan untuk meningkatkan produktivitas tim Anda dan meningkatkan komunikasi mereka. Membiasakan diri dengan integrasi ini akan membantu Anda merampingkan alur kerja tim dan membuat semua orang memiliki pemahaman yang sama.

Comment
Share:

Leave a Reply

Your email address will not be published. Required fields are marked *

Ad