InfoGrab Docs

프로젝트 원격 미러 API

요약

이 API를 사용하여 원격 미러를 관리합니다. 보안상의 이유로 API 응답의 url 속성에서는 항상 사용자 이름과 비밀번호 정보가 제거됩니다. 풀 미러는 표시하고 업데이트하기 위해 다른 API 엔드포인트를 사용합니다. 지정된 프로젝트의 모든 원격 미러를 나열합니다.

이 API를 사용하여 원격 미러를 관리합니다. 원격 미러 API를 사용하여 이러한 미러의 상태를 쿼리하고 수정할 수 있습니다.

보안상의 이유로 API 응답의 url 속성에서는 항상 사용자 이름과 비밀번호 정보가 제거됩니다.

Note

풀 미러는 표시하고 업데이트하기 위해 다른 API 엔드포인트를 사용합니다.

프로젝트의 모든 원격 미러 나열#

히스토리
  • 속성 host_keys가 GitLab 18.4에서 도입.

지정된 프로젝트의 모든 원격 미러를 나열합니다.

GET /projects/:id/remote_mirrors

지원되는 속성:

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

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

속성 유형 설명
auth_method 문자열 미러에 사용된 인증 방법.
enabled 불리언 true이면 미러가 활성화됨.
host_keys 배열 원격 미러의 SSH 호스트 키 지문 배열.
id 정수 원격 미러의 ID.
keep_divergent_refs 불리언 true이면 미러링 시 분기된 참조가 유지됨.
last_error 문자열 마지막 미러 시도의 오류 메시지. 성공하면 null.
last_successful_update_at 문자열 마지막으로 성공한 미러 업데이트의 타임스탬프. ISO 8601 형식.
last_update_at 문자열 마지막 미러 시도의 타임스탬프. ISO 8601 형식.
last_update_started_at 문자열 마지막 미러 시도가 시작된 타임스탬프. ISO 8601 형식.
only_protected_branches 불리언 true이면 보호된 브랜치만 미러링됨.
update_status 문자열 미러 업데이트 상태. 가능한 값: none, scheduled, started, finished, failed.
url 문자열 보안을 위해 자격 증명이 제거된 미러 URL.

요청 예시:

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

응답 예시:

[
  {
    "enabled": true,
    "id": 101486,
    "auth_method": "ssh_public_key",
    "last_error": null,
    "last_successful_update_at": "2020-01-06T17:32:02.823Z",
    "last_update_at": "2020-01-06T17:32:02.823Z",
    "last_update_started_at": "2020-01-06T17:31:55.864Z",
    "only_protected_branches": true,
    "keep_divergent_refs": true,
    "update_status": "finished",
    "url": "https://*****:*****@gitlab.com/gitlab-org/security/gitlab.git",
    "host_keys": [
      {
        "fingerprint_sha256": "SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw"
      }
    ]
  }
]

프로젝트의 원격 미러 검색#

히스토리
  • 속성 host_keys가 GitLab 18.4에서 도입.

프로젝트의 지정된 원격 미러를 검색합니다.

GET /projects/:id/remote_mirrors/:mirror_id

지원되는 속성:

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

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

속성 유형 설명
enabled 불리언 true이면 미러가 활성화됨.
id 정수 원격 미러의 ID.
host_keys 배열 원격 미러의 SSH 호스트 키 지문 배열.
keep_divergent_refs 불리언 true이면 미러링 시 분기된 참조가 유지됨.
last_error 문자열 마지막 미러 시도의 오류 메시지. 성공하면 null.
last_successful_update_at 문자열 마지막으로 성공한 미러 업데이트의 타임스탬프. ISO 8601 형식.
last_update_at 문자열 마지막 미러 시도의 타임스탬프. ISO 8601 형식.
last_update_started_at 문자열 마지막 미러 시도가 시작된 타임스탬프. ISO 8601 형식.
only_protected_branches 불리언 true이면 보호된 브랜치만 미러링됨.
update_status 문자열 미러 업데이트 상태. 가능한 값: none, scheduled, started, finished, failed.
url 문자열 보안을 위해 자격 증명이 제거된 미러 URL.

