InfoGrab Docs

CI/CD 잡 토큰 스코프 API

요약

이 API를 사용하여 CI/CD 잡 토큰 스코프와 상호 작용합니다. CI/CD 잡 토큰 스코프 API 엔드포인트에 대한 모든 요청은 인증되어야 합니다. 지정된 프로젝트의 CI/CD 잡 토큰 액세스 설정 (잡 토큰 스코프)을 조회합니다.

이 API를 사용하여 CI/CD 잡 토큰 스코프와 상호 작용합니다.

Note

CI/CD 잡 토큰 스코프 API 엔드포인트에 대한 모든 요청은 인증되어야 합니다. 인증된 사용자는 프로젝트에 대한 Maintainer 또는 Owner 권한이 있어야 합니다.

프로젝트의 CI/CD 잡 토큰 액세스 설정 조회#

지정된 프로젝트의 CI/CD 잡 토큰 액세스 설정 (잡 토큰 스코프)을 조회합니다.

GET /projects/:id/job_token_scope

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.

성공하면 200과 다음 응답 속성을 반환합니다:

속성 유형 설명
inbound_enabled 불리언 허용 목록에 대해 승인된 그룹 및 프로젝트 설정이 활성화되어 있는지 여부를 나타냅니다. 비활성화된 경우 모든 프로젝트가 액세스할 수 있습니다. 이 값은 허용 목록이 현재 활성 상태인지 여부를 보여주며, 잡 토큰 허용 목록 적용 인스턴스 설정으로 인해 true가 될 수 있습니다.
outbound_enabled 불리언 이 프로젝트에서 생성된 CI/CD 잡 토큰이 다른 프로젝트에 액세스할 수 있는지 여부를 나타냅니다. GitLab 18.0에서 더 이상 사용되지 않으며 제거 예정.

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope"

응답 예시:

{
  "inbound_enabled": true,
  "outbound_enabled": false
}

프로젝트의 CI/CD 잡 토큰 액세스 설정 업데이트#

히스토리
  • GitLab 16.3에서 CI_JOB_TOKEN으로 이 프로젝트에 액세스 허용에서 이 프로젝트에 대한 액세스 제한으로 이름 변경.
  • GitLab 17.2에서 이 프로젝트에 대한 액세스 제한에서 승인된 그룹 및 프로젝트이름 변경.

지정된 프로젝트의 승인된 그룹 및 프로젝트 설정 (잡 토큰 스코프)을 업데이트합니다.

PATCH /projects/:id/job_token_scope

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
enabled 불리언 잡 토큰 액세스를 허용 목록에 있는 프로젝트만으로 제한합니다. 모든 프로젝트에서 액세스를 허용하려면 false로 설정합니다. 이 파라미터는 잡 토큰 허용 목록 적용 인스턴스 설정으로 재정의될 수 있습니다.

성공하면 204와 응답 본문 없음을 반환합니다.

잡 토큰 허용 목록 적용 인스턴스 설정이 활성화되어 있고 enabledfalse로 설정하려고 하면, 오류 메시지와 함께 400을 반환합니다.

요청 예시:

curl --request PATCH \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope" \
  --header 'PRIVATE-TOKEN: <your_access_token>' \
  --header 'Content-Type: application/json' \
  --data '{ "enabled": false }'

CI/CD 잡 토큰 허용 목록의 모든 프로젝트 목록#

지정된 프로젝트의 CI/CD 잡 토큰 허용 목록에 있는 모든 프로젝트를 나열합니다.

GET /projects/:id/job_token_scope/allowlist

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.

이 엔드포인트는 오프셋 기반 페이지네이션을 지원합니다.

성공하면 200과 각 프로젝트에 대한 제한된 필드를 포함한 프로젝트 목록을 반환합니다.

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/allowlist"

응답 예시:

