통합 API

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated

이 API를 사용하면 GitLab과 통합되는 외부 서비스와 작업할 수 있습니다.

이 API를 사용하려면 Maintainer 또는 Owner 역할의 액세스 토큰이 필요합니다.

모든 활성 통합 디렉터리

모든 활성 프로젝트 통합 디렉터리을 가져옵니다. vulnerability_events 필드는 GitLab Enterprise Edition에서만 사용할 수 있습니다.

GET /projects/:id/integrations

예시 응답:

[
  {
    "id": 75,
    "title": "Jenkins CI",
    "slug": "jenkins",
    "created_at": "2019-11-20T11:20:25.297Z",
    "updated_at": "2019-11-20T12:24:37.498Z",
    "active": true,
    "commit_events": true,
    "push_events": true,
    "issues_events": true,
    "alert_events": true,
    "confidential_issues_events": true,
    "merge_requests_events": true,
    "tag_push_events": false,
    "deployment_events": false,
    "note_events": true,
    "confidential_note_events": true,
    "pipeline_events": true,
    "wiki_page_events": true,
    "job_events": true,
    "comment_on_event_enabled": true,
    "vulnerability_events": true
  },
  {
    "id": 76,
    "title": "Alerts endpoint",
    "slug": "alerts",
    "created_at": "2019-11-20T11:20:25.297Z",
    "updated_at": "2019-11-20T12:24:37.498Z",
    "active": true,
    "commit_events": true,
    "push_events": true,
    "issues_events": true,
    "alert_events": true,
    "confidential_issues_events": true,
    "merge_requests_events": true,
    "tag_push_events": true,
    "deployment_events": false,
    "note_events": true,
    "confidential_note_events": true,
    "pipeline_events": true,
    "wiki_page_events": true,
    "job_events": true,
    "comment_on_event_enabled": true,
    "vulnerability_events": true
  }
]

Apple App Store Connect

Apple App Store Connect 설정

프로젝트에 Apple App Store Connect 통합을 설정합니다.

PUT /projects/:id/integrations/apple_app_store

매개변수:

매개변수 타입 필수 설명
app_store_issuer_id string true Apple App Store Connect 발행자 ID.
app_store_key_id string true Apple App Store Connect 키 ID.
app_store_private_key_file_name string true Apple App Store Connect 개인 키 파일 이름.
app_store_private_key string true Apple App Store Connect 개인 키.
app_store_protected_refs boolean false 보호된 브랜치 및 태그에만 변수 설정. 빈칸일 경우 모든 브랜치가 포함됩니다.

Apple App Store Connect 비활성화

프로젝트의 Apple App Store Connect 통합을 비활성화합니다. 통합 설정이 초기화됩니다.

DELETE /projects/:id/integrations/apple_app_store

Apple App Store Connect 설정 가져오기

프로젝트의 Apple App Store Connect 통합 설정을 가져옵니다.

GET /projects/:id/integrations/apple_app_store

(이하 생략)

Buildkite 비활성화

프로젝트의 Buildkite 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/buildkite

Buildkite 설정 가져오기

프로젝트의 Buildkite 통합 설정을 가져옵니다.

GET /projects/:id/integrations/buildkite

Campfire Classic

Campfire Classic과 통합할 수 있습니다. Campfire Classic은 더 이상 판매되지 않는 구형 제품입니다.

Campfire Classic 설정

프로젝트의 Campfire Classic 통합을 설정합니다.

PUT /projects/:id/integrations/campfire

매개변수:

매개변수 유형 필수여부 설명
token string true Campfire Classic의 API 인증 토큰. 토큰을 얻으려면 Campfire Classic에 로그인하고 내 정보를 선택하세요.
subdomain string false 로그인한 경우에는 .campfirenow.com 서브도메인.
room string false Campfire Classic 룸 URL의 ID 부분.

Campfire Classic 비활성화

프로젝트의 Campfire Classic 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/campfire

Campfire Classic 설정 가져오기

프로젝트의 Campfire Classic 통합 설정을 가져옵니다.

GET /projects/:id/integrations/campfire

ClickUp

ClickUp 설정

프로젝트의 ClickUp 통합을 설정합니다.

PUT /projects/:id/integrations/clickup

매개변수:

매개변수 유형 필수여부 설명
issues_url string true 이슈의 URL.
project_url string true 프로젝트의 URL.

ClickUp 비활성화

프로젝트의 ClickUp 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/clickup

ClickUp 설정 가져오기

프로젝트의 ClickUp 통합 설정을 가져옵니다.

GET /projects/:id/integrations/clickup

Confluence Workspace

Confluence Workspace 설정

프로젝트의 Confluence Workspace 통합을 설정합니다.

PUT /projects/:id/integrations/confluence

매개변수:

매개변수 유형 필수여부 설명
confluence_url string true atlassian.net에 호스팅된 Confluence Workspace의 URL.

Confluence Workspace 비활성화

프로젝트의 Confluence Workspace 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/confluence

Confluence Workspace 설정 가져오기

프로젝트의 Confluence Workspace 통합 설정을 가져옵니다.

GET /projects/:id/integrations/confluence

사용자 정의 이슈 트래커

사용자 정의 이슈 트래커 설정

프로젝트의 사용자 정의 이슈 트래커를 설정합니다.

PUT /projects/:id/integrations/custom-issue-tracker

매개변수:

매개변수 유형 필수여부 설명
new_issue_url string true 새 이슈의 URL.
issues_url string true 이슈의 URL.
project_url string true 프로젝트의 URL.

사용자 정의 이슈 트래커 비활성화

프로젝트의 사용자 정의 이슈 트래커를 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/custom-issue-tracker

사용자 정의 이슈 트래커 설정 가져오기

프로젝트의 사용자 정의 이슈 트래커 설정을 가져옵니다.

GET /projects/:id/integrations/custom-issue-tracker

Datadog

Datadog 설정

