Pratite aktivnost GitHub repozitorija u stvarnom vremenu na Slacku koristeći ovaj API.

Integracija GitHuba sa Slackom pomoći će vam da pojednostavite komunikaciju vašeg tima informirajući ih o događajima u repozitoriju u stvarnom vremenu. Ova integracija pomaže u učinkovitijoj suradnji, raspravljanju o promjenama u kontekstu baze koda i brzom rješavanju problema koji se mogu pojaviti tijekom razvoja.

Štoviše, integracija GitHuba sa Slackom omogućuje vam prilagodbu obavijesti kako bi odgovarale jedinstvenom tijeku rada vašeg tima. To smanjuje ometanja i usredotočuje se na ono što je uistinu važno. Ovaj prilagođeni pristup komunikaciji osnažuje vaš tim da donosi informirane odluke i poduzima pravovremene radnje, osiguravajući najvišu kvalitetu rezultata.

Korak 1: Napravite novu Slack aplikaciju

Da biste slijedili, trebali biste se osjećati udobno koristeći Slack platformu. Također biste trebali biti upoznati s GitHubom.

Prvi korak integracije je izrada nove Slack aplikacije. Ova će aplikacija biti odgovorna za objavljivanje poruka na odabranom Slack kanalu kada se dogodi događaj repozitorija. Da biste izradili novu aplikaciju, idite na

Slack web mjesto i prijavite se na svoj račun. Zatim stvorite novi radni prostor. Koristit ćete ovaj radni prostor za testiranje svoje aplikacije prije nego što je instalirate u radni prostor svog tima.

Idite do Slack API web stranica u novoj kartici preglednika.

Kliknite na Vaše aplikacije dugme. Na stranici koja se pojavi kliknite na Izradi novu aplikaciju dugme.

Odaberite opciju za izradu aplikacije od nule. Zatim imenujte svoju aplikaciju i odaberite radni prostor na koji je želite instalirati.

Klikni na Izradi aplikaciju dugme. Ova će radnja stvoriti vašu novu Slack aplikaciju i preusmjeriti vas na njezinu nadzornu ploču.

Korak 2: Postavite Slack Incoming Webhook

Slack Incoming Webhook vam omogućuje slanje poruka iz vanjskih izvora u vaš Slack radni prostor. Za postavljanje webdojavnika odaberite Dolazni Webhookovi značajka. Provjerite jeste li uključili Aktivirajte dolazne web-dojavnike dugme.

Pomaknite se prema dolje do Webhook URL-ovi za vaš radni prostor odjeljak. Klikni na Dodajte novi Webhook u radni prostor dugme.

Slack će tražiti da odaberete kanal na kojem će vaša aplikacija objavljivati ​​poruke. Odaberite kanal i kliknite na Dopusti dugme.

Ovo će dodati vašu aplikaciju na odabrani kanal. Vratite se na Webhook URL-ovi za vaš radni prostor odjeljak. Kopirajte generirano Webhook URL. Ovo je URL na koji će GitHub slati obavijesti o događajima repozitorija.

Sada ste gotovi s konfiguriranjem Slack strane.

Korak 3: Konfigurirajte GitHub Repo

Idite do GitHub web stranica i prijavite se na svoj račun. Idite na spremište iz kojeg želite primati obavijesti o događajima. Također možete stvoriti novo spremište. Klikni na Radnje karticu ispod naziva repozitorija.

Zatim kliknite na sami postavite tijek rada veza. Sljedeća stranica koja se pojavi zahtijeva od vas da izradite YAML datoteku u GitHub direktoriju radnih procesa. Ova datoteka definira radni tijek GitHub Actions odgovoran za slanje obavijesti u vaš Slack radni prostor.

Napisat ćete YAML kod u integriranom editoru. Ovaj će kod integrirati GitHub sa Slackom slanjem obavijesti na Slack kanal kada se određeni događaji dogode u spremištu.

Potpuni izvorni kod korišten u ovom članku dostupan je u a GitHub spremište.

Korak 4: Napišite YAML kod za integraciju GitHuba sa Slackom

Imenujte svoj tijek rada. Slobodno odaberite ime po svom ukusu.

Ime:ZatišjeObavijest

Navedite događaje koji će pokrenuti tijek rada. Ovdje birate događaje o kojima želite da vaš tim bude obaviješten. Dodajte ili uklonite događaje kako bi odgovarali vašim zahtjevima.

na:
gurnuti:
pull_request:
pitanja:
vrste:
-otvorio
-zatvoreno
-ponovno otvorio
-uređivao
-izbrisano
-prikvačen
-otkvačen
-dodijeljen
-nedodijeljen
-označen
-bez natpisa
-prekretnica
-demilestoneed
problem_komentar:
vrste:[stvoreno,uređeno,izbrisano]
stvoriti:
izbrisati:

