Classic/VPC環境で利用できます。
パイプラインを作成します。
リクエスト
リクエスト形式を説明します。リクエスト形式は次の通りです。
メソッド | URI |
---|---|
POST | /api/v1/project |
リクエストヘッダ
SourcePipeline APIで共通して使用されるヘッダの詳細は、SourcePipelineのリクエストヘッダをご参照ください。
リクエストボディ
リクエストボディの説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
name |
String | Required | パイプライン名
|
description |
String | Optional | パイプラインの説明 |
tasks |
Array | Required | タスクリスト |
trigger |
Object | Optional | トリガーの設定 |
trigger.repository |
Array | Optional | Pushトリガーの設定 |
trigger.sourcepipeline |
Array | Optional | パイプライントリガーの設定 |
trigger.schedule |
Array | Optional | 予約トリガーの設定 |
tasks
tasks
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
name |
String | Required | タスク名
|
type |
String | Required | タスクタイプ
|
config |
Object | Required | タスク設定 |
config.projectId |
Number | Required | タスクプロジェクト ID
|
config.stageId |
Number | Conditional | デプロイステージ ID
|
config.scenarioId |
Number | Conditional | デプロイシナリオ ID
|
config.target |
Object | Optional | 接続情報 |
config.target.info |
Object | Optional | 詳細な接続情報 |
config.target.info.branch |
String | Optional | ブランチ名
|
linkedTasks |
Array | Required | 先行タスク名
|
repository
repository
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
type |
String | Conditional | リポジトリの種類
|
name |
String | Conditional | リポジトリ名
|
branch |
String | Conditional | ブランチ名
|
sourcepipeline
sourcepipeline
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
id |
Number | Conditional | パイプライン ID
|
schedule
schedule
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
day |
Array | Conditional | 予約実行曜日リスト
|
time |
String | Conditional | 予約実行時間
|
timeZone |
String | Conditional | 予約トリガーのタイムゾーン
|
scheduleOnlyWithChange |
Boolean | Conditional | SourceCommit、SourcePipeline変更時、実行するかどうか
|
リクエスト例
リクエストのサンプルコードは次の通りです。
curl --location --request POST 'https://vpcsourcepipeline.apigw.ntruss.com/api/v1/project' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
"name": "testpipeline",
"description": "testpipeline",
"tasks": [
{
"name": "task1",
"type": "SourceBuild",
"config": {
"projectId": 20***,
"target": {
"info": {
"branch": "app"
}
}
},
"linkedTasks": []
},
{
"name": "task2",
"type": "SourceDeploy",
"config": {
"projectId": 2***,
"stageId": 3***,
"scenarioId": 2***
},
"linkedTasks": [
"task1"
]
}
],
"trigger": {
"schedule": [
{
"day": [
"MON",
"WED",
"FRI",
"SUN"
],
"time": "23:00",
"timeZone": "Asia/Seoul (UTC+09:00)",
"scheduleOnlyWithChange": true
}
]
}
}'
レスポンス
レスポンス形式を説明します。
レスポンスボディ
レスポンスボディの説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
result |
Object | - | レスポンス結果 |
result.projectId |
Number | - | パイプライン ID |
レスポンスステータスコード
SourcePipeline APIで共通して使用されるレスポンスステータスコードの詳細は、SourcePipelineのレスポンスステータスコードをご参照ください。
レスポンス例
レスポンスのサンプルコードは次の通りです。
{
"result": {
"projectId": 2***
}
}