프로젝트의 Datadog 통합을 설정합니다.

PUT /projects/:id/integrations/datadog

매개변수:

매개변수 유형 필수여부 설명
api_key string true Datadog와의 인증에 사용되는 API 키.
api_url string false (고급) Datadog 사이트의 전체 URL.
datadog_env string false Self-Managed형 배포용으로, Datadog에 전송되는 모든 데이터에 대한 env% 태그를 설정합니다.
datadog_service string false Datadog에서 이 GitLab 인스턴스의 모든 데이터에 태그를 지정합니다. 여러 Self-Managed형 배포를 관리할 때 사용할 수 있습니다.
datadog_site string false 데이터를 보낼 Datadog 사이트. 데이터를 EU 사이트로 보내려면 datadoghq.eu를 사용하세요.
datadog_tags string false Datadog의 사용자 정의 태그. key:value\nkey2:value2 형식으로 각 라인마다 하나의 태그를 지정하세요.
archive_trace_events boolean false 활성화하면 작업 로그가 Datadog에 수집되고 파이프라인 실행 추적과 함께 표시됩니다 (GitLab 15.3에 추가됨).

Datadog 비활성화

프로젝트의 Datadog 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/datadog

Datadog 설정 가져오기

프로젝트의 Datadog 통합 설정을 가져옵니다.

GET /projects/:id/integrations/datadog

Diffblue Cover

Diffblue Cover 설정

프로젝트의 Diffblue Cover 통합을 설정합니다.

PUT /projects/:id/integrations/diffblue-cover

매개변수:

매개변수 유형 필수여부 설명
diffblue_license_key string true Diffblue Cover 라이선스 키.
diffblue_access_token_name string true 파이프라인에서 Diffblue Cover가 사용하는 액세스 토큰 이름.
diffblue_access_token_secret string true 파이프라인에서 Diffblue Cover가 사용하는 액세스 토큰 비밀.

Diffblue Cover 비활성화

프로젝트의 Diffblue Cover 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/diffblue-cover

Diffblue Cover 설정 가져오기

프로젝트의 Diffblue Cover 통합 설정을 가져옵니다.

GET /projects/:id/integrations/diffblue-cover

Discord Notifications

Discord Notifications 설정

프로젝트의 Discord Notifications을 설정합니다.

PUT /projects/:id/integrations/discord

매개변수:

매개변수 유형 필수여부 설명
webhook string true Discord 웹훅 (예: https://discord.com/api/webhooks/...).
branches_to_be_notified string false 알림을 보낼 브랜치. all, default, protected, default_and_protected 중에서 선택 가능합니다. 기본값은 default 입니다.
confidential_issues_events boolean false 기밀 이슈 이벤트에 대한 알림을 활성화합니다.
confidential_issue_channel string false 기밀 이슈 이벤트를 수신하는 웹훅 오버라이드.
confidential_note_events boolean false 기밀 노트 이벤트에 대한 알림을 활성화합니다.
confidential_note_channel string false 기밀 노트 이벤트를 수신하는 웹훅 오버라이드.
deployment_events boolean false 배포 이벤트에 대한 알림을 활성화합니다.
deployment_channel string false 배포 이벤트를 수신하는 웹훅 오버라이드.
group_confidential_mentions_events boolean false 그룹 기밀 언급 이벤트에 대한 알림을 활성화합니다.
group_confidential_mentions_channel string false 그룹 기밀 언급 이벤트를 수신하는 웹훅 오버라이드.
group_mentions_events boolean false 그룹 언급 이벤트에 대한 알림을 활성화합니다.
group_mentions_channel string false 그룹 언급 이벤트를 수신하는 웹훅 오버라이드.
issues_events boolean false 이슈 이벤트에 대한 알림을 활성화합니다.
issue_channel string false 이슈 이벤트를 수신하는 웹훅 오버라이드.
merge_requests_events boolean false Merge Request 이벤트에 대한 알림을 활성화합니다.
merge_request_channel string false Merge Request 이벤트를 수신하는 웹훅 오버라이드.
note_events boolean false 노트 이벤트에 대한 알림을 활성화합니다.
note_channel string false 노트 이벤트를 수신하는 웹훅 오버라이드.
notify_only_broken_pipelines boolean false 실패한 파이프라인에 대한 알림을 보냅니다.
pipeline_events boolean false 파이프라인 이벤트에 대한 알림을 활성화합니다.
pipeline_channel string false 파이프라인 이벤트를 수신하는 웹훅 오버라이드.
push_events boolean false 푸시 이벤트에 대한 알림을 활성화합니다.
push_channel string false 푸시 이벤트를 수신하는 웹훅 오버라이드.
tag_push_events boolean false 태그 푸시 이벤트에 대한 알림을 활성화합니다.
tag_push_channel string false 태그 푸시 이벤트를 수신하는 웹훅 오버라이드.
wiki_page_events boolean false 위키 페이지 이벤트에 대한 알림을 활성화합니다.
wiki_page_channel string false 위키 페이지 이벤트를 수신하는 웹훅 오버라이드.
### Discord 알림 비활성화

프로젝트의 Discord 알림을 비활성화합니다. 통합 설정이 재설정됩니다.

```plaintext
DELETE /projects/:id/integrations/discord

Discord 알림 설정 가져오기

프로젝트의 Discord 알림 설정을 가져옵니다.

GET /projects/:id/integrations/discord

Drone

Drone 설정

프로젝트에 Drone 통합을 설정합니다.

PUT /projects/:id/integrations/drone-ci

매개변수:

매개변수 타입 필수 설명
token string true Drone CI 프로젝트 특정 토큰입니다.
drone_url string true http://drone.example.com.
enable_ssl_verification boolean false SSL 확인을 활성화합니다. 기본값은 true (활성화됨)입니다.
push_events boolean false 푸쉬 이벤트에 대한 알림을 활성화합니다.
merge_requests_events boolean false Merge Request 이벤트에 대한 알림을 활성화합니다.
tag_push_events boolean false 태그 푸시 이벤트에 대한 알림을 활성화합니다.

Drone 비활성화

프로젝트의 Drone 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/drone-ci

Drone 설정 가져오기

프로젝트의 Drone 통합 설정을 가져옵니다.

GET /projects/:id/integrations/drone-ci

푸시 이메일

푸쉬 이메일 설정

프로젝트의 푸쉬 이메일 통합을 설정합니다.

PUT /projects/:id/integrations/emails-on-push

매개변수:

매개변수 타입 필수 설명
recipients string true 공백으로 구분된 이메일입니다.
disable_diffs boolean false 코드 차이를 비활성화합니다.
send_from_committer_email boolean false 커밋터로부터 전송합니다.
push_events boolean false 푸쉬 이벤트에 대한 알림을 활성화합니다.
tag_push_events boolean false 태그 푸시 이벤트에 대한 알림을 활성화합니다.
branches_to_be_notified string false 알림을 보낼 브랜치입니다. all, default, protected, default_and_protected 중 하나를 선택할 수 있습니다. 기본값은 all입니다.

푸쉬 이메일 비활성화

프로젝트의 푸쉬 이메일 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/emails-on-push

푸쉬 이메일 설정 가져오기

프로젝트의 푸쉬 이메일 통합 설정을 가져옵니다.

GET /projects/:id/integrations/emails-on-push

엔지니어링 워크플로우 관리 (EWM)

EWM 설정

프로젝트에 EWM 통합을 설정합니다.

PUT /projects/:id/integrations/ewm

매개변수:

매개변수 타입 필수 설명
new_issue_url string true 새 이슈의 URL입니다.
project_url string true 프로젝트의 URL입니다.
issues_url string true 이슈의 URL입니다.

EWM 비활성화

프로젝트의 EWM 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/ewm

EWM 설정 가져오기

프로젝트의 EWM 통합 설정을 가져옵니다.

GET /projects/:id/integrations/ewm

외부 위키

외부 위키 설정

프로젝트에 외부 위키를 설정합니다.

PUT /projects/:id/integrations/external-wiki

매개변수:

매개변수 타입 필수 설명
external_wiki_url string true 외부 위키의 URL입니다.

외부 위키 비활성화

프로젝트의 외부 위키를 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/external-wiki

외부 위키 설정 가져오기

프로젝트의 외부 위키 설정을 가져옵니다.

GET /projects/:id/integrations/external-wiki

GitGuardian

Tier: Premium, Ultimate Offering: Self-Managed, GitLab Dedicated
  • 도입 in GitLab 16.9 with a flag named git_guardian_integration. Enabled by default. Disabled on GitLab.com.
자체 호스팅된 GitLab의 경우, 기본적으로 이 기능을 사용할 수 있습니다. 기능을 숨기려면 관리자에게 git_guardian_integration이름의 피처 플래그를 비활성화하도록 요청하세요. GitLab.com에서는 이 기능을 사용할 수 없습니다. GitLab Dedicated에서는 이 기능을 사용할 수 있습니다.

GitGuardian은 API 키와 비밀번호와 같은 민감한 데이터를 감지하는 사이버보안 서비스입니다. Git 리포지터리를 스캔하여 정책 위반에 대해 알림을 제공하고, 해커가 악용하기 전에 조직이 보안 문제를 해결할 수 있도록 돕습니다.

GitLab을 구성하여 GitGuardian 정책에 따라 커밋을 거부할 수 있습니다.

알려진 문제점

  • 푸시가 지연되거나 시간 초과될 수 있습니다. GitGuardian 통합을 사용하면 푸시가 제3자에게 전송되며, GitLab은 GitGuardian과의 연결 또는 GitGuardian 프로세스에 대해 제어할 수 없습니다.
  • GitGuardian API 제한으로 인해 1MB를 초과하는 파일은 무시됩니다. 스캔되지 않습니다.
  • 푸시된 파일의 이름이 256자를 초과하면 푸시되지 않습니다. 자세한 내용은 GitGuardian API 설명서를 참조하세요.

통합 페이지의 문제 해결 단계에서 이러한 문제 중 일부를 완화하는 방법을 확인할 수 있습니다.

GitGuardian 설정

프로젝트에 GitGuardian 통합을 설정합니다.

PUT /projects/:id/integrations/git-guardian

매개변수:

매개변수 타입 필수 설명
token string true scan 스코프가 있는 GitGuardian API 토큰입니다.

GitGuardian 비활성화

프로젝트의 GitGuardian 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/git-guardian

GitGuardian 설정 가져오기

프로젝트의 GitGuardian 통합 설정을 가져옵니다.

GET /projects/:id/integrations/git-guardian

GitHub

Tier: Premium, Ultimate Offering: GitLab.com, 자체 호스팅, GitLab Dedicated

GitHub 설정

프로젝트에 GitHub 통합을 설정합니다.

PUT /projects/:id/integrations/github

매개변수:

매개변수 타입 필수 설명
token string true repo:status OAuth 스코프가 있는 GitHub API 토큰입니다.
repository_url string true GitHub 리포지터리 URL입니다.
static_context boolean false 상태 확인 이름에 GitLab 인스턴스의 호스트명을 추가합니다.

GitHub 비활성화

프로젝트의 GitHub 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/github

GitHub 설정 가져오기

프로젝트의 GitHub 통합 설정을 가져옵니다.

GET /projects/:id/integrations/github

Slack 앱용 GitLab

Slack 앱용 GitLab 설정

프로젝트의 Slack 앱용 GitLab 통합을 업데이트합니다.

GitLab API만으로는 OAuth 2.0 토큰을 얻을 수 없기 때문에 API를 사용하여 Slack 앱용 GitLab 앱을 만들 수 없습니다. 대신 GitLab UI에서 앱을 설치해야 합니다. 그런 다음 API 엔드포인트를 사용하여 통합을 업데이트할 수 있습니다.

PUT /projects/:id/integrations/gitlab-slack-application

매개변수:

| 매개변수 | 타입 | 필수 | 설명 | | ——— | —- | ——– | ———– | | channel | string | false | 구성되지 않은 경우 사용할 기본 채널입니다. | | notify_only_broken_pipelines | boolean | false | 중단된 파이프라인에 대한 알림을 보냅니다. | | notify_only_default_branch | boolean | false | 사용 중단: 이 매개변수는 branches_to_be_notified로 대체되었습니다. | | branches_to_be_notified | string | false | 알림을 보낼 브랜치입니다. all, default, protected, default_and_protected 중 하나를 선택할 수 있습니다. 기본값은 default입니다. | | alert_events | boolean | false | 경보 이벤트에 대한 알림을 활성화합니다. | | issues_events | boolean | false | 이슈 이벤트에 대한 알림을 활성화합니다. | | confidential_issues_events | boolean | false | 기밀 이슈 이벤트에 대한 알림을 활성화합니다. | | merge_requests_events | boolean | false | Merge Request 이벤트에 대한 알림을 활성화합니다. | | note_events | boolean | false | 노트 이벤트에 대한 알림을 활성화합니다. | | confidential_note_events | boolean | false | 기밀 노트 이벤트에 대한 알림을 활성화합니다. | | deployment_events | boolean | false | 배포 이벤트에 대한 알림을 활성화합니다. | | incidents_events | boolean | false | 사건 이벤트에 대한 알림을 활성화합니다. | | pipeline_events | boolean | false | 파이프라인 이벤트에 대한 알림을 활성화합니다. | | push_events | boolean | false | 푸쉬 이벤트에 대한 알림을 활성화합니다. | | tag_push_events | boolean | false | 태그 푸시 이벤트에 대한 알림을 활성화합니다. | | vulnerability_events | boolean | false | 취약점 이벤트에 대한 알림을 활성화합니다. | | wiki_page_events | boolean | false | 위키 페이지 이벤트에 대한 알림을 활성화합니다. | ```

GitLab for Slack 앱 비활성화

프로젝트용 GitLab for Slack 앱 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/gitlab-slack-application

GitLab for Slack 앱 설정 가져오기

프로젝트용 GitLab for Slack 앱 통합 설정을 가져옵니다.

GET /projects/:id/integrations/gitlab-slack-application

Google Chat

Google Chat 설정

프로젝트용 Google Chat 통합을 설정합니다.

PUT /projects/:id/integrations/hangouts-chat

매개변수:

매개변수 유형 필수 설명
webhook string true Hangouts Chat 웹훅 (예: https://chat.googleapis.com/v1/spaces...).
notify_only_broken_pipelines boolean false 실패한 파이프라인에 대한 알림 전송.
notify_only_default_branch boolean false 사용되지 않음: 이 매개변수는 branches_to_be_notified로 대체되었습니다.
branches_to_be_notified string false 알림을 보낼 브랜치. all, default, protected, default_and_protected가 유효한 옵션입니다. 기본값은 default입니다.
push_events boolean false 푸시 이벤트에 대한 알림 활성화.
issues_events boolean false 이슈 이벤트에 대한 알림 활성화.
confidential_issues_events boolean false 비밀 이슈 이벤트에 대한 알림 활성화.
merge_requests_events boolean false Merge Request 이벤트에 대한 알림 활성화.
tag_push_events boolean false 태그 푸시 이벤트에 대한 알림 활성화.
note_events boolean false 노트 이벤트에 대한 알림 활성화.
confidential_note_events boolean false 비밀 노트 이벤트에 대한 알림 활성화.
pipeline_events boolean false 파이프라인 이벤트에 대한 알림 활성화.
wiki_page_events boolean false 위키 페이지 이벤트에 대한 알림 활성화.

Google Chat 비활성화

프로젝트용 Google Chat 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/hangouts-chat

Google Chat 설정 가져오기

프로젝트용 Google Chat 통합 설정을 가져옵니다.

GET /projects/:id/integrations/hangouts-chat

Google Artifact 관리

Offering: GitLab.com Status: Beta
  • GitLab 16.9에 도입되었으며, google_cloud_support_feature_flag로 지정된 Beta 기능입니다. 기본적으로 비활성화됨.
GitLab.com에서 이 기능은 사용할 수 없습니다. 이 기능은 본격적인 사용을 위한 준비가 되지 않았습니다.

Google Artifact 관리 설정

프로젝트용 Google Artifact 관리 통합을 설정합니다.

PUT /projects/:id/integrations/google-cloud-platform-artifact-registry

매개변수:

매개변수 유형 필수 설명
artifact_registry_project_id string true Google Cloud 프로젝트 ID.
artifact_registry_location string true Artifact Registry 리포지터리의 위치.
artifact_registry_repositories string true Artifact Registry 리포지터리.

Google Artifact 관리 비활성화

프로젝트용 Google Artifact 관리 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/google-cloud-platform-artifact-registry

Google Artifact 관리 설정 가져오기

프로젝트용 Google Artifact 관리 통합 설정을 가져옵니다.

GET /projects/:id/integrations/google-cloud-platform-artifact-registry

Google Cloud Identity 및 Access Management (IAM)

  • GitLab 16.10에 도입되었으며, google_cloud_support_feature_flag로 지정된 Beta 기능입니다. 기본적으로 비활성화됨.
GitLab.com에서 이 기능은 사용할 수 없습니다. 이 기능은 본격적인 사용을 위한 준비가 되지 않았습니다.

Google Cloud Identity 및 Access Management 설정

프로젝트용 Google Cloud Identity 및 Access Management 통합을 설정합니다.

PUT /projects/:id/integrations/google-cloud-platform-workload-identity-federation

매개변수:

매개변수 유형 필수 설명
workload_identity_federation_project_id string true Workload Identity Federation용 Google Cloud 프로젝트 ID.
workload_identity_federation_project_number integer true Workload Identity Federation용 Google Cloud 프로젝트 번호.
workload_identity_pool_id string true Workload Identity Pool의 ID.
workload_identity_pool_provider_id string true Workload Identity Pool 제공자의 ID.

Google Cloud Identity 및 Access Management 비활성화

프로젝트용 Google Cloud Identity 및 Access Management 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/google-cloud-platform-workload-identity-federation

Google Cloud Identity 및 Access Management 설정 가져오기

프로젝트용 Google Cloud Identity 및 Access Management 통합 설정을 가져옵니다.

GET /projects/:id/integration/google-cloud-platform-workload-identity-federation

Google Play

Google Play 설정

프로젝트용 Google Play 통합을 설정합니다.

PUT /projects/:id/integrations/google-play

매개변수:

매개변수 유형 필수 설명
package_name string true Google Play의 앱 패키지 이름.
service_account_key string true Google Play 서비스 계정 키.
service_account_key_file_name string true Google Play 서비스 계정 키의 파일 이름.
google_play_protected_refs boolean false 보호된 브랜치 및 태그에만 변수 설정.

Google Play 비활성화

프로젝트용 Google Play 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/google-play

Google Play 설정 가져오기

프로젝트용 Google Play 통합 설정을 가져옵니다.

GET /projects/:id/integrations/google-play

Harbor

Harbor 설정

프로젝트용 Harbor 통합을 설정합니다.

PUT /projects/:id/integrations/harbor

매개변수:

매개변수 유형 필수 설명
url string true GitLab 프로젝트에 연결된 Harbor 인스턴스의 기본 URL. 예: https://demo.goharbor.io.
project_name string true Harbor 인스턴스의 프로젝트 이름. 예: testproject.
username string true Harbor 인터페이스에서 생성된 사용자 이름.
password string true 사용자의 비밀번호.

Harbor 비활성화

프로젝트용 Harbor 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/harbor

Harbor 설정 가져오기

프로젝트용 Harbor 통합 설정을 가져옵니다.

GET /projects/:id/integrations/harbor

irker (IRC 게이트웨이)

irker 설정

프로젝트용 irker 통합을 설정합니다.

PUT /projects/:id/integrations/irker

매개변수:

매개변수 유형 필수 설명
recipients string true 공백으로 구분된 수신자 또는 채널.
default_irc_uri string false irc://irc.network.net:6697/.
server_host string false localhost.
server_port integer false 6659.
colorize_messages boolean false 메시지 색상화.

irker 비활성화

프로젝트의 irker 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/irker

irker 설정 가져오기

프로젝트의 irker 통합 설정을 가져옵니다.

GET /projects/:id/integrations/irker

Jenkins

Jenkins 설정

프로젝트를 위해 Jenkins 통합을 설정합니다.

PUT /projects/:id/integrations/jenkins

매개변수:

매개변수 유형 필수 설명
jenkins_url 문자열 true http://jenkins.example.com과 같은 Jenkins URL입니다.
enable_ssl_verification 부울 false SSL 확인 기능을 활성화합니다. 기본값은 true (활성화됨)입니다.
project_name 문자열 true URL 친화적인 프로젝트 이름입니다. 예: my_project_name
username 문자열 false Jenkins 서버와의 인증에 사용되는 사용자 이름입니다. (인증이 서버에서 필요한 경우)
password 문자열 false Jenkins 서버와의 인증에 사용되는 암호입니다. (인증이 서버에서 필요한 경우)
push_events 부울 false 푸시 이벤트에 대한 알림을 활성화합니다.
merge_requests_events 부울 false Merge Request 이벤트에 대한 알림을 활성화합니다.
tag_push_events 부울 false 태그 푸시 이벤트에 대한 알림을 활성화합니다.

Jenkins 비활성화

프로젝트의 Jenkins 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/jenkins

Jenkins 설정 가져오기

프로젝트의 Jenkins 통합 설정을 가져옵니다.

GET /projects/:id/integrations/jenkins

JetBrains TeamCity

JetBrains TeamCity 설정

프로젝트를 위해 JetBrains TeamCity 통합을 설정합니다.

TeamCity의 빌드 구성은 빌드 번호 형식 %build.vcs.number%을 사용해야 합니다. VCS 루트에 대한 고급 설정에서 모든 브랜치의 모니터링을 구성하여 Merge Request이 빌드될 수 있게 합니다.

PUT /projects/:id/integrations/teamcity

매개변수:

매개변수 유형 필수 설명
teamcity_url 문자열 true TeamCity 루트 URL (예: https://teamcity.example.com)
enable_ssl_verification 부울 false SSL 확인 기능을 활성화합니다. 기본값은 true (활성화됨)입니다.
build_type 문자열 true 빌드 구성 ID입니다.
username 문자열 true 매뉴얼 빌드를 트리거할 수 있는 사용자입니다.
password 문자열 true 사용자의 암호입니다.
push_events 부울 false 푸시 이벤트에 대한 알림을 활성화합니다.
merge_requests_events 부울 false Merge Request 이벤트에 대한 알림을 활성화합니다.

JetBrains TeamCity 비활성화

프로젝트의 JetBrains TeamCity 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/teamcity

JetBrains TeamCity 설정 가져오기

프로젝트의 JetBrains TeamCity 통합 설정을 가져옵니다.

GET /projects/:id/integrations/teamcity

Jira

Jira 설정

프로젝트를 위해 Jira 통합을 설정합니다.

PUT /projects/:id/integrations/jira

매개변수:

매개변수 유형 필수 설명
url 문자열 yes 이 GitLab 프로젝트에 연결된 Jira 프로젝트의 URL입니다 (예: https://jira.example.com).
api_url 문자열 no Jira 인스턴스 API에 대한 기본 URL입니다. 설정되지 않은 경우 웹 URL 값이 사용됩니다 (예: https://jira-api.example.com).
username 문자열 no Jira와 사용할 이메일 또는 사용자 이름입니다. Jira Cloud의 경우 이메일을 사용하고, Jira Data Center 및 Jira Server의 경우 사용자 이름을 사용합니다. 기본 인증(jira_auth_type0인 경우)을 사용할 때 필요합니다.
password 문자열 yes Jira와 사용할 API 토큰, 암호 또는 개인 액세스 토큰입니다. 인증 방법이 기본(jira_auth_type0인 경우)인 경우 Jira Cloud의 경우 API 토큰을 사용하고, Jira Data Center 또는 Jira Server의 경우 암호를 사용합니다. Jira 개인 액세스 토큰(jira_auth_type1인 경우)을 사용하는 경우에는 개인 액세스 토큰을 사용합니다.
active 부울 no 통합을 활성화하거나 비활성화합니다. 기본값은 false (비활성화됨)입니다.
jira_auth_type 정수 no Jira와 사용할 인증 방법입니다. 0은 기본 인증을 의미합니다. 1은 Jira 개인 액세스 토큰을 의미합니다. 기본값은 0입니다.
jira_issue_prefix 문자열 no Jira 이슈 키와 일치하는 접두사입니다.
jira_issue_regex 문자열 no Jira 이슈 키와 일치하는 정규 표현식입니다.
jira_issue_transition_automatic 부울 no 자동 이슈 전환을 활성화합니다. 활성화될 경우 jira_issue_transition_id보다 우선합니다. 기본값은 false입니다.
jira_issue_transition_id 문자열 no 사용자 정의 이슈 전환을 위한 하나 이상의 전환 ID입니다. jira_issue_transition_automatic이 활성화된 경우 무시됩니다. 기본값은 비어 있어서 사용자 정의 전환을 비활성화합니다.
commit_events 부울 false 커밋 이벤트에 대한 알림을 활성화합니다.
merge_requests_events 부울 false Merge Request 이벤트에 대한 알림을 활성화합니다.
comment_on_event_enabled 부울 false 각 GitLab 이벤트(커밋 또는 Merge Request)에 대한 Jira 이슈에서의 코멘트를 활성화합니다.
issues_enabled 부울 false GitLab 17.0에서 도입된 기능으로, GitLab에서 Jira 이슈를 보여주는 기능을 활성화합니다.
project_keys 문자열 배열 false Jira 프로젝트 키입니다. issues_enabledtrue인 경우 이 설정은 GitLab에서 Jira 이슈를 보기 위해 사용할 Jira 프로젝트를 지정합니다. GitLab 17.0에서 도입되었습니다.

Jira 비활성화

프로젝트의 Jira 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/jira

Jira 설정 가져오기

프로젝트의 Jira 통합 설정을 가져옵니다.

GET /projects/:id/integrations/jira

Mattermost 알림

Mattermost 알림 설정

프로젝트를 위해 Mattermost 알림을 설정합니다.

PUT /projects/:id/integrations/mattermost

매개변수:

매개변수 유형 필수 설명
webhook 문자열 true Mattermost 알림 웹훅(예: http://mattermost.example.com/hooks/...)
username 문자열 false Mattermost 알림 사용자 이름
channel 문자열 false 다른 채널이 구성되지 않은 경우 사용할 기본 채널
notify_only_broken_pipelines 부울 false 망가진 파이프라인에 대한 알림을 보냅니다.
notify_only_default_branch 부울 false 사용되지 않음: 이 매개변수는 branches_to_be_notified로 대체되었습니다.
branches_to_be_notified 문자열 false 알림을 보낼 브랜치입니다. 유효한 옵션은 all, default, protected, default_and_protected입니다. 기본값은 default입니다.
labels_to_be_notified 문자열 false 알림을 받을 라벨입니다. 모든 이벤트에 대한 알림을 받으려면 비워 두십시오.
labels_to_be_notified_behavior 문자열 false 알림을 받을 라벨. 유효한 옵션은 match_anymatch_all입니다. 기본값은 match_any입니다.
push_events 부울 false 푸시 이벤트에 대한 알림을 활성화합니다.
issues_events 부울 false 이슈 이벤트에 대한 알림을 활성화합니다.
confidential_issues_events 부울 false 기밀 이슈 이벤트에 대한 알림을 활성화합니다.
merge_requests_events 부울 false Merge Request 이벤트에 대한 알림을 활성화합니다.
tag_push_events 부울 false 태그 푸시 이벤트에 대한 알림을 활성화합니다.
note_events 부울 false 노트 이벤트에 대한 알림을 활성화합니다.
confidential_note_events 부울 false 기밀 노트 이벤트에 대한 알림을 활성화합니다.
pipeline_events 부울 false 파이프라인 이벤트에 대한 알림을 활성화합니다.
wiki_page_events 부울 false 위키 페이지 이벤트에 대한 알림을 활성화합니다.
push_channel 문자열 false 푸시 이벤트를 수신할 채널 이름
issue_channel 문자열 false 이슈 이벤트를 수신할 채널 이름
confidential_issue_channel 문자열 false 기밀 이슈 이벤트를 수신할 채널 이름
merge_request_channel 문자열 false Merge Request 이벤트를 수신할 채널 이름
note_channel 문자열 false 노트 이벤트를 수신할 채널 이름
confidential_note_channel 문자열 false 기밀 노트 이벤트를 수신할 채널 이름
tag_push_channel 문자열 false 태그 푸시 이벤트를 수신할 채널 이름
pipeline_channel 문자열 false 파이프라인 이벤트를 수신할 채널 이름
wiki_page_channel 문자열 false 위키 페이지 이벤트를 수신할 채널 이름

Mattermost 알림 비활성화

프로젝트의 Mattermost 알림을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/mattermost

Mattermost 알림 설정 가져오기

프로젝트의 Mattermost 알림 설정을 가져옵니다.

GET /projects/:id/integrations/mattermost

Mattermost 슬래시 명령어

Mattermost 슬래시 명령어 설정

프로젝트를 위해 Mattermost 슬래시 명령어를 설정합니다.

PUT /projects/:id/integrations/mattermost-slash-commands

매개변수:

매개변수 유형 필수 여부 설명
token string yes Mattermost 토큰입니다.

Mattermost 슬래시 명령어 비활성화

프로젝트의 Mattermost 슬래시 명령어를 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/mattermost-slash-commands

Mattermost 슬래시 명령어 설정 가져오기

프로젝트의 Mattermost 슬래시 명령어 설정을 가져옵니다.

GET /projects/:id/integrations/mattermost-slash-commands

Microsoft Teams 알림

Microsoft Teams 알림 설정

프로젝트를 위해 Microsoft Teams 알림을 설정합니다.

PUT /projects/:id/integrations/microsoft-teams

매개변수:

매개변수 유형 필수 여부 설명
webhook string true Microsoft 팀 웹훅(예: https://outlook.office.com/webhook/...).
notify_only_broken_pipelines boolean false 파이프라인이 실패할 때 알림을 보냅니다.
notify_only_default_branch boolean false 사용되지 않음: 이 매개변수는 branches_to_be_notified로 대체되었습니다.
branches_to_be_notified string false 알림을 보낼 브랜치입니다. all, default, protected, default_and_protected 중 선택할 수 있습니다. 기본값은 default입니다.
push_events boolean false 푸시 이벤트에 대한 알림을 활성화합니다.
issues_events boolean false 이슈 이벤트에 대한 알림을 활성화합니다.
confidential_issues_events boolean false 기밀 이슈 이벤트에 대한 알림을 활성화합니다.
merge_requests_events boolean false Merge Request 이벤트에 대한 알림을 활성화합니다.
tag_push_events boolean false 태그 푸시 이벤트에 대한 알림을 활성화합니다.
note_events boolean false 노트 이벤트에 대한 알림을 활성화합니다.
confidential_note_events boolean false 기밀 노트 이벤트에 대한 알림을 활성화합니다.
pipeline_events boolean false 파이프라인 이벤트에 대한 알림을 활성화합니다.
wiki_page_events boolean false 위키 페이지 이벤트에 대한 알림을 활성화합니다.

Microsoft Teams 알림 비활성화

프로젝트의 Microsoft Teams 알림을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/microsoft-teams

Microsoft Teams 알림 설정 가져오기

프로젝트의 Microsoft Teams 알림 설정을 가져옵니다.

GET /projects/:id/integrations/microsoft-teams

Pivotal Tracker 비활성화

프로젝트에서 Pivotal Tracker 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/pivotaltracker

Pivotal Tracker 설정 가져오기

프로젝트의 Pivotal Tracker 통합 설정을 가져옵니다.

GET /projects/:id/integrations/pivotaltracker

Pumble

Pumble 설정

프로젝트에 Pumble 통합을 설정합니다.

PUT /projects/:id/integrations/pumble

매개변수:

매개변수 타입 필수 설명
webhook string true Pumble 웹훅 (예: https://api.pumble.com/workspaces/x/...).
branches_to_be_notified string false 알림을 보낼 브랜치. all, default, protected, default_and_protected가 유효한 옵션입니다. 기본값은 default입니다.
confidential_issues_events boolean false 기밀 문제 이벤트에 대한 알림 활성화
confidential_note_events boolean false 기밀 노트 이벤트에 대한 알림 활성화
issues_events boolean false 이슈 이벤트에 대한 알림 활성화
merge_requests_events boolean false Merge Request 이벤트에 대한 알림 활성화
note_events boolean false 노트 이벤트에 대한 알림 활성화
notify_only_broken_pipelines boolean false 실패한 파이프라인에 대한 알림 보내기
pipeline_events boolean false 파이프라인 이벤트에 대한 알림 활성화
push_events boolean false 푸시 이벤트에 대한 알림 활성화
tag_push_events boolean false 태그 푸시 이벤트에 대한 알림 활성화
wiki_page_events boolean false 위키 페이지 이벤트에 대한 알림 활성화

Pumble 비활성화

프로젝트에서 Pumble 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/pumble

Pumble 설정 가져오기

프로젝트의 Pumble 통합 설정을 가져옵니다.

GET /projects/:id/integrations/pumble

Pushover

Pushover 설정

프로젝트에 Pushover 통합을 설정합니다.

PUT /projects/:id/integrations/pushover

매개변수:

매개변수 타입 필수 설명
api_key string true 귀하의 응용 프로그램 키
user_key string true 귀하의 사용자 키
priority string true 우선 순위
device string false 모든 활성 장치에 대해 비워둡니다.
sound string false 알림 사운드

Pushover 비활성화

프로젝트에서 Pushover 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/pushover

Pushover 설정 가져오기

프로젝트의 Pushover 통합 설정을 가져옵니다.

GET /projects/:id/integrations/pushover

Redmine

Redmine 설정

프로젝트에 Redmine 통합을 설정합니다.

PUT /projects/:id/integrations/redmine

매개변수:

매개변수 타입 필수 설명
new_issue_url string true 새 이슈의 URL
project_url string true 프로젝트의 URL
issues_url string true 이슈의 URL

Redmine 비활성화

프로젝트에서 Redmine 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/redmine

Redmine 설정 가져오기

프로젝트의 Redmine 통합 설정을 가져옵니다.

GET /projects/:id/integrations/redmine

Slack 알림

Slack 알림 설정

프로젝트에 Slack 알림을 설정합니다.

PUT /projects/:id/integrations/slack

매개변수:

매개변수 타입 필수 설명
webhook string true Slack 알림 웹훅 (예: https://hooks.slack.com/services/...).
username string false Slack 알림 사용자 이름
channel string false 다른 채널이 구성되지 않은 경우 사용할 기본 채널
notify_only_broken_pipelines boolean false 실패한 파이프라인에 대한 알림 보내기
notify_only_default_branch boolean false 사용되지 않음: 이 매개변수는 branches_to_be_notified로 대체되었습니다.
branches_to_be_notified string false 알림을 보낼 브랜치. all, default, protected, default_and_protected가 유효한 옵션입니다. 기본값은 default입니다.
labels_to_be_notified string false 알림을 받을 레이블. 모든 이벤트에 대해 알림을 받으려면 비워둡니다.
labels_to_be_notified_behavior string false 알림을 받을 레이블. 유효한 옵션은 match_anymatch_all입니다. 기본값은 match_any입니다.
alert_channel string false 알림 이벤트를 받을 채널의 이름
alert_events boolean false 알림 이벤트에 대한 알림 활성화
commit_events boolean false 커밋 이벤트에 대한 알림 활성화
confidential_issue_channel string false 기밀 이슈 이벤트를 받을 채널의 이름
confidential_issues_events boolean false 기밀 이슈 이벤트에 대한 알림 활성화
confidential_note_channel string false 기밀 노트 이벤트를 받을 채널의 이름
confidential_note_events boolean false 기밀 노트 이벤트에 대한 알림 활성화
deployment_channel string false 배포 이벤트를 받을 채널의 이름
deployment_events boolean false 배포 이벤트에 대한 알림 활성화
incident_channel string false 사건 이벤트를 받을 채널의 이름
incidents_events boolean false 사건 이벤트에 대한 알림 활성화
issue_channel string false 이슈 이벤트를 받을 채널의 이름
issues_events boolean false 이슈 이벤트에 대한 알림 활성화
job_events boolean false 작업 이벤트에 대한 알림 활성화
merge_request_channel string false Merge Request 이벤트를 받을 채널의 이름
merge_requests_events boolean false Merge Request 이벤트에 대한 알림 활성화
note_channel string false 노트 이벤트를 받을 채널의 이름
note_events boolean false 노트 이벤트에 대한 알림 활성화
pipeline_channel string false 파이프라인 이벤트를 받을 채널의 이름
pipeline_events boolean false 파이프라인 이벤트에 대한 알림 활성화
push_channel string false 프로젝트에 대한 푸시 이벤트를 받을 채널의 이름
push_events boolean false 푸시 이벤트에 대한 알림 활성화
tag_push_channel string false 태그 푸시 이벤트를 받을 채널의 이름
tag_push_events boolean false 태그 푸시 이벤트에 대한 알림 활성화
wiki_page_channel string false 위키 페이지 이벤트를 받을 채널의 이름
wiki_page_events boolean false 위키 페이지 이벤트에 대한 알림 활성화

Slack 알림 비활성화

프로젝트의 Slack 알림을 비활성화합니다. 통합 설정은 초기화됩니다.

DELETE /projects/:id/integrations/slack

Slack 알림 설정 가져오기

프로젝트의 Slack 알림 설정을 가져옵니다.

GET /projects/:id/integrations/slack

Slack 슬래시 명령어

Slack 슬래시 명령어 설정

프로젝트의 Slack 슬래시 명령어를 설정합니다.

PUT /projects/:id/integrations/slack-slash-commands

매개변수:

매개변수 타입 필수 설명
token string yes Slack 토큰.

Slack 슬래시 명령어 비활성화

프로젝트의 Slack 슬래시 명령어를 비활성화합니다. 통합 설정은 초기화됩니다.

DELETE /projects/:id/integrations/slack-slash-commands

Slack 슬래시 명령어 설정 가져오기

프로젝트의 Slack 슬래시 명령어 설정을 가져옵니다.

GET /projects/:id/integrations/slack-slash-commands

예시 응답:

{
  "id": 4,
  "title": "Slack slash commands",
  "slug": "slack-slash-commands",
  "created_at": "2017-06-27T05:51:39-07:00",
  "updated_at": "2017-06-27T05:51:39-07:00",
  "active": true,
  "push_events": true,
  "issues_events": true,
  "confidential_issues_events": true,
  "merge_requests_events": true,
  "tag_push_events": true,
  "note_events": true,
  "job_events": true,
  "pipeline_events": true,
  "comment_on_event_enabled": false,
  "properties": {
    "token": "<your_access_token>"
  }
}

Squash TM

Squash TM 설정

프로젝트의 Squash TM 통합 설정을 설정합니다.

PUT /projects/:id/integrations/squash-tm

매개변수:

매개변수 타입 필수 설명
url string yes Squash TM 웹훅의 URL.
token string no 비밀 토큰.

Squash TM 비활성화

프로젝트의 Squash TM 통합을 비활성화합니다. 통합 설정은 유지됩니다.

DELETE /projects/:id/integrations/squash-tm

Squash TM 설정 가져오기

프로젝트의 Squash TM 통합 설정을 가져옵니다.

GET /projects/:id/integrations/squash-tm

… (생략)

(나머지 문서는 번역하지 않고 그대로 둡니다.)

Webex Teams 비활성화

프로젝트에서 Webex Teams를 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/webex-teams

Webex Teams 설정 가져오기

프로젝트의 Webex Teams 설정을 가져옵니다.

GET /projects/:id/integrations/webex-teams

YouTrack

YouTrack 설정

프로젝트의 YouTrack 통합을 설정합니다.

PUT /projects/:id/integrations/youtrack

매개변수:

매개변수 유형 필수 설명
issues_url string true 이슈의 URL
project_url string true 프로젝트의 URL

YouTrack 비활성화

프로젝트의 YouTrack 통합을 비활성화합니다. 통합 설정이 재설정됩니다.

DELETE /projects/:id/integrations/youtrack

YouTrack 설정 가져오기

프로젝트의 YouTrack 통합 설정을 가져옵니다.

GET /projects/:id/integrations/youtrack