Konfigurirajte svoj posao i odaberite virtualno okruženje u kojem će se izvoditi. notify_slack je naziv posla. Možete ga mijenjati po želji.

poslovi:
notify_slack:
trčanje:ubuntu-najnoviji

Postavite korak koji će biti odgovoran za slanje obavijesti Slacku.

koraci:
-Ime:PoslatiZatišjeobavijest

Definirajte varijablu okruženja pod nazivom SLACK_WEBHOOK_URL. Pohranit će Slack webhook URL. Kasnije ćete URL dodati tajnama GitHubovog repozitorija.

okruženje:
SLACK_WEBHOOK_URL:${{tajne. SLACK_WEBHOOK_URL}}

Konfigurirajte akcija-slak GitHub akcija. Što je radnja treće strane koja obrađuje temeljnu logiku interakcije sa Slack API-jem. Omogućuje vam da se usredotočite na konfiguriranje poruka i događaja koji pokreću obavijesti. To čini proces slanja obavijesti Slacku mnogo lakšim.

koristi:8398a7/action-slack@v3

Ovaj kod koristi 8398a7/action-slack@v3akcijski.

Konfigurirajte 8398a7/action-slack@v3 radnja s prilagođenim parametrima. The status parametar postavlja status poruke na prilagođen. Omogućit će vam da definirate sadržaj Slack poruke koristeći prilagođeni korisni sadržaj. The polja parametar navodi polja koja treba uključiti u Slack poruku.

s:
status:prilagođen
polja:repo, predaja, događaj, akcija, tijek rada, referenca, URL

Stvoriti custom_payload koji će prilagoditi izgled Slack poruke prema vašim željama.

custom_payload:|
{
"prilozi":[
{
"boja":"${{ job.status }}",
"titula":>-
${{github.glumac}}${{github.event.pull_request&&github.event.pull_request.merged==pravi&&'spojio zahtjev za povlačenje'||github.event.pull_request&&'otvorio zahtjev za povlačenje'||github.ime_događaja=='gurnuti'&&'gurnuo nove promjene'||github.ime_događaja=='stvoriti'&&'stvorio novu granu ili oznaku'||github.ime_događaja=='izbrisati'&&'izbrisao granu ili oznaku'||github.ime_događaja=='pitanja'&&github.event.akcija||'pokrenuo događaj'}},
"tekst":>-
:tada:Detalji događaja:

-Spremište:${{github.repozitorij}}
-Podružnica:${{github.ref}}
-Poruka:${{github.ime_događaja=='gurnuti'&&github.event.head_commit.message||github.ime_događaja=='pitanja'&&github.event.issue.title||github.ime_događaja=='pull_request'&&github.event.pull_request.title||''}}
-:globus_s_meridijanima:Veza:${{github.event.pull_request.html_url||github.event.issue.html_url||github.event.repository.html_url}}
}

]
}

Možete se obratiti na 8398a7/action-slack@v3 slučaj prilagođene upotrebe pronaći sve podržane prilagodbe. Izvršite YAML datoteku za stvaranje novog tijeka rada.

Posljednji korak integracije GitHuba sa Slackom je dodavanje nove tajne repozitorija. Tajna u ovom slučaju je Slack Webhook URL kopirao si iz Slacka. Čuvajte ovaj URL u tajnosti jer svatko tko mu ima pristup može slati poruke u vaš radni prostor.

Dođite do postavki svog spremišta. Klikni na tajne i varijable ispod sigurnosti značajka. Odaberite Radnje opcija.

Kliknite na Nova tajna spremišta. Dodajte naziv tajne kao SLACK_WEBHOOK_URL. Zatim zalijepite Slack URL u Tajno polje. Na kraju kliknite na Dodaj tajnu gumb za spremanje nove tajne.

Sada ste završili integraciju GitHuba sa Slackom. Svaki put kada se događaj dogodi u vašem repozitoriju, poruka će se prikazati na vašem kanalu. Probati stvaranje novog zahtjeva za povlačenjem. To će pokrenuti push događaj.

Snimka zaslona u nastavku prikazuje primjere poruka na Slacku koje prikazuju događaje koji su se dogodili u spremištu.

Korisni sadržaj poruke možete prilagoditi kako biste uključili druga polja koja smatrate potrebnima.

Poboljšajte svoju produktivnost uz Slack integracije

GitHub nije jedina Slack integracija koju možete dodati svom radnom prostoru. Postoje brojne integracije koje možete koristiti za poboljšanje produktivnosti vašeg tima i njihovu komunikaciju. Upoznavanje s ovim integracijama pomoći će vam da pojednostavite tijek rada vašeg tima i zadržite sve na istoj stranici.