# Настройка уведомлений для GitHub в Slack

Узнайте, как настраивать уведомления для GitHub в Slack.

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

### Уведомления включены по умолчанию

Следующие уведомления по умолчанию включены, но вы можете отключить любое из них с помощью команды `/github unsubscribe owner/repo [event]`.

| Event         | Description                                                                                                                     |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `issues`      | Открытые, закрытые или повторно открытые выпуски.                                                                               |
| `pulls`       | Новые или объединенные запросы на вытягивание, а также черновики запросов на вытягивание помечаются как готовые к рассмотрению. |
| `commits`     | Новые коммиты в ветке по умолчанию.                                                                                             |
| `releases`    | Опубликованные релизы.                                                                                                          |
| `deployments` | Обновления статуса развертывания.                                                                                               |

### Уведомления отключены по умолчанию

Следующие уведомления по умолчанию отключены, но вы можете включить любое из них с помощью команды `/github subscribe owner/repo [event]`.

| Event                 | Description                                               |
| --------------------- | --------------------------------------------------------- |
| `reviews`             | Отзывы о пулл-реквестах.                                  |
| `workflows`           | Запускается рабочий процесс Actions.                      |
| `branches`            | Созданные или удаленные ветки.                            |
| `comments`            | Новые комментарии к проблемам и запросам на вытягивание.  |
| `commits`             | Все коммиты в любую ветку.                                |
| `discussions`         | Обсуждения созданы или на них даны ответы.                |
| `+label:"your label"` | Проблемы, пулл-реквесты и комментарии на основе их меток. |

Вы можете подписаться или отменить подписку сразу в нескольких настройках. Рассмотрим пример.

* Чтобы включить активность для отзывов и комментариев по pull request, используйте `/github subscribe owner/repo reviews comments`.
* Чтобы отключить активность по проблемам и pull requests, используйте `/github unsubscribe owner/repo issues pulls`.

## Фильтрация уведомлений

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

### Фильтры ветвей для уведомлений о фиксациях

Фильтры ветвей позволяют фильтровать уведомления о фиксациях на основе имен ветвей. По умолчанию при подписке на `commits` событие вы будете получать уведомления для вашей ветки по умолчанию. Тем не менее, вы можете выбрать фильтрацию по определенной ветви, шаблону ветвей или всем ветвям.

| Пример конфигурации                              | Description                                                                   |
| ------------------------------------------------ | ----------------------------------------------------------------------------- |
| `/github subscribe owner/repo commits`           | Получение уведомлений о фиксациях для ветки по умолчанию.                     |
| `/github subscribe owner/repo commits:main`      | Получать уведомления о фиксациях `main` только для ветки.                     |
| `/github subscribe owner/repo commits:feature/*` | Получение уведомлений о фиксациях для всех ветвей, начинающихся с `feature/`. |
| `/github subscribe owner/repo commits:*`         | Получайте уведомления о коммитах для всех ветвей.                             |

> \[!NOTE] Возможно, вы ранее использовали фильтр `commits:all` для получения уведомлений о фиксациях для всех ветвей. Этот фильтр Закрытие. Чтобы получать уведомления о коммитах для всех ветвей, используйте фильтр.`commits:*` Если вы ранее настроили фильтр, `commits:all` он будет продолжать работать до тех пор, пока вы не обновите конфигурацию для использования фильтра `commits:*` .

### Фильтры меток для уведомлений о проблемах и запросах на вытягивание

Фильтры меток позволяют фильтровать уведомления на основе меток, примененных к проблемам и запросам на вытягивание. Если настроен фильтр меток, будут отправляться только уведомления о событиях, содержащих указанную метку. Дополнительные сведения о метках см. [в разделах AUTOTITLE](/ru/enterprise-server@3.22/issues/using-labels-and-milestones-to-track-work/managing-labels) и [AUTOTITLE.](/ru/enterprise-server@3.22/issues/tracking-your-work-with-issues/using-issues/filtering-and-searching-issues-and-pull-requests)

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

| Тип события        | Фильтруется по метке                                                                                                                                                                                                                                                                                                                                                                                                         |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Запросы на слияние | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="check icon" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>                                                                                                    |
| Проблемы           | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="check icon" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>                                                                                                    |
| Comments           | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="check icon" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>                                                                                                    |
| Reviews            | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="check icon" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>                                                                                                    |
| Коммиты/отправки   | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> |
| Ветви              | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> |

#### Создание фильтров меток

Чтобы создать фильтр меток, используйте следующий формат команды:

```text copy
/github subscribe [owner/repo] +label:"your label"
```

