프로젝트 통합
Offering: GitLab.com, Self-Managed, GitLab Dedicated
GitLab에 기능을 추가하기 위해 외부 응용 프로그램을 통합할 수 있습니다.
다음을 사용할 수 있습니다:
프로젝트 통합을 위한 그룹 수준 기본 설정 관리
전제 조건:
- 그룹에서 적어도 Maintainer 역할이 있어야 합니다.
프로젝트 통합을 위한 그룹 수준 기본 설정을 관리하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 설정 > 통합을 선택합니다.
- 통합을 선택합니다.
- 필드를 완료합니다.
- 변경 사항 저장을 선택합니다.
이것이 해당 통합에 대한 그룹 수준 설정을 처음 설정하는 경우:
- 그룹 수준 설정에서 통합 활성화 토글을 켰다면, 이 통합이 아직 구성되지 않은 그룹에 속하는 하위 그룹 및 프로젝트에 대해 통합이 활성화됩니다.
- 이미 통합이 구성된 하위 그룹 및 프로젝트에 대해서는 영향을 미치지 않지만 이후 언제든지 상속된 설정을 선택할 수 있습니다.
그룹 기본 설정을 추가로 변경하는 경우:
- 지금 변경 사항은 해당 그룹에 속하는 모든 하위 그룹 및 프로젝트에 즉시 적용됩니다.
- 더 최신의 기본 설정을 사용하도록 설정한 동안, 이전에 기본값을 저장한 후에 생성된 신규 하위 그룹 및 프로젝트에 대해서도 즉시 적용됩니다. 그룹 수준 기본 설정에서 통합 활성화 토글이 켜져 있는 경우, 해당 서브그룹 및 프로젝트에 대해 이 통합이 자동으로 활성화됩니다.
- 통합의 경우 사용자 지정 설정을 선택한 하위 그룹 및 프로젝트는 즉시 영향을 받지 않으며 언제든지 최신 기본 설정을 사용할 수 있습니다.
동일한 통합에 대해 인스턴스 수준 설정도 구성된 경우, 그룹의 프로젝트는 그룹에서 설정을 상속합니다.
통합의 전체 설정만 상속될 수 있습니다. 필드 단위 상속은 epic 2137에서 제안됩니다.
그룹 수준 기본 설정 제거
전제 조건:
- 그룹에서 적어도 Maintainer 역할이 있어야 합니다.
그룹 수준 기본 설정을 제거하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 설정 > 통합을 선택합니다.
- 통합을 선택합니다.
- 재설정을 선택하고 확인합니다.
그룹 수준 기본 설정을 재설정하면 기본 설정을 사용하는 통합이 사라지며 그룹 또는 하위 그룹, 프로젝트에 속하는 통합이 사라집니다.
프로젝트 통합을 위한 인스턴스 수준 또는 그룹 수준 기본 설정 사용
전제 조건:
- 프로젝트에서 적어도 Maintainer 역할이 있어야 합니다.
프로젝트 통합을 위한 인스턴스 수준 또는 그룹 수준 기본 설정을 사용하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 통합을 선택합니다.
- 통합을 선택합니다.
- 오른쪽에서 드롭다운 디렉터리에서 기본 설정 사용을 선택합니다.
- 통합 활성화 아래에서 Active 확인란이 선택되었는지 확인합니다.
- 필드를 완료합니다.
- 변경 사항 저장을 선택합니다.
프로젝트 또는 그룹 통합을 위한 사용자 정의 설정 사용
전제 조건:
- 프로젝트 또는 그룹에서 적어도 Maintainer 역할이 있어야 합니다.
프로젝트 또는 그룹 통합을 위한 사용자 정의 설정을 사용하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
- 설정 > 통합을 선택합니다.
- 통합을 선택합니다.
- 오른쪽에서 드롭다운 디렉터리에서 사용자 정의 설정 사용을 선택합니다.
- 통합 활성화 아래에서 Active 확인란이 선택되었는지 확인합니다.
- 필드를 완료합니다.
- 변경 사항 저장을 선택합니다.
사용 가능한 통합
통합 | 설명 | 통합 후크 |
---|---|---|
Asana | 커밋 메시지를 Asana 작업에 댓글로 추가 | 없음 |
Assembla | Assembla를 사용하여 프로젝트 관리 | 없음 |
Atlassian Bamboo | Atlassian Bamboo를 사용하여 CI/CD 파이프라인 실행 | 있음 |
Bugzilla | 이슈 추적으로 Bugzilla 사용 | 없음 |
Buildkite | Buildkite를 사용하여 CI/CD 파이프라인 실행 | 있음 |
Campfire | Campfire를 채팅에 연결 | 없음 |
ClickUp | 이슈 추적을 위해 ClickUp 사용 | 없음 |
Confluence Workspace | 내부 위키로 Confluence Workspace 사용 | 없음 |
사용자 지정 이슈 추적기 | 사용자 지정 이슈 추적기 사용 | 없음 |
Datadog | GitLab 파이프라인을 Datadog로 추적 | 있음 |
Discord Notifications | 프로젝트 이벤트에 대한 Discord 채널로 알림 전송 | 없음 |
Drone | Drone을 사용하여 CI/CD 파이프라인 실행 | 있음 |
푸시 이메일 | 푸시 시 커밋 및 차이를 이메일로 전송 | 없음 |
Engineering Workflow Management (EWM) | 이슈 추적으로 EWM 사용 | 없음 |
외부 위키 | 외부 위키 링크 | 없음 |
GitGuardian | GitGuardian 정책에 따라 커밋 거부 | 없음 |
GitHub | 커밋 및 풀 리퀘스트의 상태 수신 | 없음 |
GitLab for Slack app | 통지 수신 및 명령 실행을 위해 네이티브 Slack 앱 사용 | 없음 |
Google Chat | GitLab 프로젝트의 통지를 Google Chat 공간에 전송 | 없음 |
Harbor | GitLab을 위한 컨테이너 레지스트리로 Harbor 사용 | 없음 |
irker (IRC gateway) | IRC 메시지 전송 | 없음 |
Jenkins | Jenkins를 사용하여 CI/CD 파이프라인 실행 | 있음 |
JetBrains TeamCity | TeamCity를 사용하여 CI/CD 파이프라인 실행 | 있음 |
Jira | 이슈 추적으로 Jira 사용 | 없음 |
Mattermost notifications | 프로젝트 이벤트에 대한 Mattermost 채널로 알림 전송 | 없음 |
Mattermost slash commands | Mattermost 채팅 환경에서 슬래시 명령 실행 | 없음 |
Microsoft Teams notifications | Microsoft Teams에서 이벤트 알림 수신 | 없음 |
Packagist | Packagist에서 PHP 의존성 업데이트 | 있음 |
Phorge | 이슈 추적으로 Phorge 사용 | 없음 |
파이프라인 상태 이메일 | 수신자 디렉터리으로 파이프라인 상태 이메일 전송 | 없음 |
Pivotal Tracker | 커밋 메시지를 Pivotal Tracker 스토리에 댓글로 추가 | 없음 |
Pumble | Pumble 채널로 이벤트 알림 전송 | 없음 |
Pushover | 기기에 대한 실시간 알림 수신 | 없음 |
Redmine | 이슈 추적으로 Redmine 사용 | 없음 |
슬랙 슬래시 명령 | Slack 채팅 환경에서 슬래시 명령 실행 | 없음 |
Squash TM | GitLab 이슈 수정 시 Squash TM 요구 사항 업데이트 | 있음 |
Telegram | 프로젝트 이벤트에 대한 Telegram으로 알림 전송 | 없음 |
Unify Circuit | 프로젝트 이벤트에 대한 Unify Circuit으로 알림 전송 | 없음 |
Webex Teams | Webex Teams에서 이벤트 알림 수신 | 없음 |
YouTrack | 이슈 추적으로 YouTrack 사용 | 없음 |
프로젝트 웹훅
일부 통합은 외부 애플리케이션을 위해 웹훅을 사용합니다.
특정 이벤트를 수신 대기 위해 프로젝트 웹훅을 구성할 수 있으며, 예를 들어 푸시, 이슈 또는 Merge Request과 같은 이벤트가 포함됩니다. 웹훅이 트리거되면, GitLab은 해당 웹훅 URL로 데이터를 포함한 POST 요청을 전송합니다.
웹훅을 사용하는 통합 디렉터리은 사용 가능한 통합을 참조하세요.
푸시 훅 한도
단일 푸시에 세 개 이상의 브랜치나 태그에 변경 사항이 포함된 경우, push_hooks
및 tag_push_hooks
이벤트를 지원하는 통합이 실행되지 않습니다.
지원되는 브랜치나 태그의 수를 변경하려면, push_event_hooks_limit
설정을 구성하세요.
SSL 검증
기본적으로, 외부 HTTP 요청의 SSL 인증서는 내부 인증 기관 디렉터리을 기반으로 확인됩니다. SSL 인증서는 자체 서명될 수 없습니다.
웹훅 및 일부 통합을 구성할 때 SSL 검증을 비활성화할 수 있습니다. GitLab에서 웹훅 구성을 참조하세요.