# Teams에서 GitHub에 대한 알림 사용자 지정

GitHub 알림을 사용자 지정하여 Teams 내에서 작업을 관리합니다.

Microsoft Teams 채널과 관련된 활동을 구독하고 프로젝트에 덜 도움이 되는 활동에서 구독을 취소하여 알림을 사용자 지정할 수 있습니다.

### 기본적으로 사용하도록 설정된 알림

다음 알림은 기본적으로 사용하도록 설정되지만 `@GitHub Notifications unsubscribe owner/repo [feature]` 명령을 사용하여 사용하지 않도록 설정할 수 있습니다.

| 특징            | 설명                               |
| ------------- | -------------------------------- |
| `issues`      | 열린, 닫힌, 혹은 재개된 문제.               |
| `pulls`       | 새로운, 병합된, 닫힌 또는 재오픈된 끌어오기 요청     |
| `commits`     | 기본 분기(일반적으로 `main`)에 대한 새 커밋입니다. |
| `comments`    | 문제 및 끌어오기 요청에 대한 새로운 댓글.         |
| `deployments` | 배포 상태 업데이트.                      |
| `releases`    | 새 릴리스 및 시험판이 게시되었습니다.            |

> \[!NOTE]
> 리포지토리 알림도 기본적으로 사용하도록 설정됩니다. 리포지토리가 공개되거나 삭제되면 알림이 표시됩니다. 리포지토리 업데이트는 파괴적인 활동이므로 이 알림을 사용하지 않도록 설정할 수 없습니다.

### 기본적으로 사용하지 않도록 설정된 알림

다음 알림은 기본적으로 사용하지 않도록 설정되지만 `@GitHub Notifications subscribe owner/repo [feature]` 명령을 사용하여 사용할 수 있습니다.

| 특징                    | 설명                                                     |
| --------------------- | ------------------------------------------------------ |
| `reviews`             | 끌어오기 요청 검토                                             |
| `workflows`           | { 데이터 변수.product.prodname\_actions %} 워크플로 실행 및 승인 알림. |
| `branches`            | 분기 만들기 및 삭제                                            |
| `discussions`         | 토론을 만들거나 응답했습니다.                                       |
| `+label:"your label"` | 레이블에 따라 문제, 끌어오기 요청 및 주석을 필터링합니다.                      |

한 번에 여러 설정에서 구독하거나 구독을 취소할 수 있습니다. 다음은 그 예입니다.

* 끌어오기 요청 검토 및 댓글 활동을 활성화하려면 `@GitHub Notifications subscribe owner/repo reviews comments`을 사용하세요.
* 문제에 대한 작업을 해제하고 요청을 끌어오려면 `@GitHub Notifications unsubscribe owner/repo issues pulls` 사용합니다.

## 알림 필터링

분기 및 레이블 필터를 사용하여 알림을 추가로 사용자 지정할 수 있습니다. 분기 필터를 사용하면 분기 이름을 기반으로 커밋 알림을 필터링할 수 있으며, 레이블 필터를 사용하면 적용된 레이블에 따라 문제를 필터링하고 요청 알림을 끌어올 수 있습니다.

### 커밋 알림에 대한 분기 필터

분기 필터를 사용하면 분기 이름을 기반으로 커밋 알림을 필터링할 수 있습니다. 기본적으로 이벤트를 구독하면 `commits` 기본 분기에 대한 알림이 표시됩니다. 특정 분기, 분기 패턴, 또는 모든 분기를 필터링하도록 선택할 수 있습니다.

| 구성 예                                                           | 설명                      |
| -------------------------------------------------------------- | ----------------------- |
| `@GitHub Notifications subscribe owner/repo commits`           | 기본 분기에 대한 커밋 알림을 받습니다.  |
| `@GitHub Notifications subscribe owner/repo commits:main`      |                         |
| `main` 브랜치에 대한 커밋 알림만 수신합니다.                                   |                         |
| `@GitHub Notifications subscribe owner/repo commits:feature/*` |                         |
| `feature/`로 시작하는 모든 브랜치에 대한 커밋 알림을 받습니다.                       |                         |
| `@GitHub Notifications subscribe owner/repo commits:*`         | 모든 브랜치에 대한 커밋 알림을 받습니다. |

`@GitHub Notifications unsubscribe owner/repo commits` 사용하여 커밋 기능에서 구독을 취소할 수 있습니다.

> \[!NOTE] 이전에 필터를 `commits:all` 사용하여 모든 분기에 대한 커밋 알림을 수신했을 수 있습니다. 이 필터는 닫기입니다. 모든 분기에 대한 커밋 알림을 받으려면 필터를 `commits:*` 대신 사용합니다. 이전에 필터를 설정한 경우 필터를 `commits:all` 사용하도록 `commits:*` 구성을 업데이트할 때까지 계속 작동합니다.

### 문제 및 끌어오기 요청 알림에 대한 레이블 필터

