Slack용 GitLab 앱
GitLab v19.2Offering: GitLab.com, GitLab Dedicated
이 페이지에는 Slack용 GitLab 앱의 사용자 문서가 포함되어 있습니다. Slack용 GitLab 앱은 Slack 워크스페이스에서 슬래시 명령어, 알림, 그리고 GitLab Duo 통합을 제공하는 네이티브 Slack 앱입니다.
히스토리
- GitLab 16.2에서 GitLab Self-Managed에 대해 도입되었습니다.
이 페이지에는 Slack용 GitLab 앱의 사용자 문서가 포함되어 있습니다. 관리자 문서는 Slack용 GitLab 앱 관리를 참조하세요.
Slack용 GitLab 앱은 Slack 워크스페이스에서 슬래시 명령어, 알림, 그리고 GitLab Duo 통합을 제공하는 네이티브 Slack 앱입니다. GitLab은 Slack 사용자를 GitLab 사용자와 연결하여 Slack에서 실행하는 명령어가 연결된 GitLab 사용자에 의해 실행됩니다.
Slack용 GitLab 앱 설치#
사전 요구사항:
-
Slack 워크스페이스에 앱을 추가하는 데 적절한 권한이 있어야 합니다.
-
GitLab Self-Managed에서는 관리자가 통합을 활성화해야 합니다.
GitLab 15.0 이상에서 Slack용 GitLab 앱은 세분화된 권한을 사용합니다. 기능은 변경되지 않았지만 앱을 재설치해야 합니다.
프로젝트 또는 그룹 설정에서#
히스토리
- 그룹 수준에서의 설치가 GitLab 16.10에서
gitlab_for_slack_app_instance_and_group_level이라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화됩니다. - GitLab 16.11에서 GitLab.com, GitLab Self-Managed 및 GitLab Dedicated에서 활성화되었습니다.
- GitLab 17.8에서 일반적으로 사용 가능합니다. 피처 플래그
gitlab_for_slack_app_instance_and_group_level이 제거되었습니다.
프로젝트 또는 그룹 설정에서 Slack용 GitLab 앱을 설치하려면:
-
상단 바에서 Search or go to를 선택하고 프로젝트 또는 그룹을 찾습니다.
-
왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
-
GitLab for Slack app을 선택합니다.
-
Install GitLab for Slack app을 선택합니다. Slack 확인 페이지로 리디렉션됩니다.
-
Slack 확인 페이지에서:
선택사항. 두 개 이상의 Slack 워크스페이스에 로그인한 경우 오른쪽 상단에서 드롭다운 목록에서 앱을 설치할 워크스페이스를 선택합니다. GitLab Self-Managed 및 GitLab Dedicated에서는 관리자가 먼저 여러 워크스페이스 지원을 활성화해야 드롭다운 목록이 나타납니다.
- Allow를 선택합니다.
Slack App Directory에서#
GitLab.com에서 Slack App Directory에서도 Slack용 GitLab 앱을 설치할 수 있습니다.
Slack App Directory에서 Slack용 GitLab 앱을 설치하려면:
-
GitLab for Slack 페이지로 이동합니다.
-
Slack 워크스페이스와 연결할 GitLab 프로젝트를 선택합니다.
Slack용 GitLab 앱 재설치#
GitLab이 Slack용 GitLab 앱의 새로운 기능을 릴리스하면 해당 기능을 사용하기 위해 앱을 재설치해야 할 수 있습니다.
Slack용 GitLab 앱을 재설치하려면:
-
상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
-
GitLab for Slack app을 선택합니다.
-
Install GitLab for Slack app을 선택합니다. Slack 확인 페이지로 리디렉션됩니다.
-
Slack 확인 페이지에서:
선택사항. 두 개 이상의 Slack 워크스페이스에 로그인한 경우 오른쪽 상단에서 드롭다운 목록에서 앱을 재설치할 워크스페이스를 선택합니다. GitLab Self-Managed 및 GitLab Dedicated에서는 관리자가 먼저 여러 워크스페이스 지원을 활성화해야 드롭다운 목록이 나타납니다.
- Allow를 선택합니다.
통합을 사용하는 모든 프로젝트에 대해 Slack용 GitLab 앱이 업데이트됩니다.
또는 통합을 다시 구성할 수 있습니다.
GitLab Duo#
이 기능의 가용성은 피처 플래그로 제어됩니다. 자세한 내용은 히스토리를 참조하세요. 이 기능은 테스트용으로 사용할 수 있지만 프로덕션 환경에는 사용할 준비가 되지 않았습니다.
봇이 있는 채널 또는 스레드에서 GitLab 봇을 멘션하여 Slack에서 직접 GitLab Duo와 상호작용할 수 있습니다. GitLab Duo는 전체 대화 스레드를 컨텍스트로 읽고, CI/CD 러너에서 플로우를 실행한 후 결과를 Slack 스레드에 게시합니다.
예를 들어 GitLab Duo에게 다음을 요청할 수 있습니다:
-
대화를 GitLab 이슈로 변환합니다.
-
기존 이슈나 머지 리퀘스트를 검색합니다.
-
토론 스레드를 요약합니다.
-
프로젝트에 대한 질문에 답변합니다.
스레드에서 GitLab 봇을 멘션하면 전체 대화 내용 (모든 참여자의 메시지 포함)이 응답 생성을 위해 대형 언어 모델(LLM)에 전송됩니다. GitLab Duo를 멘션하는 스레드에서 민감한 정보를 공유하지 마세요.
사전 요구사항#
-
Slack 계정을 GitLab 계정과 연결합니다. 계정이 연결되어 있지 않으면 GitLab이 첫 번째 멘션 시 연결을 인가하는 링크가 포함된 메시지를 보냅니다.
-
최상위 그룹에 대해 Developer Flow를 켭니다.
-
사용하려는 Slack 채널에 GitLab 봇을 추가합니다.
-
기존 설치의 경우 GitLab Duo에 필요한 추가 권한을 부여하기 위해 Slack용 GitLab 앱을 재설치합니다.
Slack에서 GitLab Duo 사용#
Slack에서 GitLab Duo를 사용하려면:
-
Slack 채널 또는 스레드에서
@GitLab뒤에 요청을 입력합니다 (예:@GitLab create an issue to track this bug). -
GitLab Duo가 요청을 확인하고 작업을 시작합니다.
-
작업이 완료되면 GitLab Duo가 스레드 답글에 결과를 게시합니다.
오류가 발생하면 GitLab Duo가 문제에 대한 세부 정보가 담긴 메시지를 보냅니다. 이 메시지는 본인에게만 표시됩니다.
워크스페이스 프로젝트#
Slack에서 GitLab Duo를 처음 사용하면 기본 GitLab Duo 네임스페이스에 duo-workspace라는 워크스페이스 프로젝트가 자동으로 생성됩니다. 이 프로젝트는 Slack에서 트리거된 플로우의 실행 환경으로 사용됩니다.
워크스페이스 프로젝트에서 에이전트 동작을 사용자 정의할 수 있습니다. 자세한 내용은 Developer Flow를 참조하세요.
Slack용 GitLab 앱 권한#
GitLab Duo에는 다음과 같은 추가적인 Slack용 GitLab 앱 권한이 필요합니다:
| 스코프 | 목적 |
|---|---|
| app_mentions:read | 사용자가 채널에서 봇을 멘션할 때 이벤트를 수신합니다. |
| channels:history | 에이전트에게 스레드 컨텍스트를 제공하기 위해 공개 채널의 대화 히스토리를 읽습니다. |
| groups:history | 에이전트에게 스레드 컨텍스트를 제공하기 위해 비공개 채널의 대화 히스토리를 읽습니다. |
| reactions:write | 에이전트 수명 주기 상태를 나타내기 위해 메시지에 이모지 반응을 추가합니다. |
신규 설치는 이러한 권한을 자동으로 받습니다. 기존 설치는 Slack용 GitLab 앱을 재설치한 후에만 이러한 권한을 받습니다.
슬래시 명령어#
슬래시 명령어를 사용하여 일반적인 GitLab 작업을 실행할 수 있습니다.
Slack용 GitLab 앱의 경우:
-
첫 번째 슬래시 명령어를 실행할 때 Slack 사용자를 인가해야 합니다.
-
<project>를 프로젝트 전체 경로로 대체하거나 슬래시 명령어에 대한 프로젝트 별칭을 생성할 수 있습니다.
Mattermost 슬래시 명령어를 대신 사용하는 경우:
-
/gitlab을 이 통합에 대해 구성한 트리거 이름으로 교체합니다. -
<project>를 제거합니다.
다음 슬래시 명령어를 GitLab에서 사용할 수 있습니다:
| 명령어 | 설명 |
|---|---|
| /gitlab help | 사용 가능한 모든 슬래시 명령어를 표시합니다. |
| /gitlab |
ID가 |
| /gitlab |
제목 |
| /gitlab |
|
| /gitlab |
ID가 |
| /gitlab |
ID가 |
| /gitlab |
ID가 |
| /gitlab |
|
| /gitlab |
기본 브랜치에서 ChatOps job |
| /gitlab incident declare | Slack에서 인시던트를 생성하기 위한 다이얼로그를 엽니다. |
deploy 명령어#
환경에 배포하기 위해 GitLab은 파이프라인에서 수동 배포 액션을 찾으려고 합니다.
환경에 대해 하나의 배포 액션만 정의된 경우 해당 액션이 트리거됩니다. 두 개 이상의 배포 액션이 정의된 경우 GitLab은 환경 이름과 일치하는 액션 이름을 찾으려고 합니다.
GitLab이 일치하는 배포 액션을 찾을 수 없는 경우 명령어가 오류를 반환합니다.
프로젝트 별칭 생성#
Slack용 GitLab 앱에서 슬래시 명령어는 기본적으로 프로젝트 전체 경로를 사용합니다. 대신 프로젝트 별칭을 사용할 수 있습니다.
Slack용 GitLab 앱에서 슬래시 명령어에 대한 프로젝트 별칭을 생성하려면:
-
상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
-
GitLab for Slack app을 선택합니다.
-
프로젝트 경로 또는 별칭 옆에서 Edit을 선택합니다.
-
새 별칭을 입력하고 Save changes를 선택합니다.
Slack 워크스페이스에서 별칭 충돌이 발생하면(예: 여러 프로젝트나 그룹이 동일한 별칭 사용 시도) GitLab은 다음 형식으로 대체 별칭을 자동으로 할당합니다:
-
프로젝트의 경우:
p-<project_id>(예:p-12345) -
그룹의 경우:
g-<group_id>(예:g-67890)
기본 별칭을 사용할 수 없을 때 슬래시 명령어에서 이러한 대체 별칭을 사용할 수 있습니다.
Slack 알림#
히스토리
- GitLab 15.9에서 도입되었습니다.
특정 GitLab 이벤트에 대해 Slack 채널로 알림을 받을 수 있습니다.
알림 구성#
Slack 알림을 구성하려면:
상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
GitLab for Slack app을 선택합니다.
Trigger 섹션에서:
Slack에서 알림을 받을 GitLab 이벤트마다 체크박스를 선택합니다.
선택한 각 체크박스에 대해 알림을 받을 Slack 채널 이름을 입력합니다.
쉼표로 구분하여 최대 10개의 채널 이름을 입력할 수 있습니다(예: #channel-one, #channel-two).
Slack 채널이 비공개인 경우 채널에 Slack용 GitLab 앱을 추가해야 합니다.
선택사항. Notification settings 섹션에서:
Notify only broken pipelines 체크박스를 선택하여 실패한 파이프라인에 대해서만 알림을 받습니다.
Notify only when status changes 체크박스를 선택하여 ref에 대한 파이프라인 상태가 변경될 때만 알림을 받습니다.
Branches for which notifications are to be sent 드롭다운 목록에서 알림을 받을 브랜치를 선택합니다.
이러한 브랜치에서 생성된 태그에 의해 트리거된 파이프라인에 대한 알림도 전송됩니다.
취약점에 대한 알림은 선택한 브랜치에 관계없이 기본 브랜치에서만 트리거됩니다. 자세한 내용은 이슈 469373을 참조하세요.
Labels to be notified에 Slack에서 알림을 받기 위해 GitLab 이슈, 머지 리퀘스트 또는 댓글이 가져야 하는 레이블을 입력합니다. 모든 이벤트에 대한 알림을 받으려면 비워 두세요.
선택사항. Test settings를 선택합니다.
Save changes를 선택합니다.
비공개 채널로 알림 받기#
비공개 Slack 채널로 알림을 받으려면 채널에 Slack용 GitLab 앱을 추가해야 합니다:
-
@GitLab을 입력하여 채널에서 앱을 언급합니다. -
Add to Channel을 선택합니다.
알림 이벤트#
다음 GitLab 이벤트가 Slack에서 알림을 트리거할 수 있습니다:
| 이벤트 | 설명 |
|---|---|
| Push | 리포지터리에 푸시가 발생합니다. |
| Issue | 작업 항목이 생성, 닫힘, 또는 다시 열림. |
| Confidential issue | 기밀 작업 항목이 생성, 닫힘, 또는 다시 열림. |
| Merge request | 머지 리퀘스트가 생성, 머지, 승인, 닫힘, 또는 다시 열림. |
| Note | 댓글이 추가됨. |
| Confidential note | 기밀 작업 항목에 내부 노트 또는 댓글이 추가됨. |
| Tag push | 리포지터리에 태그가 푸시되거나 제거됨. |
| Pipeline | 파이프라인 상태가 변경됨. |
| Wiki page | 위키 페이지가 생성 또는 업데이트됨. |
| Deployment | 배포가 시작되거나 완료됨. |
| Group mention in public | 그룹이 공개 채널에서 언급됨. |
| Group mention in private | 그룹이 비공개 채널에서 언급됨. |
| Incident | 인시던트가 생성, 닫힘, 또는 다시 열림. |
| Vulnerability | 기본 브랜치에 새로운 고유 취약점이 기록됨. |
| Alert | 새로운 고유 알림이 기록됨. |
그룹 언급에 대한 알림 트리거#
히스토리
- GitLab 16.10에서
gitlab_for_slack_app_instance_and_group_level이라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화됩니다. - GitLab 16.11에서 GitLab.com, GitLab Self-Managed 및 GitLab Dedicated에서 활성화되었습니다.
- GitLab 17.8에서 일반적으로 사용 가능합니다. 피처 플래그
gitlab_for_slack_app_instance_and_group_level이 제거되었습니다.
그룹 언급에 대한 알림 이벤트를 트리거하려면 다음에서 @<group_name>을 사용합니다:
-
이슈 및 머지 리퀘스트 설명
-
이슈, 머지 리퀘스트 및 커밋에 대한 댓글