[
  {
    "id": 4,
    "description": null,
    "name": "Diaspora Client",
    "name_with_namespace": "Diaspora / Diaspora Client",
    "path": "diaspora-client",
    "path_with_namespace": "diaspora/diaspora-client",
    "created_at": "2013-09-30T13:46:02Z",
    "default_branch": "main",
    "tag_list": [
      "example",
      "disapora client"
    ],
    "topics": [
      "example",
      "disapora client"
    ],
    "ssh_url_to_repo": "git@gitlab.example.com:diaspora/diaspora-client.git",
    "http_url_to_repo": "https://gitlab.example.com/diaspora/diaspora-client.git",
    "web_url": "https://gitlab.example.com/diaspora/diaspora-client",
    "avatar_url": "https://gitlab.example.com/uploads/project/avatar/4/uploads/avatar.png",
    "star_count": 0,
    "last_activity_at": "2013-09-30T13:46:02Z",
    "namespace": {
      "id": 2,
      "name": "Diaspora",
      "path": "diaspora",
      "kind": "group",
      "full_path": "diaspora",
      "parent_id": null,
      "avatar_url": null,
      "web_url": "https://gitlab.example.com/diaspora"
    }
  },
  {
    ...
  }

CI/CD 잡 토큰 허용 목록에 프로젝트 추가#

지정된 프로젝트의 CI/CD 잡 토큰 허용 목록에 프로젝트를 추가합니다.

POST /projects/:id/job_token_scope/allowlist

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
target_project_id 정수 CI/CD 잡 토큰 인바운드 허용 목록에 추가할 프로젝트의 ID.

성공하면 201과 다음 응답 속성을 반환합니다:

속성 유형 설명
source_project_id 정수 업데이트할 CI/CD 잡 토큰 인바운드 허용 목록이 포함된 프로젝트의 ID.
target_project_id 정수 소스 프로젝트의 인바운드 허용 목록에 추가되는 프로젝트의 ID.

요청 예시:

curl --request POST \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/allowlist" \
  --header 'PRIVATE-TOKEN: <your_access_token>' \
  --header 'Content-Type: application/json' \
  --data '{ "target_project_id": 2 }'

응답 예시:

{
  "source_project_id": 1,
  "target_project_id": 2
}

CI/CD 잡 토큰 허용 목록에서 프로젝트 삭제#

지정된 프로젝트의 CI/CD 잡 토큰 허용 목록에서 프로젝트를 삭제합니다.

DELETE /projects/:id/job_token_scope/allowlist/:target_project_id

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
target_project_id 정수 CI/CD 잡 토큰 인바운드 허용 목록에서 제거할 프로젝트의 ID.

성공하면 204와 응답 본문 없음을 반환합니다.

요청 예시:

curl --request DELETE \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/allowlist/2" \
  --header 'PRIVATE-TOKEN: <your_access_token>' \
  --header 'Content-Type: application/json'

CI/CD 잡 토큰 허용 목록의 모든 그룹 목록#

지정된 프로젝트의 CI/CD 잡 토큰 허용 목록에 있는 모든 그룹을 나열합니다.

GET /projects/:id/job_token_scope/groups_allowlist

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.

이 엔드포인트는 오프셋 기반 페이지네이션을 지원합니다.

성공하면 200과 각 프로젝트에 대한 제한된 필드를 포함한 그룹 목록을 반환합니다.

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/groups_allowlist"

응답 예시:

[
  {
    "id": 4,
    "web_url": "https://gitlab.example.com/groups/diaspora/diaspora-group",
    "name": "namegroup"
  },
  {
    ...
  }
]

CI/CD 잡 토큰 허용 목록에 그룹 추가#

지정된 프로젝트의 CI/CD 잡 토큰 허용 목록에 그룹을 추가합니다.

POST /projects/:id/job_token_scope/groups_allowlist

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
target_group_id 정수 CI/CD 잡 토큰 그룹 허용 목록에 추가할 그룹의 ID.

성공하면 201과 다음 응답 속성을 반환합니다:

속성 유형 설명
source_project_id 정수 업데이트할 CI/CD 잡 토큰 인바운드 허용 목록이 포함된 프로젝트의 ID.
target_group_id 정수 소스 프로젝트의 그룹 허용 목록에 추가되는 그룹의 ID.

요청 예시:

curl --request POST \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/groups_allowlist" \
  --header 'PRIVATE-TOKEN: <your_access_token>' \
  --header 'Content-Type: application/json' \
  --data '{ "target_group_id": 2 }'

응답 예시:

{
  "source_project_id": 1,
  "target_group_id": 2
}

CI/CD 잡 토큰 허용 목록에서 그룹 삭제#

지정된 프로젝트의 CI/CD 잡 토큰 허용 목록에서 그룹을 삭제합니다.

DELETE /projects/:id/job_token_scope/groups_allowlist/:target_group_id

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
target_group_id 정수 CI/CD 잡 토큰 그룹 허용 목록에서 제거할 그룹의 ID.

성공하면 204와 응답 본문 없음을 반환합니다.

요청 예시:

curl --request DELETE \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/groups_allowlist/2" \
  --header 'PRIVATE-TOKEN: <your_access_token>' \
  --header 'Content-Type: application/json'

CI/CD 잡 토큰 스코프 API

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

이 API를 사용하여 CI/CD 잡 토큰 스코프와 상호 작용합니다. CI/CD 잡 토큰 스코프 API 엔드포인트에 대한 모든 요청은 인증되어야 합니다. 지정된 프로젝트의 CI/CD 잡 토큰 액세스 설정 (잡 토큰 스코프)을 조회합니다.

이 API를 사용하여 CI/CD 잡 토큰 스코프와 상호 작용합니다.

Note

CI/CD 잡 토큰 스코프 API 엔드포인트에 대한 모든 요청은 인증되어야 합니다. 인증된 사용자는 프로젝트에 대한 Maintainer 또는 Owner 권한이 있어야 합니다.

프로젝트의 CI/CD 잡 토큰 액세스 설정 조회#

지정된 프로젝트의 CI/CD 잡 토큰 액세스 설정 (잡 토큰 스코프)을 조회합니다.

GET /projects/:id/job_token_scope

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.

성공하면 200과 다음 응답 속성을 반환합니다:

속성 유형 설명
inbound_enabled 불리언 허용 목록에 대해 승인된 그룹 및 프로젝트 설정이 활성화되어 있는지 여부를 나타냅니다. 비활성화된 경우 모든 프로젝트가 액세스할 수 있습니다. 이 값은 허용 목록이 현재 활성 상태인지 여부를 보여주며, 잡 토큰 허용 목록 적용 인스턴스 설정으로 인해 true가 될 수 있습니다.
outbound_enabled 불리언 이 프로젝트에서 생성된 CI/CD 잡 토큰이 다른 프로젝트에 액세스할 수 있는지 여부를 나타냅니다. GitLab 18.0에서 더 이상 사용되지 않으며 제거 예정.

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope"

응답 예시:

{
  "inbound_enabled": true,
  "outbound_enabled": false
}

프로젝트의 CI/CD 잡 토큰 액세스 설정 업데이트#

히스토리
  • GitLab 16.3에서 CI_JOB_TOKEN으로 이 프로젝트에 액세스 허용에서 이 프로젝트에 대한 액세스 제한으로 이름 변경.
  • GitLab 17.2에서 이 프로젝트에 대한 액세스 제한에서 승인된 그룹 및 프로젝트이름 변경.

지정된 프로젝트의 승인된 그룹 및 프로젝트 설정 (잡 토큰 스코프)을 업데이트합니다.

PATCH /projects/:id/job_token_scope

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
enabled 불리언 잡 토큰 액세스를 허용 목록에 있는 프로젝트만으로 제한합니다. 모든 프로젝트에서 액세스를 허용하려면 false로 설정합니다. 이 파라미터는 잡 토큰 허용 목록 적용 인스턴스 설정으로 재정의될 수 있습니다.

성공하면 204와 응답 본문 없음을 반환합니다.

잡 토큰 허용 목록 적용 인스턴스 설정이 활성화되어 있고 enabledfalse로 설정하려고 하면, 오류 메시지와 함께 400을 반환합니다.

요청 예시:

curl --request PATCH \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope" \
  --header 'PRIVATE-TOKEN: <your_access_token>' \
  --header 'Content-Type: application/json' \
  --data '{ "enabled": false }'

CI/CD 잡 토큰 허용 목록의 모든 프로젝트 목록#

지정된 프로젝트의 CI/CD 잡 토큰 허용 목록에 있는 모든 프로젝트를 나열합니다.

GET /projects/:id/job_token_scope/allowlist

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.

이 엔드포인트는 오프셋 기반 페이지네이션을 지원합니다.

성공하면 200과 각 프로젝트에 대한 제한된 필드를 포함한 프로젝트 목록을 반환합니다.

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/allowlist"

응답 예시:

[
  {
    "id": 4,
    "description": null,
    "name": "Diaspora Client",
    "name_with_namespace": "Diaspora / Diaspora Client",
    "path": "diaspora-client",
    "path_with_namespace": "diaspora/diaspora-client",
    "created_at": "2013-09-30T13:46:02Z",
    "default_branch": "main",
    "tag_list": [
      "example",
      "disapora client"
    ],
    "topics": [
      "example",
      "disapora client"
    ],
    "ssh_url_to_repo": "git@gitlab.example.com:diaspora/diaspora-client.git",
    "http_url_to_repo": "https://gitlab.example.com/diaspora/diaspora-client.git",
    "web_url": "https://gitlab.example.com/diaspora/diaspora-client",
    "avatar_url": "https://gitlab.example.com/uploads/project/avatar/4/uploads/avatar.png",
    "star_count": 0,
    "last_activity_at": "2013-09-30T13:46:02Z",
    "namespace": {
      "id": 2,
      "name": "Diaspora",
      "path": "diaspora",
      "kind": "group",
      "full_path": "diaspora",
      "parent_id": null,
      "avatar_url": null,
      "web_url": "https://gitlab.example.com/diaspora"
    }
  },
  {
    ...
  }

CI/CD 잡 토큰 허용 목록에 프로젝트 추가#

지정된 프로젝트의 CI/CD 잡 토큰 허용 목록에 프로젝트를 추가합니다.

POST /projects/:id/job_token_scope/allowlist

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
target_project_id 정수 CI/CD 잡 토큰 인바운드 허용 목록에 추가할 프로젝트의 ID.

성공하면 201과 다음 응답 속성을 반환합니다:

속성 유형 설명
source_project_id 정수 업데이트할 CI/CD 잡 토큰 인바운드 허용 목록이 포함된 프로젝트의 ID.
target_project_id 정수 소스 프로젝트의 인바운드 허용 목록에 추가되는 프로젝트의 ID.

요청 예시:

curl --request POST \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/allowlist" \
  --header 'PRIVATE-TOKEN: <your_access_token>' \
  --header 'Content-Type: application/json' \
  --data '{ "target_project_id": 2 }'

응답 예시:

{
  "source_project_id": 1,
  "target_project_id": 2
}

CI/CD 잡 토큰 허용 목록에서 프로젝트 삭제#

지정된 프로젝트의 CI/CD 잡 토큰 허용 목록에서 프로젝트를 삭제합니다.

DELETE /projects/:id/job_token_scope/allowlist/:target_project_id

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
target_project_id 정수 CI/CD 잡 토큰 인바운드 허용 목록에서 제거할 프로젝트의 ID.

성공하면 204와 응답 본문 없음을 반환합니다.

요청 예시:

curl --request DELETE \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/allowlist/2" \
  --header 'PRIVATE-TOKEN: <your_access_token>' \
  --header 'Content-Type: application/json'

CI/CD 잡 토큰 허용 목록의 모든 그룹 목록#

지정된 프로젝트의 CI/CD 잡 토큰 허용 목록에 있는 모든 그룹을 나열합니다.

GET /projects/:id/job_token_scope/groups_allowlist

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.

이 엔드포인트는 오프셋 기반 페이지네이션을 지원합니다.

성공하면 200과 각 프로젝트에 대한 제한된 필드를 포함한 그룹 목록을 반환합니다.

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/groups_allowlist"

응답 예시:

[
  {
    "id": 4,
    "web_url": "https://gitlab.example.com/groups/diaspora/diaspora-group",
    "name": "namegroup"
  },
  {
    ...
  }
]

CI/CD 잡 토큰 허용 목록에 그룹 추가#

지정된 프로젝트의 CI/CD 잡 토큰 허용 목록에 그룹을 추가합니다.

POST /projects/:id/job_token_scope/groups_allowlist

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
target_group_id 정수 CI/CD 잡 토큰 그룹 허용 목록에 추가할 그룹의 ID.

성공하면 201과 다음 응답 속성을 반환합니다:

속성 유형 설명
source_project_id 정수 업데이트할 CI/CD 잡 토큰 인바운드 허용 목록이 포함된 프로젝트의 ID.
target_group_id 정수 소스 프로젝트의 그룹 허용 목록에 추가되는 그룹의 ID.

요청 예시:

curl --request POST \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/groups_allowlist" \
  --header 'PRIVATE-TOKEN: <your_access_token>' \
  --header 'Content-Type: application/json' \
  --data '{ "target_group_id": 2 }'

응답 예시:

{
  "source_project_id": 1,
  "target_group_id": 2
}

CI/CD 잡 토큰 허용 목록에서 그룹 삭제#

지정된 프로젝트의 CI/CD 잡 토큰 허용 목록에서 그룹을 삭제합니다.

DELETE /projects/:id/job_token_scope/groups_allowlist/:target_group_id

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
target_group_id 정수 CI/CD 잡 토큰 그룹 허용 목록에서 제거할 그룹의 ID.

성공하면 204와 응답 본문 없음을 반환합니다.

요청 예시:

curl --request DELETE \
  --url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/groups_allowlist/2" \
  --header 'PRIVATE-TOKEN: <your_access_token>' \
  --header 'Content-Type: application/json'