- 全てのパイプラインスケジュールを見る
- パイプラインスケジュールの取得
- パイプラインスケジュールによってトリガーされたすべてのパイプラインを取得します。
- 新しいパイプラインスケジュールの作成
- パイプラインスケジュールの編集
- パイプラインスケジュールの所有権の取得
- パイプラインスケジュールの削除
- スケジュールされたパイプラインの即時実行
- パイプラインスケジュール変数
- パイプラインスケジュール変数の新規作成
- パイプラインスケジュール変数の編集
- パイプラインスケジュール変数の削除
パイプラインスケジュール API
パイプラインスケジュールについてはこちらをご覧ください。
全てのパイプラインスケジュールを見る
プロジェクトのパイプラインスケジュールの一覧を取得します。
GET /projects/:id/pipeline_schedules
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
scope | 文字列です。 | なし | パイプライン・スケジュールの範囲:active ,inactive
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules"
[
{
"id": 13,
"description": "Test schedule pipeline",
"ref": "main",
"cron": "* * * * *",
"cron_timezone": "Asia/Tokyo",
"next_run_at": "2017-05-19T13:41:00.000Z",
"active": true,
"created_at": "2017-05-19T13:31:08.849Z",
"updated_at": "2017-05-19T13:40:17.727Z",
"owner": {
"name": "Administrator",
"username": "root",
"id": 1,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "https://gitlab.example.com/root"
}
}
]
パイプラインスケジュールの取得
プロジェクトのパイプラインスケジュールを取得します。
GET /projects/:id/pipeline_schedules/:pipeline_schedule_id
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
pipeline_schedule_id | 整数。 | はい | パイプラインスケジュールID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13"
{
"id": 13,
"description": "Test schedule pipeline",
"ref": "main",
"cron": "* * * * *",
"cron_timezone": "Asia/Tokyo",
"next_run_at": "2017-05-19T13:41:00.000Z",
"active": true,
"created_at": "2017-05-19T13:31:08.849Z",
"updated_at": "2017-05-19T13:40:17.727Z",
"last_pipeline": {
"id": 332,
"sha": "0e788619d0b5ec17388dffb973ecd505946156db",
"ref": "main",
"status": "pending"
},
"owner": {
"name": "Administrator",
"username": "root",
"id": 1,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "https://gitlab.example.com/root"
},
"variables": [
{
"key": "TEST_VARIABLE_1",
"variable_type": "env_var",
"value": "TEST_1"
}
]
}
パイプラインスケジュールによってトリガーされたすべてのパイプラインを取得します。
GitLab 15.3 で導入されました。
プロジェクト内のパイプラインスケジュールによってトリガーされた全てのパイプラインを取得します。
GET /projects/:id/pipeline_schedules/:pipeline_schedule_id/pipelines
サポートされる属性:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
pipeline_schedule_id | 整数。 | はい | パイプラインのスケジュールID。 |
リクエストの例
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13/pipelines"
応答例
[
{
"id": 47,
"iid": 12,
"project_id": 29,
"status": "pending",
"source": "scheduled",
"ref": "new-pipeline",
"sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
"web_url": "https://example.com/foo/bar/pipelines/47",
"created_at": "2016-08-11T11:28:34.085Z",
"updated_at": "2016-08-11T11:32:35.169Z"
},
{
"id": 48,
"iid": 13,
"project_id": 29,
"status": "pending",
"source": "scheduled",
"ref": "new-pipeline",
"sha": "eb94b618fb5865b26e80fdd8ae531b7a63ad851a",
"web_url": "https://example.com/foo/bar/pipelines/48",
"created_at": "2016-08-12T10:06:04.561Z",
"updated_at": "2016-08-12T10:09:56.223Z"
}
]
新しいパイプラインスケジュールの作成
プロジェクトのパイプラインスケジュールを新規作成します。
POST /projects/:id/pipeline_schedules
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
description | 文字列です。 | はい | パイプラインスケジュールの説明。 |
ref | 文字列です。 | はい | トリガーされるブランチまたはタグ名。 |
cron | 文字列です。 | はい |
cronスケジュール、例:0 1 * * * . |
cron_timezone | 文字列です。 | なし |
ActiveSupport::TimeZone がサポートするタイムゾーン。例:Pacific Time (US & Canada) (デフォルト:UTC )。 |
active | boolean | なし | パイプラインスケジュールのアクティビティ。falseを設定すると、パイプラインスケジュールは初期状態では非アクティブになります(デフォルト:true )。 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--form description="Build packages" --form ref="main" --form cron="0 1 * * 5" --form cron_timezone="UTC" \
--form active="true" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules"
{
"id": 14,
"description": "Build packages",
"ref": "main",
"cron": "0 1 * * 5",
"cron_timezone": "UTC",
"next_run_at": "2017-05-26T01:00:00.000Z",
"active": true,
"created_at": "2017-05-19T13:43:08.169Z",
"updated_at": "2017-05-19T13:43:08.169Z",
"last_pipeline": null,
"owner": {
"name": "Administrator",
"username": "root",
"id": 1,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "https://gitlab.example.com/root"
}
}
パイプラインスケジュールの編集
プロジェクトのパイプラインスケジュールを更新します。更新後、自動的に再スケジュールされます。
PUT /projects/:id/pipeline_schedules/:pipeline_schedule_id
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
pipeline_schedule_id | 整数。 | はい | パイプラインのスケジュールID。 |
description | 文字列です。 | なし | パイプラインスケジュールの説明。 |
ref | 文字列です。 | なし | トリガーされるブランチまたはタグ名。 |
cron | 文字列です。 | なし |
cronスケジュール、例:0 1 * * * . |
cron_timezone | 文字列です。 | なし |
ActiveSupport::TimeZone (Pacific Time (US & Canada) など)またはTZInfo::Timezone (America/Los_Angeles など)がサポートするタイムゾーン。 |
active | boolean | なし | パイプラインスケジュールのアクティビティ。falseを設定した場合、パイプラインスケジュールは初期状態では停止しています。 |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
--form cron="0 2 * * *" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13"
{
"id": 13,
"description": "Test schedule pipeline",
"ref": "main",
"cron": "0 2 * * *",
"cron_timezone": "Asia/Tokyo",
"next_run_at": "2017-05-19T17:00:00.000Z",
"active": true,
"created_at": "2017-05-19T13:31:08.849Z",
"updated_at": "2017-05-19T13:44:16.135Z",
"last_pipeline": {
"id": 332,
"sha": "0e788619d0b5ec17388dffb973ecd505946156db",
"ref": "main",
"status": "pending"
},
"owner": {
"name": "Administrator",
"username": "root",
"id": 1,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "https://gitlab.example.com/root"
}
}
パイプラインスケジュールの所有権の取得
プロジェクトのパイプラインスケジュールのオーナーを更新します。
POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/take_ownership
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
pipeline_schedule_id | 整数。 | はい | パイプラインスケジュールID |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13/take_ownership"
{
"id": 13,
"description": "Test schedule pipeline",
"ref": "main",
"cron": "0 2 * * *",
"cron_timezone": "Asia/Tokyo",
"next_run_at": "2017-05-19T17:00:00.000Z",
"active": true,
"created_at": "2017-05-19T13:31:08.849Z",
"updated_at": "2017-05-19T13:46:37.468Z",
"last_pipeline": {
"id": 332,
"sha": "0e788619d0b5ec17388dffb973ecd505946156db",
"ref": "main",
"status": "pending"
},
"owner": {
"name": "shinya",
"username": "maeda",
"id": 50,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/8ca0a796a679c292e3a11da50f99e801?s=80&d=identicon",
"web_url": "https://gitlab.example.com/maeda"
}
}
パイプラインスケジュールの削除
プロジェクトのパイプラインスケジュールを削除します。
DELETE /projects/:id/pipeline_schedules/:pipeline_schedule_id
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
pipeline_schedule_id | 整数。 | はい | パイプラインスケジュールID |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13"
{
"id": 13,
"description": "Test schedule pipeline",
"ref": "main",
"cron": "0 2 * * *",
"cron_timezone": "Asia/Tokyo",
"next_run_at": "2017-05-19T17:00:00.000Z",
"active": true,
"created_at": "2017-05-19T13:31:08.849Z",
"updated_at": "2017-05-19T13:46:37.468Z",
"last_pipeline": {
"id": 332,
"sha": "0e788619d0b5ec17388dffb973ecd505946156db",
"ref": "main",
"status": "pending"
},
"owner": {
"name": "shinya",
"username": "maeda",
"id": 50,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/8ca0a796a679c292e3a11da50f99e801?s=80&d=identicon",
"web_url": "https://gitlab.example.com/maeda"
}
}
スケジュールされたパイプラインの即時実行
新しいスケジュール済みパイプラインをトリガーし、直ちに実行します。このパイプラインの次のスケジュール実行は影響を受けません。
POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/play
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
pipeline_schedule_id | 整数。 | はい | パイプラインスケジュールID |
リクエストの例
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/42/pipeline_schedules/1/play"
応答例
{
"message": "201 Created"
}
パイプラインスケジュール変数
パイプラインスケジュール変数の新規作成
パイプラインスケジュールの新しい変数を作成します。
POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
pipeline_schedule_id | 整数。 | はい | パイプラインスケジュールID |
key | 文字列です。 | はい | 変数のkey ; 255 文字以下でなければなりません;A-Z ,a-z ,0-9 ,_ のみ可能です。 |
value | 文字列です。 | はい | 変数のvalue
|
variable_type | 文字列です。 | なし | 変数の型。使用可能な型は env_var (デフォルト) およびfile
|
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "key=NEW_VARIABLE" \
--form "value=new value" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13/variables"
{
"key": "NEW_VARIABLE",
"variable_type": "env_var",
"value": "new value"
}
パイプラインスケジュール変数の編集
パイプラインスケジュールの変数を更新します。
PUT /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables/:key
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
pipeline_schedule_id | 整数。 | はい | パイプラインスケジュールID |
key | 文字列です。 | はい | 変数のkey
|
value | 文字列です。 | はい | 変数のvalue
|
variable_type | 文字列です。 | なし | 変数の型。使用可能な型は env_var (デフォルト) およびfile
|
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
--form "value=updated value" \
"https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13/variables/NEW_VARIABLE"
{
"key": "NEW_VARIABLE",
"value": "updated value",
"variable_type": "env_var"
}
パイプラインスケジュール変数の削除
パイプラインスケジュールの変数を削除します。
DELETE /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables/:key
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
pipeline_schedule_id | 整数。 | はい | パイプラインスケジュールID |
key | 文字列です。 | はい | 変数のkey
|
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13/variables/NEW_VARIABLE"
{
"key": "NEW_VARIABLE",
"value": "updated value"
}