요청 예시:

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

응답 예시:

{
  "enabled": true,
  "id": 101486,
  "last_error": null,
  "last_successful_update_at": "2020-01-06T17:32:02.823Z",
  "last_update_at": "2020-01-06T17:32:02.823Z",
  "last_update_started_at": "2020-01-06T17:31:55.864Z",
  "only_protected_branches": true,
  "keep_divergent_refs": true,
  "update_status": "finished",
  "url": "https://*****:*****@gitlab.com/gitlab-org/security/gitlab.git",
  "host_keys": [
    {
      "fingerprint_sha256": "SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw"
    }
  ]
}

원격 미러의 공개 키 검색#

히스토리

SSH 인증을 사용하는 지정된 원격 미러의 공개 키를 검색합니다.

GET /projects/:id/remote_mirrors/:mirror_id/public_key

지원되는 속성:

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

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

속성 유형 설명
public_key 문자열 원격 미러의 공개 키.

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/42/remote_mirrors/101486/public_key"

응답 예시:

{
  "public_key": "ssh-rsa AAAAB3NzaC1yc2EA..."
}

풀 미러 생성#

프로젝트 풀 미러링 API를 사용하여 풀 미러를 구성하는 방법을 알아보세요.

푸시 미러 생성#

히스토리
Note

각 프로젝트는 최대 10개의 활성화된 푸시 미러를 가질 수 있습니다. 자세한 내용은 프로젝트 푸시 미러의 최대 수를 참조하세요.

프로젝트의 푸시 미러를 생성합니다. 푸시 미러링은 기본적으로 비활성화되어 있습니다. 활성화하려면 미러를 생성할 때 선택적 enabled 파라미터를 포함합니다.

POST /projects/:id/remote_mirrors

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
url 문자열 리포지터리를 미러링할 대상 URL.
auth_method 문자열 아니오 미러 인증 방법. 허용 값: ssh_public_key, password.
enabled 불리언 아니오 true이면 미러가 활성화됨.
keep_divergent_refs 불리언 아니오 true이면 미러링 시 분기된 참조가 유지됨.
mirror_branch_regex 문자열 아니오 미러링할 브랜치 이름의 정규 표현식. 이름이 regex와 일치하는 브랜치만 미러링됨. only_protected_branches가 비활성화된 경우에만 사용 가능. Premium 및 Ultimate 전용.
only_protected_branches 불리언 아니오 true이면 보호된 브랜치만 미러링됨.

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

속성 유형 설명
auth_method 문자열 미러에 사용된 인증 방법.
enabled 불리언 true이면 미러가 활성화됨.
host_keys 배열 원격 미러의 SSH 호스트 키 지문 배열.
id 정수 원격 미러의 ID.
keep_divergent_refs 불리언 true이면 미러링 시 분기된 참조가 유지됨.
last_error 문자열 마지막 미러 시도의 오류 메시지. 성공하면 null.
last_successful_update_at 문자열 마지막으로 성공한 미러 업데이트의 타임스탬프. ISO 8601 형식.
last_update_at 문자열 마지막 미러 시도의 타임스탬프. ISO 8601 형식.
last_update_started_at 문자열 마지막 미러 시도가 시작된 타임스탬프. ISO 8601 형식.
only_protected_branches 불리언 true이면 보호된 브랜치만 미러링됨.
update_status 문자열 미러 업데이트 상태. 가능한 값: none, scheduled, started, finished, failed.
url 문자열 보안을 위해 자격 증명이 제거된 미러 URL.

요청 예시:

curl --request POST \
  --data "url=https://username:token@example.com/gitlab/example.git" \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/42/remote_mirrors"

응답 예시:

{
    "enabled": false,
    "id": 101486,
    "auth_method": "password",
    "last_error": null,
    "last_successful_update_at": null,
    "last_update_at": null,
    "last_update_started_at": null,
    "only_protected_branches": false,
    "keep_divergent_refs": false,
    "update_status": "none",
    "url": "https://*****:*****@example.com/gitlab/example.git",
    "host_keys": [
      {
        "fingerprint_sha256": "SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw"
      }
    ]
}

프로젝트의 원격 미러 업데이트#

히스토리
  • 필드 auth_method가 GitLab 16.10에서 도입.
  • 속성 host_keys가 GitLab 18.4에서 도입.

지정된 원격 미러의 구성 또는 운영 상태를 업데이트합니다.

PUT /projects/:id/remote_mirrors/:mirror_id

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
mirror_id 정수 원격 미러의 ID.
auth_method 문자열 아니오 미러 인증 방법. 허용 값: ssh_public_key, password.
enabled 불리언 아니오 true이면 미러가 활성화됨.
keep_divergent_refs 불리언 아니오 true이면 미러링 시 분기된 참조가 유지됨.
mirror_branch_regex 문자열 아니오 미러링할 브랜치 이름의 정규 표현식. 이름이 regex와 일치하는 브랜치만 미러링됨. only_protected_branches가 활성화된 경우 작동하지 않음. Premium 및 Ultimate 전용.
only_protected_branches 불리언 아니오 true이면 보호된 브랜치만 미러링됨.

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

속성 유형 설명
auth_method 문자열 미러에 사용된 인증 방법.
enabled 불리언 true이면 미러가 활성화됨.
host_keys 배열 원격 미러의 SSH 호스트 키 지문 배열.
id 정수 원격 미러의 ID.
keep_divergent_refs 불리언 true이면 미러링 시 분기된 참조가 유지됨.
last_error 문자열 마지막 미러 시도의 오류 메시지. 성공하면 null.
last_successful_update_at 문자열 마지막으로 성공한 미러 업데이트의 타임스탬프. ISO 8601 형식.
last_update_at 문자열 마지막 미러 시도의 타임스탬프. ISO 8601 형식.
last_update_started_at 문자열 마지막 미러 시도가 시작된 타임스탬프. ISO 8601 형식.
only_protected_branches 불리언 true이면 보호된 브랜치만 미러링됨.
update_status 문자열 미러 업데이트 상태. 가능한 값: none, scheduled, started, finished, failed.
url 문자열 보안을 위해 자격 증명이 제거된 미러 URL.

요청 예시:

curl --request PUT \
  --data "enabled=false" \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/42/remote_mirrors/101486"

응답 예시:

{
    "enabled": false,
    "id": 101486,
    "auth_method": "password",
    "last_error": null,
    "last_successful_update_at": "2020-01-06T17:32:02.823Z",
    "last_update_at": "2020-01-06T17:32:02.823Z",
    "last_update_started_at": "2020-01-06T17:31:55.864Z",
    "only_protected_branches": true,
    "keep_divergent_refs": true,
    "update_status": "finished",
    "url": "https://*****:*****@gitlab.com/gitlab-org/security/gitlab.git",
    "host_keys": [
      {
        "fingerprint_sha256": "SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw"
      }
    ]
}

강제 푸시 미러 업데이트#

히스토리

푸시 미러에 업데이트를 강제 실행합니다.

POST /projects/:id/remote_mirrors/:mirror_id/sync

지원되는 속성:

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

성공하면 204 No Content를 반환합니다.

요청 예시:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/42/remote_mirrors/101486/sync"

프로젝트에서 원격 미러 삭제#

프로젝트에서 지정된 원격 미러를 삭제합니다.

DELETE /projects/:id/remote_mirrors/:mirror_id

지원되는 속성:

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

성공하면 204 No Content를 반환합니다.

요청 예시:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/42/remote_mirrors/101486"

