正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

リリースリンクAPI

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

このAPIを使用して、releasesへのリンクを操作します。

GitLabは、次のプロトコルでアセットリンクをサポートします:

  • http
  • https
  • ftp

プロジェクトリリースを直接操作するには、project release APIを参照してください。

リリースからアセットをリンクとして取得します。

GET /projects/:id/releases/:tag_name/assets/links
属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
tag_name文字列はいリリースに関連付けられているタグ。

リクエスト例:

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整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
tag_name文字列はいリリースに関連付けられているタグ。
link_id整数はいリンクの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整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
tag_name文字列はいリリースに関連付けられているタグ。
name文字列はいリンクの名前。リンク名は、リリース内で一意である必要があります。
url文字列はいリンクのURL。リンクURLは、リリース内で一意である必要があります。
direct_asset_path文字列いいえダイレクトアセットリンクのオプションのパス。
link_type文字列いいえリンクの種類: otherrunbookimagepackageotherがデフォルトです。

リクエストの例:

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整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
tag_name文字列はいリリースに関連付けられているタグ。
link_id整数はいリンクのID。
name文字列いいえリンクの名前。
url文字列いいえリンクのURL。
direct_asset_path文字列いいえダイレクトアセットリンクのオプションのパス。
link_type文字列いいえリンクの種類: otherrunbookimagepackageotherがデフォルトです。

nameまたはurlの少なくとも1つを指定する必要があります

リクエスト例:

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整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
tag_name文字列はいリリースに関連付けられているタグ。
link_id整数はいリンクの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"
}