Śledź aktywność repozytorium GitHub w czasie rzeczywistym na Slacku za pomocą tego interfejsu API.
Integracja GitHub ze Slackiem pomoże usprawnić komunikację Twojego zespołu, informując go o wydarzeniach w repozytorium w czasie rzeczywistym. Ta integracja pomaga wydajniej współpracować, omawiać zmiany w kontekście bazy kodu i szybko rozwiązywać wszelkie problemy, które mogą pojawić się podczas programowania.
Co więcej, integracja GitHub ze Slack pozwala dostosować powiadomienia do unikalnego przepływu pracy Twojego zespołu. Minimalizuje to rozproszenie uwagi i skupia się na tym, co naprawdę ważne. To dostosowane podejście do komunikacji umożliwia Twojemu zespołowi podejmowanie świadomych decyzji i podejmowanie działań w odpowiednim czasie, zapewniając najwyższą jakość wyników.
Krok 1: Utwórz nową aplikację Slack
Aby kontynuować, powinieneś czuć się komfortowo za pomocą platformy Slack. Powinieneś także znać GitHub.
Pierwszym krokiem integracji jest utworzenie nowej aplikacji Slack. Ta aplikacja będzie odpowiedzialna za publikowanie wiadomości na wybranym kanale Slack, gdy wystąpi zdarzenie w repozytorium. Aby utworzyć nową aplikację, przejdź do
Luźna strona internetowa i zaloguj się na swoje konto. Następnie utwórz nowy obszar roboczy. Będziesz używać tego obszaru roboczego do testowania aplikacji przed zainstalowaniem jej w obszarze roboczym swojego zespołu.Przejdź do Witryna Slack API w nowej karcie przeglądarki.
Kliknij Twoje aplikacje przycisk. Na wyświetlonej stronie kliknij na Utwórz nową aplikację przycisk.
Wybierz opcję tworzenia aplikacji od podstaw. Następnie nazwij swoją aplikację i wybierz obszar roboczy, w którym chcesz ją zainstalować.
Kliknij na Utwórz aplikację przycisk. Ta czynność spowoduje utworzenie nowej aplikacji Slack i przekierowanie do jej pulpitu nawigacyjnego.
Krok 2: Skonfiguruj przychodzący webhook Slack
Slack Incoming Webhook umożliwia wysyłanie wiadomości z zewnętrznych źródeł do obszaru roboczego Slack. Aby skonfigurować webhooka, wybierz Przychodzące webhooki funkcja. Upewnij się, że włączyłeś Aktywuj przychodzące webhooki przycisk.
Przewiń w dół do Adresy URL elementów webhook dla Twojego obszaru roboczego Sekcja. Kliknij na Dodaj nowy webhook do Workspace przycisk.
Slack poprosi Cię o wybranie kanału, w którym Twoja aplikacja będzie publikować wiadomości. Wybierz kanał i kliknij na Umożliwić przycisk.
Spowoduje to dodanie Twojej aplikacji do wybranego kanału. Wróć do Adresy URL elementów webhook dla Twojego obszaru roboczego Sekcja. Skopiuj wygenerowany Adres URL haka internetowego. Jest to adres URL, na który GitHub będzie wysyłać powiadomienia o zdarzeniach w repozytorium.
Zakończyłeś konfigurowanie strony Slack.
Krok 3: Skonfiguruj repozytorium GitHub
Przejdź do Witryna GitHub i zaloguj się na swoje konto. Przejdź do repozytorium, z którego chcesz otrzymywać powiadomienia o zdarzeniach. Możesz również utworzyć nowe repozytorium. Kliknij na działania zakładkę pod nazwą repozytorium.
Następnie kliknij na sam skonfiguruj przepływ pracy połączyć. Następna strona, która się pojawi, wymaga utworzenia pliku YAML w katalogu przepływów pracy GitHub. Ten plik definiuje przepływ pracy GitHub Actions odpowiedzialny za wysyłanie powiadomień do Twojego obszaru roboczego Slack.
Kod YAML napiszesz w zintegrowanym edytorze. Ten kod zintegruje GitHub ze Slackiem, wysyłając powiadomienia do kanału Slack, gdy w repozytorium wystąpią określone zdarzenia.
Pełny kod źródłowy użyty w tym artykule jest dostępny w Repozytorium GitHub.
Krok 4: Napisz kod YAML do integracji GitHub ze Slackiem
Nazwij swój przepływ pracy. Możesz wybrać imię, które ci się podoba.
nazwa:LuźnyPowiadomienie
Określ zdarzenia, które uruchomią przepływ pracy. W tym miejscu wybierasz zdarzenia, o których chcesz otrzymywać powiadomienia od zespołu. Dodaj lub usuń wydarzenia, aby dopasować je do swoich wymagań.
NA:
naciskać:
prośba o pociągnięcie:
kwestie:
typy:
-otwierany
-Zamknięte
-ponownie otwarte
-edytowane
-usunięte
-przypięty
-odpięty
-przydzielony
-nieprzypisany
-oznakowane
-nieoznakowane
-kamień milowy
-półkamienie
problem_komentarz:
typy:[Utworzony,zredagowany,usunięto]
tworzyć:
usuwać:
Skonfiguruj swoje zadanie i wybierz środowisko wirtualne, w którym będzie działać. powiadomienie_luz to nazwa pracy. Możesz to zmienić według własnych upodobań.
Oferty pracy:
powiadomienie_wolne:
biegi:ubuntu-najnowsza
Skonfiguruj krok, który będzie odpowiedzialny za wysłanie powiadomienia do Slacka.
kroki:
-nazwa:WysłaćLuźnypowiadomienie
Zdefiniuj zmienną środowiskową o nazwie SLACK_WEBHOOK_URL. Będzie przechowywać adres URL webhooka Slacka. Adres URL zostanie później dodany do wpisów tajnych repozytorium GitHub.
Środowisko:
SLACK_WEBHOOK_URL:${{tajniki. SLACK_WEBHOOK_URL}}
Skonfiguruj luz akcji Akcja GitHuba. Jest to działanie strony trzeciej, które obsługuje podstawową logikę interakcji z interfejsem API Slacka. Pozwala skupić się na konfigurowaniu komunikatów i zdarzeń, które wyzwalają powiadomienia. Dzięki temu proces wysyłania powiadomień do Slacka jest znacznie prostszy.
używa:8398a7/action-slack@v3
Ten kod używa 8398a7/action-slack@v3działanie.
Skonfiguruj 8398a7/action-slack@v3 akcja z niestandardowymi parametrami. The status parametr ustawia status wiadomości na zwyczaj. Pozwoli to na zdefiniowanie treści wiadomości Slack za pomocą niestandardowego ładunku. The pola parametr zawiera listę pól, które mają zostać uwzględnione w wiadomości Slack.
z:
status:zwyczaj
pola:repozytorium, zatwierdzenie, zdarzenie, akcja, przepływ pracy, ref, adres URL
Stwórz niestandardowy_ładunek który dostosuje wygląd wiadomości Slack do Twoich preferencji.
niestandardowy_ładunek:|
{
"załączniki":[
{
"kolor":"${{ status pracy }}",
"tytuł":>-
${{github.aktor}}${{github.event.pull_request&&github.event.pull_request.merged==PRAWDA&&„scalono żądanie ściągnięcia”||github.event.pull_request&&„otworzył żądanie ściągnięcia”||github.nazwa_zdarzenia=='naciskać'&&„przesunął nowe zmiany”||github.nazwa_zdarzenia=='tworzyć'&&„utworzył nową gałąź lub tag”||github.nazwa_zdarzenia=='usuwać'&&„usunięto gałąź lub tag”||github.nazwa_zdarzenia=='kwestie'&&github.event.action||„wywołał zdarzenie”}},
"tekst":>-
:tada:Szczegóły wydarzenia:
-Magazyn:${{github.repozytorium}}
-Oddział:${{github.ref}}
-Wiadomość:${{github.nazwa_zdarzenia=='naciskać'&&github.event.head_commit.message||github.nazwa_zdarzenia=='kwestie'&&github.wydarzenie.tytuł.wydarzenia||github.nazwa_zdarzenia=='prośba o pociągnięcie'&&github.event.pull_request.title||''}}
-:kula z_południkami:Połączyć:${{github.event.pull_request.html_url||github.event.issue.html_url||github.event.repository.html_url}}
}
]
}
Możesz odnieść się do 8398a7/action-slack@v3 niestandardowy przypadek użycia aby znaleźć wszystkie obsługiwane dostosowania. Zatwierdź plik YAML, aby utworzyć nowy przepływ pracy.
Ostatnim krokiem integracji GitHub ze Slackiem jest dodanie nowego sekretu repozytorium. Sekretem w tym przypadku jest tzw Adres URL luźnego elementu webhook skopiowałeś ze Slacka. Zachowaj ten adres URL w tajemnicy, ponieważ każdy, kto ma do niego dostęp, może wysyłać wiadomości do Twojego obszaru roboczego.
Przejdź do ustawień repozytorium. Kliknij na sekrety i zmienne pod bezpieczeństwo funkcja. Wybierz działania opcja.
Kliknij Nowy sekret repozytorium. Dodaj nazwę klucza tajnego jako SLACK_WEBHOOK_URL. Następnie wklej Luźny adres URL w Tajne pole. Na koniec kliknij na Dodaj sekret przycisk, aby zapisać nowy sekret.
Właśnie zakończyłeś integrację GitHub ze Slackiem. Za każdym razem, gdy w Twoim repozytorium wystąpi zdarzenie, na Twoim kanale zostanie wyświetlona wiadomość. Próbować tworzenie nowego żądania ściągnięcia. Spowoduje to wyzwolenie zdarzenia push.
Poniższy zrzut ekranu pokazuje przykładowe wiadomości na Slacku pokazujące zdarzenia, które miały miejsce w repozytorium.
Możesz dostosować ładunek wiadomości, aby zawierał inne pola, które mogą okazać się niezbędne.
Popraw swoją produktywność dzięki integracji Slack
GitHub nie jest jedyną integracją ze Slackiem, którą możesz dodać do swojej przestrzeni roboczej. Istnieje wiele integracji, których możesz użyć, aby poprawić produktywność swojego zespołu i usprawnić komunikację. Zapoznanie się z tymi integracjami pomoże usprawnić przepływ pracy w zespole i zapewnić wszystkim dostęp do informacji.