InfoGrab Docs

프로젝트 레벨 보안 파일 API

요약

이 API를 사용하여 프로젝트의 보안 파일을 관리합니다. 지정된 프로젝트의 모든 보안 파일을 나열합니다. 지정된 프로젝트의 보안 파일 세부 정보를 조회합니다. 지정된 프로젝트에 보안 파일을 만듭니다. 프로젝트의 지정된 보안 파일 내용을 다운로드합니다.

히스토리

이 API를 사용하여 프로젝트의 보안 파일을 관리합니다.

프로젝트의 모든 보안 파일 나열#

지정된 프로젝트의 모든 보안 파일을 나열합니다.

GET /projects/:project_id/secure_files

지원되는 속성:

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

예시 요청:

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

예시 응답:

[
    {
        "id": 1,
        "name": "myfile.jks",
        "checksum": "16630b189ab34b2e3504f4758e1054d2e478deda510b2b08cc0ef38d12e80aac",
        "checksum_algorithm": "sha256",
        "created_at": "2022-02-22T22:22:22.222Z",
        "expires_at": null,
        "metadata": null
    },
    {
        "id": 2,
        "name": "myfile.cer",
        "checksum": "16630b189ab34b2e3504f4758e1054d2e478deda510b2b08cc0ef38d12e80aa2",
        "checksum_algorithm": "sha256",
        "created_at": "2022-02-22T22:22:22.222Z",
        "expires_at": "2023-09-21T14:55:59.000Z",
        "metadata": {
            "id":"75949910542696343243264405377658443914",
            "issuer": {
                "C":"US",
                "O":"Apple Inc.",
                "CN":"Apple Worldwide Developer Relations Certification Authority",
                "OU":"G3"
            },
            "subject": {
                "C":"US",
                "O":"Organization Name",
                "CN":"Apple Distribution: Organization Name (ABC123XYZ)",
                "OU":"ABC123XYZ",
                "UID":"ABC123XYZ"
            },
            "expires_at":"2023-09-21T14:55:59.000Z"
        }
    }
]

보안 파일 세부 정보 조회#

지정된 프로젝트의 보안 파일 세부 정보를 조회합니다.

GET /projects/:project_id/secure_files/:id

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 Yes 보안 파일의 ID.
project_id 정수 또는 문자열 Yes 프로젝트의 ID 또는 URL 인코딩된 경로.

예시 요청:

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

예시 응답:

{
    "id": 1,
    "name": "myfile.jks",
    "checksum": "16630b189ab34b2e3504f4758e1054d2e478deda510b2b08cc0ef38d12e80aac",
    "checksum_algorithm": "sha256",
    "created_at": "2022-02-22T22:22:22.222Z",
    "expires_at": null,
    "metadata": null
}

보안 파일 만들기#

지정된 프로젝트에 보안 파일을 만듭니다.

POST /projects/:project_id/secure_files

지원되는 속성:

속성 유형 필수 여부 설명
file 파일 Yes 업로드 중인 파일(5MB 제한).
name 문자열 Yes 업로드 중인 파일의 이름. 파일명은 프로젝트에서 고유해야 합니다.
project_id 정수 또는 문자열 Yes 프로젝트의 ID 또는 URL 인코딩된 경로.

예시 요청:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/secure_files" \
  --form "name=myfile.jks" \
  --form "file=@/path/to/file/myfile.jks"

예시 응답:

{
    "id": 1,
    "name": "myfile.jks",
    "checksum": "16630b189ab34b2e3504f4758e1054d2e478deda510b2b08cc0ef38d12e80aac",
    "checksum_algorithm": "sha256",
    "created_at": "2022-02-22T22:22:22.222Z",
    "expires_at": null,
    "metadata": null
}

보안 파일 다운로드#

프로젝트의 지정된 보안 파일 내용을 다운로드합니다.

GET /projects/:project_id/secure_files/:id/download

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 Yes 보안 파일의 ID.
project_id 정수 또는 문자열 Yes 프로젝트의 ID 또는 URL 인코딩된 경로.

예시 요청:

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

보안 파일 삭제#

프로젝트에서 지정된 보안 파일을 삭제합니다.

DELETE /projects/:project_id/secure_files/:id

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 Yes 보안 파일의 ID.
project_id 정수 또는 문자열 Yes 프로젝트의 ID 또는 URL 인코딩된 경로.

