Volg GitHub-repository-activiteit in realtime op Slack met behulp van deze API.

Door GitHub met Slack te integreren, kunt u de communicatie van uw team stroomlijnen door hen te informeren over real-time repository-gebeurtenissen. Deze integratie helpt om efficiënter samen te werken, wijzigingen in de context van de codebasis te bespreken en eventuele zorgen die tijdens de ontwikkeling kunnen ontstaan, snel aan te pakken.

Bovendien kun je door GitHub met Slack te integreren meldingen aanpassen aan de unieke workflow van je team. Dit minimaliseert afleiding en richt zich op wat er echt toe doet. Deze op maat gemaakte benadering van communicatie stelt uw team in staat om weloverwogen beslissingen te nemen en tijdig actie te ondernemen, waardoor de hoogste kwaliteit wordt gegarandeerd.

Stap 1: Maak een nieuwe Slack-app

Om door te gaan, moet u zich op uw gemak voelen met behulp van het Slack-platform. Je moet ook bekend zijn met GitHub.

De eerste integratiestap is het maken van een nieuwe Slack-app. Deze app is verantwoordelijk voor het plaatsen van berichten op het geselecteerde Slack-kanaal wanneer er zich een repository-gebeurtenis voordoet. Om een ​​nieuwe app te maken, navigeert u naar de

instagram viewer
Slack-website en log in op uw account. Maak vervolgens een nieuwe werkruimte aan. U gebruikt deze werkruimte om uw app te testen voordat u deze in de werkruimte van uw team installeert.

Navigeer naar de Slack API-website in een nieuw browsertabblad.

Klik op Uw apps knop. Klik op de pagina die verschijnt op de Nieuwe app maken knop.

Kies de optie om de app helemaal opnieuw te maken. Geef vervolgens uw app een naam en kies de werkruimte waarin u deze wilt installeren.

Klik op de App maken knop. Met deze actie wordt uw nieuwe Slack-app gemaakt en wordt u omgeleid naar het dashboard.

Stap 2: Stel een slappe inkomende webhook in

Met een Slack Incoming Webhook kun je berichten van externe bronnen naar je Slack-werkruimte sturen. Om de webhook in te stellen, kiest u de Inkomende webhooks functie. Zorg ervoor dat u de Activeer inkomende webhooks knop.

Scroll naar beneden naar de Webhook-URL's voor uw werkruimte sectie. Klik op de Nieuwe webhook toevoegen aan werkruimte knop.

Slack zal je vragen het kanaal te kiezen waarin je app berichten zal plaatsen. Kies het kanaal en klik op de Toestaan knop.

Hiermee wordt uw app toegevoegd aan het geselecteerde kanaal. Ga terug naar de Webhook-URL's voor uw werkruimte sectie. Kopieer het gegenereerde Webhook-URL. Dit is de URL waar GitHub de repository-gebeurtenismeldingen naar zal sturen.

U bent nu klaar met het configureren van de Slack-zijde.

Stap 3: Configureer de GitHub Repo

Navigeer naar de GitHub-website en log in op uw account. Ga naar de repository waarvan je de gebeurtenismeldingen wilt ontvangen. Je kan ook een nieuwe opslagplaats maken. Klik op de Acties tabblad onder de naam van de repository.

Klik dan op de zelf een workflow opzetten koppeling. Op de volgende pagina die verschijnt, moet u een YAML-bestand maken in de GitHub-workflows-directory. Dit bestand definieert de GitHub Actions-workflow die verantwoordelijk is voor het verzenden van meldingen naar uw Slack-werkruimte.

Je schrijft de YAML-code in de geïntegreerde editor. Deze code integreert GitHub met Slack door meldingen naar een Slack-kanaal te sturen wanneer specifieke gebeurtenissen plaatsvinden in de repository.

De volledige broncode die in dit artikel wordt gebruikt, is beschikbaar in een GitHub-opslagplaats.

Stap 4: schrijf de YAML-code voor het integreren van GitHub met Slack

Geef uw workflow een naam. Voel je vrij om de naam van je keuze te kiezen.

naam:slapKennisgeving

Geef de gebeurtenissen op die de werkstroom activeren. Hier kiest u de gebeurtenissen waarvan u wilt dat uw team op de hoogte wordt gehouden. Voeg evenementen toe of verwijder ze om aan uw vereisten te voldoen.

op:
duw:
pull_request:
problemen:
soorten:
-geopend
-gesloten
-heropend
-bewerkt
-verwijderd
-vastgezet
-losgemaakt
-toegewezen
-niet toegewezen
-gelabeld
-ongelabeld
-mijlpaal bereikt
-gedemijld
issue_comment:
soorten:[gemaakt,bewerkt,verwijderd]
creëren:
verwijderen:

Configureer uw taak en kies de virtuele omgeving waarop deze wordt uitgevoerd. notificatie_slack is de naam van de baan. Je kunt het naar wens veranderen.

banen:
notificatie_slack:
draait op:ubuntu-nieuwste

Stel een stap in die verantwoordelijk is voor het verzenden van een melding naar Slack.

stappen:
-naam:Versturenslapkennisgeving

Definieer een omgevingsvariabele met de naam SLACK_WEBHOOK_URL. Het slaat de Slack-webhook-URL op. U voegt later de URL toe aan de repositorygeheimen van GitHub.

env:
SLACK_WEBHOOK_URL:${{geheimen. SLACK_WEBHOOK_URL}}

Configureer de actie-slap GitHub-actie. Dit is een actie van derden die de onderliggende logica van interactie met de Slack API afhandelt. Hiermee kunt u zich concentreren op het configureren van de berichten en gebeurtenissen die de meldingen activeren. Dit maakt het verzenden van meldingen naar Slack veel eenvoudiger.

toepassingen:8398a7/action-slack@v3

Deze code maakt gebruik van de 8398a7/action-slack@v3actie.

Configureer de 8398a7/action-slack@v3 actie met aangepaste parameters. De toestand parameter stelt de berichtstatus in op aangepast. Hiermee kunt u de inhoud van het Slack-bericht definiëren met behulp van een aangepaste payload. De velden parameter somt de velden op die in het Slack-bericht moeten worden opgenomen.

met:
toestand:aangepast
velden:repo, commit, gebeurtenis, actie, workflow, ref, URL

Maak een custom_payload dat zal het uiterlijk van het Slack-bericht aanpassen aan uw voorkeuren.

custom_payload:|
{
"bijlagen":[
{
"kleur":"${{ werkstatus }}",
"titel":>-
${{github.acteur}}${{github.event.pull_request&&github.event.pull_request.samengevoegd==WAAR&&'een pull-aanvraag samengevoegd'||github.event.pull_request&&'heeft een pull-aanvraag geopend'||github.event_naam=='duw'&&'geduwd nieuwe veranderingen'||github.event_naam=='creëren'&&'heeft een nieuwe tak of tag gemaakt'||github.event_naam=='verwijderen'&&'verwijderde een tak of tag'||github.event_naam=='problemen'&&github.event.actie||'heeft een gebeurtenis veroorzaakt'}},
"tekst":>-
:tada:Evenementgegevens:

-Opslagplaats:${{github.repository}}
-Tak:${{github.ref}}
-Bericht:${{github.event_naam=='duw'&&github.event.head_commit.message||github.event_naam=='problemen'&&github.event.issue.titel||github.event_naam=='pull_request'&&github.event.pull_request.title||''}}
-:globe_met_meridianen:Koppeling:${{github.event.pull_request.html_url||github.event.issue.html_url||github.event.repository.html_url}}
}

]
}

U kunt verwijzen naar de 8398a7/action-slack@v3 aangepaste use-case om alle ondersteunde aanpassingen te vinden. Leg het YAML-bestand vast om de nieuwe workflow te maken.

De laatste stap van het integreren van GitHub met Slack is het toevoegen van een nieuw repositorygeheim. Het geheim in dit geval is de Slack webhook-URL je hebt gekopieerd van Slack. Houd deze URL geheim, want iedereen die er toegang toe heeft, kan berichten naar uw werkruimte sturen.

Navigeer naar uw repository-instellingen. Klik op de geheimen en variabelen onder de beveiliging functie. Selecteer de Acties keuze.

Klik op Nieuw repositorygeheim. Voeg de naam van het geheim toe als SLACK_WEBHOOK_URL. Plak vervolgens de Slappe URL in het veld Geheim. Klik ten slotte op de Geheim toevoegen knop om het nieuwe geheim op te slaan.

Je bent nu klaar met het integreren van GitHub met Slack. Elke keer dat er een evenement plaatsvindt in je repository, wordt er een bericht weergegeven in je kanaal. Poging een nieuw pull-verzoek maken. Dit activeert een push-gebeurtenis.

De onderstaande schermafbeelding toont voorbeeldberichten op Slack met gebeurtenissen die plaatsvonden in een repository.

U kunt de payload van het bericht aanpassen om andere velden op te nemen die u mogelijk nodig vindt.

Verbeter uw productiviteit met Slack-integraties

GitHub is niet de enige Slack-integratie die u aan uw werkruimte kunt toevoegen. Er zijn tal van integraties die u kunt gebruiken om de productiviteit van uw team te verbeteren en hun communicatie te verbeteren. Als u vertrouwd raakt met deze integraties, kunt u de workflow van uw team stroomlijnen en iedereen op één lijn houden.