Slack용 GitLab 앱
GitLab v19.2Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
이 페이지에는 Slack용 GitLab 앱에 대한 사용자 문서가 포함되어 있습니다. Slack용 GitLab 앱은 Slack 워크스페이스에서 슬래시 명령, 알림, GitLab Duo 통합을 제공하는 네이티브 Slack 앱입니다.
히스토리
- GitLab Self-Managed에서 GitLab 16.2에 도입됨.
이 페이지에는 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.11에서 GitLab.com, GitLab Self-Managed, GitLab Dedicated에서 활성화됨.
-
GitLab 17.8에서 일반적으로 사용 가능해짐. Feature flag
gitlab_for_slack_app_instance_and_group_level제거됨.
프로젝트 또는 그룹 설정에서 Slack용 GitLab 앱을 설치하려면:
-
상단 바에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
-
왼쪽 사이드바에서 설정 > 통합을 선택합니다.
-
Slack용 GitLab 앱을 선택합니다.
-
Slack용 GitLab 앱 설치를 선택합니다. Slack 확인 페이지로 리디렉션됩니다.
-
Slack 확인 페이지에서:
선택 사항. 두 개 이상의 Slack 워크스페이스에 로그인된 경우, 오른쪽 상단의 드롭다운 목록에서 앱을 설치할 워크스페이스를 선택합니다. GitLab Self-Managed 및 GitLab Dedicated에서는 관리자가 먼저 여러 워크스페이스 지원을 활성화해야 드롭다운 목록이 표시됩니다.
- 허용을 선택합니다.
Slack 앱 디렉터리에서#
Offering: GitLab.com
GitLab.com에서는 Slack 앱 디렉터리에서 Slack용 GitLab 앱을 설치할 수도 있습니다.
Slack 앱 디렉터리에서 Slack용 GitLab 앱을 설치하려면:
-
Slack용 GitLab 페이지로 이동합니다.
-
Slack 워크스페이스와 연결할 GitLab 프로젝트를 선택합니다.
Slack용 GitLab 앱 재설치#
GitLab이 Slack용 GitLab 앱에 대한 새 기능을 릴리즈하면, 이러한 기능을 사용하기 위해 앱을 재설치해야 할 수 있습니다.
Slack용 GitLab 앱을 재설치하려면:
-
상단 바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 설정 > 통합을 선택합니다.
-
Slack용 GitLab 앱을 선택합니다.
-
Slack용 GitLab 앱 설치를 선택합니다. Slack 확인 페이지로 리디렉션됩니다.
-
Slack 확인 페이지에서:
선택 사항. 두 개 이상의 Slack 워크스페이스에 로그인된 경우, 오른쪽 상단의 드롭다운 목록에서 앱을 재설치할 워크스페이스를 선택합니다. GitLab Self-Managed 및 GitLab Dedicated에서는 관리자가 먼저 여러 워크스페이스 지원을 활성화해야 드롭다운 목록이 표시됩니다.
- 허용을 선택합니다.
통합을 사용하는 모든 프로젝트에 대해 Slack용 GitLab 앱이 업데이트됩니다.
또는 통합을 다시 구성할 수 있습니다.
GitLab Duo#
Offering: GitLab.com, GitLab Dedicated
Status: Experiment
이 기능의 사용 가능 여부는 feature flag로 제어됩니다. 자세한 내용은 히스토리를 참조하세요. 이 기능은 테스트용으로 제공되지만, 프로덕션 환경에서 사용할 준비가 되어 있지 않습니다.
bot이 존재하는 채널이나 스레드에서 GitLab bot을 멘션하여 Slack에서 직접 GitLab Duo와 상호작용할 수 있습니다. GitLab Duo는 전체 대화 스레드를 컨텍스트로 읽고, CI/CD 러너에서 플로우를 실행한 후 결과를 Slack 스레드에 다시 게시합니다.
예를 들어 GitLab Duo에게 다음을 요청할 수 있습니다:
-
대화를 GitLab 이슈로 변환하기.
-
기존 이슈 또는 머지 리퀘스트 검색하기.
-
토론 스레드 요약하기.
-
프로젝트에 대한 질문에 답하기.
스레드에서 GitLab bot을 멘션하면, 전체 대화 콘텐츠(모든 참가자의 메시지 포함)가 대규모 언어 모델(LLM)로 전송되어 응답이 생성됩니다. GitLab Duo를 멘션하는 스레드에서는 민감한 정보를 공유하지 마세요.
사전 요구 사항#
-
GitLab 계정에 Slack 계정을 연결합니다. 계정이 연결되지 않은 경우, GitLab은 첫 번째 멘션 시 연결을 인가하는 링크가 포함된 메시지를 전송합니다.
-
최상위 그룹에 대해 Developer Flow를 켭니다.
-
사용하려는 Slack 채널에 GitLab bot을 추가합니다.
-
기존 설치의 경우, 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 | 사용자가 채널에서 bot을 멘션할 때 이벤트를 수신합니다. |
| 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 앱에서 슬래시 명령을 위한 프로젝트 별칭을 생성하려면:
-
상단 바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 설정 > 통합을 선택합니다.
-
Slack용 GitLab 앱을 선택합니다.
-
프로젝트 경로 또는 별칭 옆에서 편집을 선택합니다.
-
새 별칭을 입력하고 변경 사항 저장을 선택합니다.
Slack 워크스페이스에서 별칭 충돌이 발생하는 경우(예: 여러 프로젝트 또는 그룹이 동일한 별칭을 사용하려고 시도하는 경우), GitLab은 다음 형식으로 폴백 별칭을 자동으로 할당합니다:
-
프로젝트의 경우:
p-<project_id>(예:p-12345) -
그룹의 경우:
g-<group_id>(예:g-67890)
선호하는 별칭을 사용할 수 없는 경우 슬래시 명령에서 이러한 폴백 별칭을 사용할 수 있습니다.
Slack 알림#
히스토리
- GitLab 15.9에서 도입됨.
특정 GitLab 이벤트에 대해 Slack 채널로 알림을 받을 수 있습니다.
알림 구성#
Slack 알림을 구성하려면:
-
상단 바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 설정 > 통합을 선택합니다.
-
Slack용 GitLab 앱을 선택합니다.
-
트리거 섹션에서:
Slack에서 알림을 받고 싶은 각 GitLab 이벤트에 대한 체크박스를 선택합니다.
-
선택한 각 체크박스에 대해 알림을 받을 Slack 채널 이름을 입력합니다. 쉼표로 구분하여 최대 10개의 채널 이름을 입력할 수 있습니다(예:
#channel-one, #channel-two).[!note] Slack 채널이 비공개인 경우 채널에 Slack용 GitLab 앱을 추가해야 합니다.
-
선택 사항. 알림 설정 섹션에서:
실패한 파이프라인에 대한 알림만 받으려면 실패한 파이프라인만 알림 체크박스를 선택합니다.
-
ref의 파이프라인 상태가 변경될 때만 알림을 받으려면 상태가 변경될 때만 알림 체크박스를 선택합니다.
-
알림을 보낼 브랜치 드롭다운 목록에서 알림을 받을 브랜치를 선택합니다.
알림은 이러한 브랜치에서 생성된 태그로 트리거된 파이프라인에 대해서도 전송됩니다.
취약점 알림은 선택한 브랜치에 관계없이 기본 브랜치에 의해서만 트리거됩니다. 자세한 내용은 이슈 469373을 참조하세요.
-
알림을 받을 라벨에 알림을 받으려는 GitLab 이슈, 머지 리퀘스트, 또는 댓글이 가져야 할 라벨을 일부 또는 전부 입력합니다. 모든 이벤트에 대한 알림을 받으려면 비워 두세요.
-
선택 사항. 설정 테스트를 선택합니다.
-
변경 사항 저장을 선택합니다.
비공개 채널로 알림 받기#
비공개 Slack 채널로 알림을 받으려면 채널에 Slack용 GitLab 앱을 추가해야 합니다:
-
채널에서
@GitLab을 입력하여 앱을 멘션합니다. -
채널에 추가를 선택합니다.
알림 이벤트#
다음 GitLab 이벤트가 Slack에서 알림을 트리거할 수 있습니다:
| 이벤트 | 설명 |
|---|---|
| 푸시 | 리포지터리에 푸시가 이루어집니다. |
| 이슈 | 작업 항목이 생성, 닫힘, 또는 다시 열립니다. |
| 기밀 이슈 | 기밀 작업 항목이 생성, 닫힘, 또는 다시 열립니다. |
| 머지 리퀘스트 | 머지 리퀘스트가 생성, 병합, 승인, 닫힘, 또는 다시 열립니다. |
| 노트 | 댓글이 추가됩니다. |
| 기밀 노트 | 기밀 작업 항목에 내부 노트 또는 댓글이 추가됩니다. |
| 태그 푸시 | 태그가 리포지터리에 푸시되거나 제거됩니다. |
| 파이프라인 | 파이프라인 상태가 변경됩니다. |
| 위키 페이지 | 위키 페이지가 생성되거나 업데이트됩니다. |
| 배포 | 배포가 시작되거나 완료됩니다. |
| 공개 채널의 그룹 멘션 | 공개 채널에서 그룹이 멘션됩니다. |
| 비공개 채널의 그룹 멘션 | 비공개 채널에서 그룹이 멘션됩니다. |
| 인시던트 | 인시던트가 생성, 닫힘, 또는 다시 열립니다. |
| 취약점 | 새로운 고유 취약점이 기본 브랜치에 기록됩니다. |
| 알림 | 새로운 고유 알림이 기록됩니다. |
그룹 멘션에 대한 알림 트리거#
-
GitLab 16.11에서 GitLab.com, GitLab Self-Managed, GitLab Dedicated에서 활성화됨.
-
GitLab 17.8에서 일반적으로 사용 가능해짐. Feature flag
gitlab_for_slack_app_instance_and_group_level제거됨.
그룹 멘션에 대한 알림 이벤트를 트리거하려면 다음에서 @<group_name>을 사용합니다:
-
이슈 및 머지 리퀘스트 설명
-
이슈, 머지 리퀘스트, 커밋에 대한 댓글