레이블 필터를 사용하면 문제에 적용된 레이블 및 끌어오기 요청에 따라 알림을 필터링할 수 있습니다. 레이블 필터가 설정되면 지정된 레이블을 포함한 이벤트에 대한 알림만 전송됩니다. 레이블에 대한 자세한 내용은 [AUTOTITLE 및 AUTOTITLE](/ko/enterprise-server@3.22/issues/using-labels-and-milestones-to-track-work/managing-labels) 을 참조 [하세요](/ko/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>                                                                                                    |
| 코멘트     | <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>                                                                                                    |
| 커밋/푸시   | <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 Notifications subscribe [owner/repo] +label:"your label"
```

이렇게 하면 값 `your label`이 있는 필수 레이블 필터가 만들어집니다. 필터를 지원하는 들어오는 이벤트는 해당 레이블이 없는 한 삭제됩니다.

#### 레이블 필터 업데이트

새 레이블 값을 지정하여 기존 레이블 필터를 업데이트할 수 있습니다.

```text copy
@GitHub Notifications subscribe [owner/repo] +label:"new label"
```

그러면 "사용자 레이블" 필터가 "새로운 사용자 레이블" 필터로 바뀝니다.

#### 레이블 필터 제거

다음 옵션과 함께 구독 취소 명령을 사용하여 기존 레이블 필터를 `+label` 제거할 수 있습니다.

```text copy
@GitHub Notifications unsubscribe [owner/repo] +label:"new label"
```

이렇게 하면 "새 레이블" 필터가 제거되고 채널은 레이블 필터링 없이 구독된 이벤트에 대한 모든 알림을 받습니다.

#### 활성 레이블 필터 보기

채널에 대한 현재 활성 레이블 필터를 보려면 다음 명령을 사용합니다.

```text copy
@GitHub Notifications subscribe list features
```

#### 유효한 필터

Teams의 GitHub 앱은 Teams와 GitHub가 표준으로 제공하는 모든 이모지 등 레이블 필터에 대한 가장 일반적인 특수 문자를 지원합니다. 지원되지 않는 특수 문자가 포함된 레이블이 발생하는 경우는 거의 없습니다. 예를 들어 `:foo:`로 인코딩되지 않은 멀티바이트 문자나 `,` 문자를 사용하는 레이블은 예상대로 작동하지 않을 수 있습니다.

## GitHub Actions 워크플로 알림

사용자의 채널이나 개인 앱에서 "워크플로" 기능을 사용하여 특정 형식을 입력함으로써, GitHub Actions 워크플로 실행 알림을 받을 수 있습니다 `@GitHub Notifications subscribe owner/repo workflows`.

"워크플로"를 구독하는 경우 다음 기능을 사용할 수 있습니다.

* 새 워크플로 실행이 트리거되면 알림이 표시됩니다.
* 승인 알림을 스레드에서 회신으로 추적할 수 있으며 채널 또는 개인 앱에서 직접 알림을 승인할 수 있습니다.
* 워크플로가 완료되면 워크플로 실행의 전체 컨텍스트 및 기록을 볼 수 있도록 스레드에서 회신으로 업데이트를 받게 됩니다.
* 문제가 발생하면 워크플로를 다시 실행하도록 선택할 수 있으며 필요한 경우 디버그 로그를 사용하도록 설정할 수도 있습니다.

> \[!NOTE] 2025년 3월 10일 이후에 GitHub Enterprise Server 버전 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   | 설명                                                                                     |
| -------- | -------------------------------------------------------------------------------------- |
| `name`   | 워크플로의 이름으로 필터링합니다.                                                                     |
| `actor`  | 워크플로를 트리거한 사용자별로 필터링합니다.                                                               |
| `branch` | 워크플로가 실행 중인 분기를 기준으로 필터링합니다. 이벤트가 포함된 경우 `pull_request` 분기는 끌어오기 요청이 만들어지는 대상 분기가 됩니다. |
| `event`  | 워크플로를 트리거한 이벤트(예: 푸시, pull\_request)를 필터링합니다.                                          |

다음 형식으로 워크플로 알림 필터를 구성할 수 있습니다.

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

각 필터에 대해 여러 값을 쉼표로 구분하여 전달할 수도 있습니다. 다음은 그 예입니다.

```text copy
@GitHub Notifications 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 Notifications unsubscribe owner/repo workflows` 명령을 사용하여 워크플로 알림에서 구독을 취소할 수 있습니다.

> \[!NOTE] Teams에서 GitHub Actions 알림을 받으려면, GitHub 앱에 추가적인 권한이 필요합니다. 워크플로를 처음 구독하려고 하면 이러한 사용 권한을 부여하라는 메시지가 표시됩니다.

## 배포 알림

별도의 배포 알림을 구성할 수도 있습니다. 이러한 배포는 GitHub Actions 또는 배포 API를 사용하는 외부 원본에서 발생할 수 있습니다.
[배포에 대한 REST API 엔드포인트](/ko/enterprise-server@3.22/rest/deployments/deployments)을(를) 참조하세요.

다음 명령을 사용하여 배포 알림을 구독하거나 구독 취소할 수 있습니다.

```text copy
@GitHub Notifications subscribe owner/repo deployments
@GitHub Notifications unsubscribe owner/repo deployments
```

> \[!NOTE] GitHub Actions을(를) 사용하여 환경에 대한 배포를 추적하려면, `workflows` 기능을 사용하는 것이 좋습니다. 이 기능은 보다 완전한 그림을 제공하며, Teams에서 직접 배포를 승인할 수 있는 기능도 포함되어 있습니다.