Urmăriți activitatea depozitului GitHub în timp real pe Slack folosind acest API.

Integrarea GitHub cu Slack vă va ajuta să eficientizați comunicarea echipei dvs. informându-le despre evenimentele din depozit în timp real. Această integrare ajută la colaborarea mai eficientă, la discutarea modificărilor în contextul bazei de cod și la abordarea rapidă a oricăror probleme care pot apărea în timpul dezvoltării.

În plus, integrarea GitHub cu Slack vă permite să personalizați notificările pentru a se potrivi fluxului de lucru unic al echipei dvs. Acest lucru minimizează distragerile și se concentrează pe ceea ce contează cu adevărat. Această abordare personalizată a comunicării împuternicește echipa dvs. să ia decizii informate și să întreprindă acțiuni în timp util, asigurând rezultate de cea mai înaltă calitate.

Pasul 1: Creați o nouă aplicație Slack

Pentru a urma, ar trebui să fii confortabil folosind platforma Slack. De asemenea, ar trebui să fiți familiarizat cu GitHub.

Primul pas al integrării este crearea unei noi aplicații Slack. Această aplicație va fi responsabilă pentru postarea mesajelor pe canalul Slack selectat atunci când are loc un eveniment de depozit. Pentru a crea o aplicație nouă, navigați la

instagram viewer
Site-ul Slack și conectați-vă la contul dvs. Apoi, creați un nou spațiu de lucru. Veți folosi acest spațiu de lucru pentru a vă testa aplicația înainte de a o instala în spațiul de lucru al echipei dvs.

Navigați la Site-ul web Slack API într-o filă nouă de browser.

Click pe Aplicațiile dvs buton. Pe pagina care apare, faceți clic pe Creați o nouă aplicație buton.

Alegeți opțiunea de a crea aplicația de la zero. Apoi denumește aplicația și alege spațiul de lucru în care vrei să o instalezi.

Faceți clic pe Creați aplicație buton. Această acțiune vă va crea noua aplicație Slack și vă va redirecționa către tabloul de bord al acesteia.

Pasul 2: Configurați un webhook Slack de intrare

Un webhook Slack Incoming vă permite să trimiteți mesaje din surse externe în spațiul dvs. de lucru Slack. Pentru a configura webhook-ul, alegeți Webhook-uri primite caracteristică. Asigurați-vă că porniți Activați Webhook-urile primite buton.

Derulați în jos la URL-uri webhook pentru spațiul dvs. de lucru secțiune. Faceți clic pe Adăugați un nou webhook la spațiul de lucru buton.

Slack vă va cere să alegeți canalul în care aplicația dvs. va posta mesaje. Alegeți canalul și faceți clic pe Permite buton.

Aceasta va adăuga aplicația dvs. la canalul selectat. Du-te înapoi la URL-uri webhook pentru spațiul dvs. de lucru secțiune. Copiați cel generat Adresa URL a webhook. Aceasta este adresa URL la care GitHub va trimite notificările de evenimente din depozit.

Ați terminat de configurat partea Slack.

Pasul 3: Configurați GitHub Repo

Navigați la Site-ul GitHub și conectați-vă la contul dvs. Accesați depozitul de la care doriți să primiți notificările evenimentului. Poti de asemenea creați un nou depozit. Faceți clic pe Acțiuni fila sub numele depozitului.

Apoi faceți clic pe configurați singur un flux de lucru legătură. Următoarea pagină care apare necesită să creați un fișier YAML în directorul fluxurilor de lucru GitHub. Acest fișier definește fluxul de lucru GitHub Actions responsabil pentru trimiterea notificărilor către spațiul de lucru Slack.

Veți scrie codul YAML în editorul integrat. Acest cod va integra GitHub cu Slack prin trimiterea de notificări către un canal Slack atunci când apar anumite evenimente în depozit.

Codul sursă complet utilizat în acest articol este disponibil în a Depozitul GitHub.

Pasul 4: Scrieți codul YAML pentru integrarea GitHub cu Slack

Denumiți-vă fluxul de lucru. Simțiți-vă liber să alegeți numele care vă place.

Nume:SlackNotificare

Specificați evenimentele care vor declanșa fluxul de lucru. Aici alegeți evenimentele despre care doriți ca echipa dvs. să fie notificată. Adăugați sau eliminați evenimentele pentru a se potrivi cerințelor dvs.

pe:
Apăsaţi:
pull_request:
probleme:
tipuri:
-deschis
-închis
-redeschis
-editat
-șters
-fixat
-desprins
-atribuit
-nealocate
-etichetat
-neetichetat
-a marcat
-demontat
issue_comment:
tipuri:[creată,editat,șters]
crea:
șterge:

Configurați-vă jobul și alegeți mediul virtual în care va rula. notify_slack este numele jobului. Îl poți schimba după bunul plac.

locuri de munca:
notify_slack:
rulează pe:ubuntu-latest

Configurați un pas care va fi responsabil pentru trimiterea unei notificări către Slack.

pași:
-Nume:TrimiteSlacknotificare

Definiți o variabilă de mediu numită SLACK_WEBHOOK_URL. Acesta va stoca URL-ul webhook-ului Slack. Mai târziu, veți adăuga adresa URL la secretele depozitului GitHub.

env:
SLACK_WEBHOOK_URL:${{secrete. SLACK_WEBHOOK_URL}}

Configurați acţiune-lege Acțiune GitHub. Care este o acțiune terță parte care se ocupă de logica de bază a interacțiunii cu API-ul Slack. Vă permite să vă concentrați pe configurarea mesajelor și evenimentelor care declanșează notificările. Acest lucru face procesul de trimitere a notificărilor către Slack mult mai ușor.

utilizeaza:8398a7/action-slack@v3

Acest cod folosește 8398a7/action-slack@v3acțiune.

Configurați 8398a7/action-slack@v3 acțiune cu parametri personalizați. The stare parametrul setează starea mesajului la personalizat. Vă va permite să definiți conținutul mesajului Slack folosind o sarcină utilă personalizată. The câmpuri parametrul listează câmpurile de inclus în mesajul Slack.

cu:
stare:personalizat
câmpuri:repo, commit, eveniment, acțiune, flux de lucru, ref, URL

Creeaza o sarcină_utilă_personalizată care va personaliza aspectul mesajului Slack pentru a se potrivi preferințelor dvs.

sarcină_utilă_personalizată:|
{
"atașamente":[
{
"culoare":"${{ job.status }}",
"titlu":>-
${{github.actor}}${{github.event.pull_request&&github.event.pull_request.merged==Adevărat&&„a îmbinat o cerere de extragere”||github.event.pull_request&&„a deschis o cerere de extragere”||github.nume_eveniment=='Apăsaţi'&&„a făcut noi schimbări”||github.nume_eveniment=='crea'&&„a creat o nouă ramură sau etichetă”||github.nume_eveniment=='șterge'&&„a șters o ramură sau o etichetă”||github.nume_eveniment==„probleme”&&github.event.action||„a declanșat un eveniment”}},
"text":>-
:tada:Detaliile evenimentului:

-Repertoriu:${{github.repository}}
-Filiala:${{github.ref}}
-Mesaj:${{github.nume_eveniment=='Apăsaţi'&&github.event.head_commit.message||github.nume_eveniment==„probleme”&&github.event.issue.title||github.nume_eveniment==„pull_request”&&github.event.pull_request.title||''}}
-:globe_with_meridians:Legătură:${{github.event.pull_request.html_url||github.event.issue.html_url||github.event.repository.html_url}}
}

]
}

Vă puteți referi la 8398a7/action-slack@v3 caz de utilizare personalizat pentru a găsi toate personalizările acceptate. Commiteți fișierul YAML pentru a crea noul flux de lucru.

Ultimul pas al integrării GitHub cu Slack este adăugarea unui nou secret de depozit. Secretul în acest caz este URL Slack Webhook ai copiat din Slack. Păstrați această adresă URL secretă, deoarece oricine are acces la el poate trimite mesaje în spațiul dvs. de lucru.

Navigați la setările depozitului dvs. Faceți clic pe secrete și variabile sub Securitate caracteristică. Selectează Acțiuni opțiune.

Click pe Secret de depozit nou. Adăugați numele secretului ca SLACK_WEBHOOK_URL. Apoi lipiți Slack URL în câmpul Secret. În cele din urmă, faceți clic pe Adăugați secret butonul pentru a salva noul secret.

Acum ați terminat de integrare GitHub cu Slack. De fiecare dată când are loc un eveniment în depozitul tău, un mesaj va fi afișat pe canalul tău. Încerca crearea unei noi cereri de extragere. Acest lucru va declanșa un eveniment push.

Captura de ecran de mai jos prezintă exemple de mesaje pe Slack care arată evenimente care au avut loc într-un depozit.

Puteți personaliza încărcarea utilă a mesajului pentru a include alte câmpuri pe care le puteți considera necesare.

Îmbunătățiți-vă productivitatea cu integrările Slack

GitHub nu este singura integrare Slack pe care o puteți adăuga în spațiul dvs. de lucru. Există numeroase integrări pe care le puteți folosi pentru a îmbunătăți productivitatea echipei dvs. și pentru a le îmbunătăți comunicarea. Familiarizarea cu aceste integrări vă va ajuta să simplificați fluxul de lucru al echipei și să vă mențineți pe toți pe aceeași pagină.