При этом создается фильтр обязательных меток со значением `your label`. Входящие события, поддерживающие фильтры, отбрасываются до тех пор, пока они не имеют этой метки.

#### Обновление фильтров меток

Вы можете обновить существующий фильтр меток, указав новое значение метки:

```text copy
/github subscribe [owner/repo] +label:"new label"
```

Это приведет к замене фильтра «ваша этикетка» на фильтр «новая этикетка».

#### Удаление фильтров этикеток

Вы можете удалить существующий фильтр меток с помощью команды unsubscribe с опцией `+label` :

```text copy
/github unsubscribe [owner/repo] +label:"new label"
```

Это уберет фильтр "новая метка", и канал будет получать все уведомления о подписанных событиях без какой-либо фильтрации меток.

#### Просмотр фильтров активных меток

Чтобы просмотреть активные в данный момент фильтры меток для канала, используйте следующую команду:

```text copy
/github subscribe list features
```

#### Допустимые фильтры

Приложение GitHub в Slack поддерживает наиболее распространенные специальные символы для фильтров меток, включая все эмодзи, которые Slack и GitHub предоставляют в стандартной комплектации. В редких случаях можно встретить метку, содержащую специальный символ, который не поддерживается. Например, любой многобайтовый символ, не закодированный как `:foo:`, или метки, использующие этот `,` символ, могут не работать должным образом.

## Уведомления о рабочих процессах действий

Вы можете подписаться на GitHub Actions рабочий процесс запускать уведомления из вашего канала или личного приложения с помощью функции «workflows» в формате `/github subscribe owner/repo workflows`.

Если вы подписаны на «рабочие процессы», вам доступны следующие функциональные возможности:

* Вы получите уведомление, когда будет запущен новый запуск рабочего процесса.

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

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

* Если что-то не помогло, вы можете повторно запустить рабочий процесс на месте, а также включить журналы отладки, если это необходимо.

> \[!NOTE] После 10.03.2025 (версия GHES 3.17) вы больше не будете получать уведомления о ходе выполнения отдельных заданий рабочего процесса. Смотрите [журнал изменений GitHub](https://github.blog/changelog/2025-02-03-deprecation-of-real-time-github-actions-workflow-job-events-in-slack-and-microsoft-teams-apps/) для получения более подробной информации.

### Фильтры уведомлений о рабочем процессе

Уведомления о рабочем процессе можно фильтровать с помощью следующих параметров:

| Filter   | Description                                                                                                                                                                              |
| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`   | Фильтрация по названию рабочего процесса.                                                                                                                                                |
| `actor`  | Фильтрация по пользователю, который запустил рабочий процесс.                                                                                                                            |
| `branch` | Фильтрация по ветке, на которой выполняется рабочий процесс. В случаях, когда событие включено `pull_request` , ветвь будет целевой ветвью, для которой создается запрос на вытягивание. |
| `event`  | Фильтрация по событию, которое запустило рабочий процесс (например, push, pull\_request).                                                                                                |

Вы можете настроить фильтры уведомлений рабочего процесса в следующем формате:

```text copy
/github subscribe owner/repo workflows:{name:"your workflow name" event:"workflow event" branch:"branch name" actor:"username"}
```

Вы также можете передать несколько значений для каждого фильтра, разделенных запятыми. Рассмотрим пример.

```text copy
/github subscribe owner/repo workflows:{name:"your workflow name","another workflow name" event:"workflow event","another workflow event" branch:"branch name","another branch name" actor:"username","another-username"}
```

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

Вы можете отписаться от уведомлений о рабочем процессе с помощью команды: `/github unsubscribe owner/repo workflows`.

> \[!NOTE] Чтобы получать GitHub Actions уведомлений в Slack, приложению GitHub требуются дополнительные разрешения. При первой попытке подписаться на рабочие процессы вам будет предложено предоставить эти разрешения.

## Уведомления о развертывании

Вы также можете настроить отдельные уведомления о развертывании. Эти развертывания могут выполняться из GitHub Actions или из внешних источников с помощью API развертывания. См [. раздел AUTOTITLE](/ru/enterprise-server@3.22/rest/deployments/deployments?apiVersion=2022-11-28).

Подписаться на уведомления о развертывании или отменить подписку на них можно с помощью команды: `/github subscribe/unsubscribe owner/repo deployments`.

> \[!NOTE] Если вы используете GitHub Actions и хотите отслеживать развертывания в средах, рекомендуется использовать эту `workflows` функцию, так как она обеспечивает более полную картину и возможность утверждать развертывания непосредственно из Slack.