릴리스 링크 API

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

GitLab 15.1에서 GitLab CI/CD 작업 토큰 인증을 지원합니다.

이 API를 사용하여 GitLab 릴리스 링크를 조작합니다. 다른 릴리스 자산을 조작하려면 릴리스 API를 참조하세요.

GitLab은 http, https, ftp 자산에 대한 링크를 지원합니다.

릴리스의 링크 디렉터리

릴리스에서 링크로 자산을 가져옵니다.

GET /projects/:id/releases/:tag_name/assets/links
속성 유형 필수 설명
id integer/string yes 프로젝트의 ID 또는 URL-인코딩된 경로.
tag_name string yes 릴리스와 연결된 태그.

예시 요청:

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links"

예시 응답:

[
   {
      "id":2,
      "name":"awesome-v0.2.msi",
      "url":"http://192.168.10.15:3000/msi",
      "link_type":"other"
   },
   {
      "id":1,
      "name":"awesome-v0.2.dmg",
      "url":"http://192.168.10.15:3000",
      "link_type":"other"
   }
]

릴리스 링크 가져오기

릴리스에서 자산을 링크로 가져옵니다.

GET /projects/:id/releases/:tag_name/assets/links/:link_id
속성 유형 필수 설명
id integer/string yes 프로젝트의 ID 또는 URL-인코딩된 경로.
tag_name string yes 릴리스와 연결된 태그.
link_id integer yes 링크의 ID.

예시 요청:

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links/1"

예시 응답:

{
   "id":1,
   "name":"awesome-v0.2.dmg",
   "url":"http://192.168.10.15:3000",
   "link_type":"other"
}

릴리스 링크 생성

릴리스에서 자산을 링크로 생성합니다.

POST /projects/:id/releases/:tag_name/assets/links
속성 유형 필수 설명
id integer/string yes 프로젝트의 ID 또는 URL-인코딩된 경로.
tag_name string yes 릴리스와 연결된 태그.
name string yes 링크의 이름. 링크 이름은 릴리스 내에서 고유해야 합니다.
url string yes 링크의 URL. 링크 URL은 릴리스 내에서 고유해야 합니다.
filepath string no 사용되지 않음: 대신 direct_asset_path을 사용하세요.
direct_asset_path string no 릴리스 자산에 대한 영구적인 링크의 선택적 경로.
link_type string no 링크 유형: other, runbook, image, package. 기본값은 other입니다.

예시 요청:

curl --request POST \
    --header "PRIVATE-TOKEN: <your_access_token>" \
    --data name="hellodarwin-amd64" \
    --data url="https://gitlab.example.com/mynamespace/hello/-/jobs/688/artifacts/raw/bin/hello-darwin-amd64" \
    --data direct_asset_path="/bin/hellodarwin-amd64" \
    "https://gitlab.example.com/api/v4/projects/20/releases/v1.7.0/assets/links"

예시 응답:

{
   "id":2,
   "name":"hellodarwin-amd64",
   "url":"https://gitlab.example.com/mynamespace/hello/-/jobs/688/artifacts/raw/bin/hello-darwin-amd64",
   "direct_asset_url":"https://gitlab.example.com/mynamespace/hello/-/releases/v1.7.0/downloads/bin/hellodarwin-amd64",
   "link_type":"other"
}

릴리스 링크 업데이트

릴리스에서 자산을 링크로 업데이트합니다.

PUT /projects/:id/releases/:tag_name/assets/links/:link_id
속성 유형 필수 설명
id integer/string yes 프로젝트의 ID 또는 URL-인코딩된 경로.
tag_name string yes 릴리스와 연결된 태그.
link_id integer yes 링크의 ID.
name string no 링크의 이름.
url string no 링크의 URL.
filepath string no 사용되지 않음: 대신 direct_asset_path을 사용하세요.
direct_asset_path string no 릴리스 자산에 대한 영구적인 링크의 선택적 경로.
link_type string no 링크 유형: other, runbook, image, package. 기본값은 other입니다.
note
name 또는 url 중 하나는 반드시 지정해야 합니다.

예시 요청:

curl --request PUT --data name="new name" --data link_type="runbook" \
     --header "PRIVATE-TOKEN: <your_access_token>" \
     "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links/1"

예시 응답:

{
   "id":1,
   "name":"new name",
   "url":"http://192.168.10.15:3000",
   "link_type":"runbook"
}

릴리스 링크 삭제

릴리스에서 링크로써의 에셋을 삭제합니다.

DELETE /projects/:id/releases/:tag_name/assets/links/:link_id
속성 타입 필수 설명
id integer/string yes 프로젝트의 ID 또는 URL 인코딩된 경로.
tag_name string yes 릴리스와 연관된 태그입니다.
link_id integer yes 링크의 ID입니다.

예시 요청:

curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links/1"

예시 응답:

{
   "id":1,
   "name":"new name",
   "url":"http://192.168.10.15:3000",
   "link_type":"other"
}