프로젝트 원격 미러 API

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

이 API를 사용하여 원격 미러를 관리합니다. 보안상의 이유로 API 응답의 url 속성에서는 항상 사용자 이름과 비밀번호 정보가 제거됩니다. 풀 미러는 표시하고 업데이트하기 위해 다른 API 엔드포인트를 사용합니다. 지정된 프로젝트의 모든 원격 미러를 나열합니다.

이 API를 사용하여 원격 미러를 관리합니다. 원격 미러 API를 사용하여 이러한 미러의 상태를 쿼리하고 수정할 수 있습니다.

보안상의 이유로 API 응답의 url 속성에서는 항상 사용자 이름과 비밀번호 정보가 제거됩니다.

Note

풀 미러는 표시하고 업데이트하기 위해 다른 API 엔드포인트를 사용합니다.

프로젝트의 모든 원격 미러 나열#

히스토리
  • 속성 host_keys가 GitLab 18.4에서 도입.

지정된 프로젝트의 모든 원격 미러를 나열합니다.

GET /projects/:id/remote_mirrors

지원되는 속성:

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

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

속성 유형 설명
auth_method 문자열 미러에 사용된 인증 방법.
enabled 불리언 true이면 미러가 활성화됨.
host_keys 배열 원격 미러의 SSH 호스트 키 지문 배열.
id 정수 원격 미러의 ID.
keep_divergent_refs 불리언 true이면 미러링 시 분기된 참조가 유지됨.
last_error 문자열 마지막 미러 시도의 오류 메시지. 성공하면 null.
last_successful_update_at 문자열 마지막으로 성공한 미러 업데이트의 타임스탬프. ISO 8601 형식.
last_update_at 문자열 마지막 미러 시도의 타임스탬프. ISO 8601 형식.
last_update_started_at 문자열 마지막 미러 시도가 시작된 타임스탬프. ISO 8601 형식.
only_protected_branches 불리언 true이면 보호된 브랜치만 미러링됨.
update_status 문자열 미러 업데이트 상태. 가능한 값: none, scheduled, started, finished, failed.
url 문자열 보안을 위해 자격 증명이 제거된 미러 URL.

요청 예시:

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

응답 예시:

[
  {
    "enabled": true,
    "id": 101486,
    "auth_method": "ssh_public_key",
    "last_error": null,
    "last_successful_update_at": "2020-01-06T17:32:02.823Z",
    "last_update_at": "2020-01-06T17:32:02.823Z",
    "last_update_started_at": "2020-01-06T17:31:55.864Z",
    "only_protected_branches": true,
    "keep_divergent_refs": true,
    "update_status": "finished",
    "url": "https://*****:*****@gitlab.com/gitlab-org/security/gitlab.git",
    "host_keys": [
      {
        "fingerprint_sha256": "SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw"
      }
    ]
  }
]

프로젝트의 원격 미러 검색#

히스토리
  • 속성 host_keys가 GitLab 18.4에서 도입.

프로젝트의 지정된 원격 미러를 검색합니다.

GET /projects/:id/remote_mirrors/:mirror_id

지원되는 속성:

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

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

속성 유형 설명
enabled 불리언 true이면 미러가 활성화됨.
id 정수 원격 미러의 ID.
host_keys 배열 원격 미러의 SSH 호스트 키 지문 배열.
keep_divergent_refs 불리언 true이면 미러링 시 분기된 참조가 유지됨.
last_error 문자열 마지막 미러 시도의 오류 메시지. 성공하면 null.
last_successful_update_at 문자열 마지막으로 성공한 미러 업데이트의 타임스탬프. ISO 8601 형식.
last_update_at 문자열 마지막 미러 시도의 타임스탬프. ISO 8601 형식.
last_update_started_at 문자열 마지막 미러 시도가 시작된 타임스탬프. ISO 8601 형식.
only_protected_branches 불리언 true이면 보호된 브랜치만 미러링됨.
update_status 문자열 미러 업데이트 상태. 가능한 값: none, scheduled, started, finished, failed.
url 문자열 보안을 위해 자격 증명이 제거된 미러 URL.

