リリースリンク API
GitLab 11.7 で導入されました。
このAPIを使って、GitLabのReleaseリンクを操作することができます。 その他のReleaseアセットの操作については、Release APIを参照してください。 GitLabはhttp
,https
,ftp
アセットのリンクをサポートしています。
リンク集
リリースからアセットをリンクとして取得します。
GET /projects/:id/releases/:tag_name/assets/links
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
tag_name
| 列 | はい | リリースに関連するタグ。 |
リクエスト例
curl --header "PRIVATE-TOKEN: n671WNGecHugsdEDPsyo" "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",
"external":true,
"link_type":"other"
},
{
"id":1,
"name":"awesome-v0.2.dmg",
"url":"http://192.168.10.15:3000",
"external":true,
"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: n671WNGecHugsdEDPsyo" "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",
"external":true,
"link_type":"other"
}
リンクの作成
リリースからリンクとしてアセットを作成します。
POST /projects/:id/releases/:tag_name/assets/links
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
tag_name
| 列 | はい | リリースに関連するタグ。 |
name
| 列 | はい | リンクの名前。 |
url
| 列 | はい | リンクのURL。 |
link_type
| 列 | いいえ | リンクのタイプ:other ,runbook ,image ,package . デフォルトはother .
|
リクエスト例
curl --request POST \
--header "PRIVATE-TOKEN: n671WNGecHugsdEDPsyo" \
--data name="awesome-v0.2.dmg" \
--data url="http://192.168.10.15:3000" \
"https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links"
回答例
{
"id":1,
"name":"awesome-v0.2.dmg",
"url":"http://192.168.10.15:3000",
"external":true,
"link_type":"other"
}
リンクの更新
リリースからのリンクとしてアセットを更新します。
PUT /projects/:id/releases/:tag_name/assets/links/:link_id
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
tag_name
| 列 | はい | リリースに関連するタグ。 |
link_id
| 整数 | はい | リンクのID。 |
name
| 列 | いいえ | リンクの名前。 |
url
| 列 | いいえ | リンクのURL。 |
link_type
| 列 | いいえ | リンクのタイプ:other ,runbook ,image ,package . デフォルトはother .
|
注:
name
またはurl
リクエスト例
curl --request PUT --data name="new name" --data link_type="runbook" --header "PRIVATE-TOKEN: n671WNGecHugsdEDPsyo" "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",
"external":true,
"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: n671WNGecHugsdEDPsyo" "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",
"external":true,
"link_type":"other"
}