リリースリンクAPI
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
このAPIを使用して、releasesへのリンクを操作します。
GitLabは、次のプロトコルでアセットリンクをサポートします:
httphttpsftp
プロジェクトリリースを直接操作するには、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 | 文字列 | いいえ | リンクの種類: 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 | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
tag_name | 文字列 | はい | リリースに関連付けられているタグ。 |
link_id | 整数 | はい | リンクのID。 |
name | 文字列 | いいえ | リンクの名前。 |
url | 文字列 | いいえ | リンクのURL。 |
direct_asset_path | 文字列 | いいえ | ダイレクトアセットリンクのオプションのパス。 |
link_type | 文字列 | いいえ | リンクの種類: other、runbook、image、package。otherがデフォルトです。 |
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"
}