요청 예시:

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

응답 예시:

{
  "enabled": true,
  "id": 101486,
  "last_error": null,
  "last_successful_update_at": "2020-01-06T17:32:02.823Z",
  "last_update_at": "2020-01-06T17:32:02.823Z",
  "last_update_started_at": "2020-01-06T17:31:55.864Z",
  "only_protected_branches": true,
  "keep_divergent_refs": true,
  "update_status": "finished",
  "url": "https://*****:*****@gitlab.com/gitlab-org/security/gitlab.git",
  "host_keys": [
    {
      "fingerprint_sha256": "SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw"
    }
  ]
}

원격 미러의 공개 키 검색#

히스토리

SSH 인증을 사용하는 지정된 원격 미러의 공개 키를 검색합니다.

GET /projects/:id/remote_mirrors/:mirror_id/public_key

지원되는 속성:

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

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

속성 유형 설명
public_key 문자열 원격 미러의 공개 키.

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/42/remote_mirrors/101486/public_key"

응답 예시:

{
  "public_key": "ssh-rsa AAAAB3NzaC1yc2EA..."
}

풀 미러 생성#

프로젝트 풀 미러링 API를 사용하여 풀 미러를 구성하는 방법을 알아보세요.

푸시 미러 생성#

히스토리
Note

각 프로젝트는 최대 10개의 활성화된 푸시 미러를 가질 수 있습니다. 자세한 내용은 프로젝트 푸시 미러의 최대 수를 참조하세요.

프로젝트의 푸시 미러를 생성합니다. 푸시 미러링은 기본적으로 비활성화되어 있습니다. 활성화하려면 미러를 생성할 때 선택적 enabled 파라미터를 포함합니다.

POST /projects/:id/remote_mirrors

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
url 문자열 리포지터리를 미러링할 대상 URL.
auth_method 문자열 아니오 미러 인증 방법. 허용 값: ssh_public_key, password.
enabled 불리언 아니오 true이면 미러가 활성화됨.
keep_divergent_refs 불리언 아니오 true이면 미러링 시 분기된 참조가 유지됨.
mirror_branch_regex 문자열 아니오 미러링할 브랜치 이름의 정규 표현식. 이름이 regex와 일치하는 브랜치만 미러링됨. only_protected_branches가 비활성화된 경우에만 사용 가능. Premium 및 Ultimate 전용.
only_protected_branches 불리언 아니오 true이면 보호된 브랜치만 미러링됨.

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

속성 유형 설명
auth_method 문자열 미러에 사용된 인증 방법.
enabled 불리언 true이면 미러가 활성화됨.
host_keys 배열 원격 미러의 SSH 호스트 키 지문 배열.
id 정수 원격 미러의 ID.
keep_divergent_refs 불리언 true이면 미러링 시 분기된 참조가 유지됨.
last_error 문자열 마지막 미러 시도의 오류 메시지. 성공하면 null.
last_successful_update_at 문자열 마지막으로 성공한 미러 업데이트의 타임스탬프. ISO 8601 형식.
last_update_at 문자열 마지막 미러 시도의 타임스탬프. ISO 8601 형식.
last_update_started_at 문자열 마지막 미러 시도가 시작된 타임스탬프. ISO 8601 형식.
only_protected_branches 불리언 true이면 보호된 브랜치만 미러링됨.
update_status 문자열 미러 업데이트 상태. 가능한 값: none, scheduled, started, finished, failed.
url 문자열 보안을 위해 자격 증명이 제거된 미러 URL.

요청 예시:

curl --request POST \
  --data "url=https://username:token@example.com/gitlab/example.git" \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/42/remote_mirrors"

응답 예시:

{
    "enabled": false,
    "id": 101486,
    "auth_method": "password",
    "last_error": null,
    "last_successful_update_at": null,
    "last_update_at": null,
    "last_update_started_at": null,
    "only_protected_branches": false,
    "keep_divergent_refs": false,
    "update_status": "none",
    "url": "https://*****:*****@example.com/gitlab/example.git",
    "host_keys": [
      {
        "fingerprint_sha256": "SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw"
      }
    ]
}

프로젝트의 원격 미러 업데이트#

히스토리
  • 필드 auth_method가 GitLab 16.10에서 도입.
  • 속성 host_keys가 GitLab 18.4에서 도입.

지정된 원격 미러의 구성 또는 운영 상태를 업데이트합니다.

PUT /projects/:id/remote_mirrors/:mirror_id

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
mirror_id 정수 원격 미러의 ID.
auth_method 문자열 아니오 미러 인증 방법. 허용 값: ssh_public_key, password.
enabled 불리언 아니오 true이면 미러가 활성화됨.
keep_divergent_refs 불리언 아니오 true이면 미러링 시 분기된 참조가 유지됨.
mirror_branch_regex 문자열 아니오 미러링할 브랜치 이름의 정규 표현식. 이름이 regex와 일치하는 브랜치만 미러링됨. only_protected_branches가 활성화된 경우 작동하지 않음. Premium 및 Ultimate 전용.
only_protected_branches 불리언 아니오 true이면 보호된 브랜치만 미러링됨.

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

속성 유형 설명
auth_method 문자열 미러에 사용된 인증 방법.
enabled 불리언 true이면 미러가 활성화됨.
host_keys 배열 원격 미러의 SSH 호스트 키 지문 배열.
id 정수 원격 미러의 ID.
keep_divergent_refs 불리언 true이면 미러링 시 분기된 참조가 유지됨.
last_error 문자열 마지막 미러 시도의 오류 메시지. 성공하면 null.
last_successful_update_at 문자열 마지막으로 성공한 미러 업데이트의 타임스탬프. ISO 8601 형식.
last_update_at 문자열 마지막 미러 시도의 타임스탬프. ISO 8601 형식.
last_update_started_at 문자열 마지막 미러 시도가 시작된 타임스탬프. ISO 8601 형식.
only_protected_branches 불리언 true이면 보호된 브랜치만 미러링됨.
update_status 문자열 미러 업데이트 상태. 가능한 값: none, scheduled, started, finished, failed.
url 문자열 보안을 위해 자격 증명이 제거된 미러 URL.

요청 예시:

curl --request PUT \
  --data "enabled=false" \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/42/remote_mirrors/101486"

응답 예시:

{
    "enabled": false,
    "id": 101486,
    "auth_method": "password",
    "last_error": null,
    "last_successful_update_at": "2020-01-06T17:32:02.823Z",
    "last_update_at": "2020-01-06T17:32:02.823Z",
    "last_update_started_at": "2020-01-06T17:31:55.864Z",
    "only_protected_branches": true,
    "keep_divergent_refs": true,
    "update_status": "finished",
    "url": "https://*****:*****@gitlab.com/gitlab-org/security/gitlab.git",
    "host_keys": [
      {
        "fingerprint_sha256": "SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw"
      }
    ]
}

강제 푸시 미러 업데이트#

히스토리

푸시 미러에 업데이트를 강제 실행합니다.

POST /projects/:id/remote_mirrors/:mirror_id/sync

지원되는 속성:

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

성공하면 204 No Content를 반환합니다.

요청 예시:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/42/remote_mirrors/101486/sync"

프로젝트에서 원격 미러 삭제#

프로젝트에서 지정된 원격 미러를 삭제합니다.

DELETE /projects/:id/remote_mirrors/:mirror_id

지원되는 속성:

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

성공하면 204 No Content를 반환합니다.

요청 예시:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/42/remote_mirrors/101486"