Отслеживайте активность репозитория GitHub в режиме реального времени в Slack с помощью этого API.

Интеграция GitHub со Slack поможет вам упростить общение вашей команды, информируя их о событиях репозитория в режиме реального времени. Эта интеграция помогает более эффективно сотрудничать, обсуждать изменения в контексте базы кода и быстро решать любые проблемы, которые могут возникнуть во время разработки.

Кроме того, интеграция GitHub со Slack позволяет настраивать уведомления в соответствии с уникальным рабочим процессом вашей команды. Это сводит к минимуму отвлекающие факторы и позволяет сосредоточиться на том, что действительно важно. Этот индивидуальный подход к коммуникации позволяет вашей команде принимать обоснованные решения и предпринимать своевременные действия, обеспечивая высочайшее качество результатов.

Шаг 1. Создайте новое приложение Slack

Чтобы пройти, вам должно быть удобно с помощью платформы Slack. Вы также должны быть знакомы с GitHub.

Первым шагом интеграции является создание нового приложения Slack. Это приложение будет отвечать за публикацию сообщений на выбранном канале Slack при возникновении события репозитория. Чтобы создать новое приложение, перейдите к

instagram viewer
Слабый веб-сайт и войдите в свой аккаунт. Затем создайте новую рабочую область. Вы будете использовать это рабочее пространство для тестирования своего приложения перед его установкой в ​​рабочей области вашей команды.

Перейдите к Веб-сайт Slack API в новой вкладке браузера.

Нажмите на Ваши приложения кнопка. На появившейся странице нажмите кнопку Создать новое приложение кнопка.

Выберите вариант создания приложения с нуля. Затем назовите свое приложение и выберите рабочее пространство, в которое вы хотите его установить.

Нажать на Создать приложение кнопка. Это действие создаст ваше новое приложение Slack и перенаправит вас на его панель инструментов.

Шаг 2. Настройте Slack Incoming Webhook

Slack Incoming Webhook позволяет отправлять сообщения из внешних источников в рабочую область Slack. Чтобы настроить вебхук, выберите Входящие вебхуки особенность. Убедитесь, что вы включили Активировать входящие вебхуки кнопка.

Прокрутите вниз до URL-адреса веб-перехватчиков для вашей рабочей области раздел. Нажать на Добавить новый веб-хук в рабочую область кнопка.

Slack попросит вас выбрать канал, на котором ваше приложение будет публиковать сообщения. Выберите канал и нажмите кнопку Позволять кнопка.

Это добавит ваше приложение на выбранный канал. Вернитесь к URL-адреса веб-перехватчиков для вашей рабочей области раздел. Скопируйте сгенерированный URL-адрес веб-перехватчика. Это URL-адрес, на который GitHub будет отправлять уведомления о событиях репозитория.

Теперь вы закончили настройку стороны Slack.

Шаг 3. Настройте репозиторий GitHub

Перейдите к Сайт GitHub и войдите в свой аккаунт. Перейдите в репозиторий, из которого вы хотите получать уведомления о событиях. Вы также можете создать новый репозиторий. Нажать на Действия вкладку под именем репозитория.

Затем нажмите на настроить рабочий процесс самостоятельно связь. На следующей странице необходимо создать файл YAML в каталоге рабочих процессов GitHub. Этот файл определяет рабочий процесс GitHub Actions, отвечающий за отправку уведомлений в вашу рабочую область Slack.

Вы будете писать код YAML во встроенном редакторе. Этот код будет интегрировать GitHub со Slack, отправляя уведомления в канал Slack, когда в репозитории происходят определенные события.

Полный исходный код, используемый в этой статье, доступен в Репозиторий GitHub.

Шаг 4. Напишите код YAML для интеграции GitHub со Slack

Назовите свой рабочий процесс. Не стесняйтесь выбирать имя по своему вкусу.

имя:СлабыйУведомление

Укажите события, которые будут запускать рабочий процесс. Здесь вы выбираете события, о которых вы хотите, чтобы ваша команда была уведомлена. Добавьте или удалите события в соответствии с вашими требованиями.

на:
толкать:
pull_request:
проблемы:
типы:
-открыл
-закрыто
-вновь открыт
-отредактировано
-удален
-закрепленный
-открепленный
-назначенный
-не назначен
-помечен
-немаркированный
-вехи
-устаревший
issue_comment:
типы:[созданный,отредактировано,удалено]
создавать:
удалить:

Настройте задание и выберите виртуальную среду, в которой оно будет выполняться. notify_slack это название работы. Вы можете изменить его по своему вкусу.

вакансии:
уведомить_slack:
пробеги:ubuntu-последняя

Настройте шаг, который будет отвечать за отправку уведомления в Slack.

шаги:
-имя:ОтправлятьСлабыйуведомление

Определите переменную среды с именем SLACK_WEBHOOK_URL. Он будет хранить URL-адрес веб-перехватчика Slack. Позже вы добавите URL-адрес в секреты репозитория GitHub.

среда:
SLACK_WEBHOOK_URL:${{секреты. SLACK_WEBHOOK_URL}}

Настройте бездействие Действие на гитхабе. Это стороннее действие, которое обрабатывает базовую логику взаимодействия с Slack API. Это позволяет вам сосредоточиться на настройке сообщений и событий, которые запускают уведомления. Это значительно упрощает процесс отправки уведомлений в Slack.

использует:8398a7/action-slack@v3

Этот код использует 8398a7/action-slack@v3действие.

Настройте 8398a7/action-slack@v3 действие с пользовательскими параметрами. положение дел параметр устанавливает статус сообщения в обычай. Это позволит вам определить содержимое сообщения Slack, используя пользовательскую полезную нагрузку. поля Параметр перечисляет поля, которые необходимо включить в сообщение Slack.

с:
положение дел:обычай
поля:репозиторий, фиксация, событие, действие, рабочий процесс, ссылка, URL

Создать custom_payload который настроит внешний вид сообщения Slack в соответствии с вашими предпочтениями.

custom_payload:|
{
"вложения":[
{
"цвет":"${{ рабочий статус }}",
"заголовок":>-
${{github.actor}}${{github.event.pull_request&&github.event.pull_request.merged==истинный&&«объединил запрос на вытягивание»||github.event.pull_request&&«открыл запрос на вытягивание»||github.имя_события=='толкать'&&'подтолкнул новые изменения'||github.имя_события=='создавать'&&'создал новую ветку или тег'||github.имя_события=='удалить'&&'удалил ветку или тег'||github.имя_события=='проблемы'&&github.event.action||«вызвал событие»}},
"текст":>-
:тада:Детали события:

-Репозиторий:${{github.репозиторий}}
-Ветвь:${{github.ref}}
-Сообщение:${{github.имя_события=='толкать'&&github.event.head_commit.message||github.имя_события=='проблемы'&&github.event.issue.title||github.имя_события=='pull_request'&&github.event.pull_request.title||''}}
-:globe_with_meridians:Связь:${{github.event.pull_request.html_url||github.event.issue.html_url||github.event.repository.html_url}}
}

]
}

Вы можете обратиться к Пользовательский вариант использования 8398a7/action-slack@v3 чтобы найти все поддерживаемые настройки. Зафиксируйте файл YAML, чтобы создать новый рабочий процесс.

Последний шаг интеграции GitHub со Slack — добавление нового секрета репозитория. Секрет в данном случае заключается в Слабый URL-адрес веб-перехватчика вы скопировали из Slack. Держите этот URL-адрес в секрете, так как любой, у кого есть к нему доступ, может отправлять сообщения в вашу рабочую область.

Перейдите к настройкам вашего репозитория. Нажать на секреты и переменные под безопасность особенность. Выберите Действия вариант.

Нажмите на Новый секрет репозитория. Добавьте имя секрета как SLACK_WEBHOOK_URL. Затем вставьте Слабый URL-адрес в поле Секрет. Наконец, нажмите на Добавить секрет кнопку, чтобы сохранить новый секрет.

Вы завершили интеграцию GitHub со Slack. Каждый раз, когда в вашем репозитории происходит событие, в вашем канале будет отображаться сообщение. Пытаться создание нового запроса на включение. Это вызовет push-событие.

На приведенном ниже снимке экрана показаны примеры сообщений в Slack, показывающие события, произошедшие в репозитории.

Вы можете настроить полезную нагрузку сообщения, включив в нее другие поля, которые могут оказаться необходимыми.

Повысьте свою продуктивность с помощью интеграции со Slack

GitHub — не единственная интеграция Slack, которую вы можете добавить в свое рабочее пространство. Существует множество интеграций, которые вы можете использовать для повышения производительности вашей команды и улучшения их общения. Знакомство с этими интеграциями поможет вам оптимизировать рабочий процесс вашей команды и держать всех на одной волне.