예시 요청:

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

프로젝트 레벨 보안 파일 API

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

이 API를 사용하여 프로젝트의 보안 파일을 관리합니다. 지정된 프로젝트의 모든 보안 파일을 나열합니다. 지정된 프로젝트의 보안 파일 세부 정보를 조회합니다. 지정된 프로젝트에 보안 파일을 만듭니다. 프로젝트의 지정된 보안 파일 내용을 다운로드합니다.

히스토리

이 API를 사용하여 프로젝트의 보안 파일을 관리합니다.

프로젝트의 모든 보안 파일 나열#

지정된 프로젝트의 모든 보안 파일을 나열합니다.

GET /projects/:project_id/secure_files

지원되는 속성:

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

예시 요청:

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

예시 응답:

[
    {
        "id": 1,
        "name": "myfile.jks",
        "checksum": "16630b189ab34b2e3504f4758e1054d2e478deda510b2b08cc0ef38d12e80aac",
        "checksum_algorithm": "sha256",
        "created_at": "2022-02-22T22:22:22.222Z",
        "expires_at": null,
        "metadata": null
    },
    {
        "id": 2,
        "name": "myfile.cer",
        "checksum": "16630b189ab34b2e3504f4758e1054d2e478deda510b2b08cc0ef38d12e80aa2",
        "checksum_algorithm": "sha256",
        "created_at": "2022-02-22T22:22:22.222Z",
        "expires_at": "2023-09-21T14:55:59.000Z",
        "metadata": {
            "id":"75949910542696343243264405377658443914",
            "issuer": {
                "C":"US",
                "O":"Apple Inc.",
                "CN":"Apple Worldwide Developer Relations Certification Authority",
                "OU":"G3"
            },
            "subject": {
                "C":"US",
                "O":"Organization Name",
                "CN":"Apple Distribution: Organization Name (ABC123XYZ)",
                "OU":"ABC123XYZ",
                "UID":"ABC123XYZ"
            },
            "expires_at":"2023-09-21T14:55:59.000Z"
        }
    }
]

보안 파일 세부 정보 조회#

지정된 프로젝트의 보안 파일 세부 정보를 조회합니다.

GET /projects/:project_id/secure_files/:id

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 Yes 보안 파일의 ID.
project_id 정수 또는 문자열 Yes 프로젝트의 ID 또는 URL 인코딩된 경로.

예시 요청:

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

예시 응답:

{
    "id": 1,
    "name": "myfile.jks",
    "checksum": "16630b189ab34b2e3504f4758e1054d2e478deda510b2b08cc0ef38d12e80aac",
    "checksum_algorithm": "sha256",
    "created_at": "2022-02-22T22:22:22.222Z",
    "expires_at": null,
    "metadata": null
}

보안 파일 만들기#

지정된 프로젝트에 보안 파일을 만듭니다.

POST /projects/:project_id/secure_files

지원되는 속성:

속성 유형 필수 여부 설명
file 파일 Yes 업로드 중인 파일(5MB 제한).
name 문자열 Yes 업로드 중인 파일의 이름. 파일명은 프로젝트에서 고유해야 합니다.
project_id 정수 또는 문자열 Yes 프로젝트의 ID 또는 URL 인코딩된 경로.

예시 요청:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/secure_files" \
  --form "name=myfile.jks" \
  --form "file=@/path/to/file/myfile.jks"

예시 응답:

{
    "id": 1,
    "name": "myfile.jks",
    "checksum": "16630b189ab34b2e3504f4758e1054d2e478deda510b2b08cc0ef38d12e80aac",
    "checksum_algorithm": "sha256",
    "created_at": "2022-02-22T22:22:22.222Z",
    "expires_at": null,
    "metadata": null
}

보안 파일 다운로드#

프로젝트의 지정된 보안 파일 내용을 다운로드합니다.

GET /projects/:project_id/secure_files/:id/download

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 Yes 보안 파일의 ID.
project_id 정수 또는 문자열 Yes 프로젝트의 ID 또는 URL 인코딩된 경로.

예시 요청:

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

보안 파일 삭제#

프로젝트에서 지정된 보안 파일을 삭제합니다.

DELETE /projects/:project_id/secure_files/:id

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 Yes 보안 파일의 ID.
project_id 정수 또는 문자열 Yes 프로젝트의 ID 또는 URL 인코딩된 경로.

예시 요청:

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