パイプラインの作成

Prev Next

Classic/VPC環境で利用できます。

パイプラインを作成します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /api/v1/project

リクエストヘッダ

SourcePipeline APIで共通して使用されるヘッダの詳細は、SourcePipelineのリクエストヘッダをご参照ください。

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
name String Required パイプライン名
  • 英数字、記号の「-」、「_」を組み合わせて1~30文字以内で入力
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 タスク名
  • 英数字、記号の「-」、「_」を組み合わせて1~50文字以内で入力
type String Required タスクタイプ
  • SourceBuild | SourceDeploy
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 リポジトリの種類
  • sourcecommit: SourceCommit (有効値)
  • トリガー設定時、必ず入力
name String Conditional リポジトリ名
branch String Conditional ブランチ名

sourcepipeline

sourcepipelineの説明は次の通りです。

フィールド タイプ 必須の有無 説明
id Number Conditional パイプライン ID

schedule

scheduleの説明は次の通りです。

フィールド タイプ 必須の有無 説明
day Array Conditional 予約実行曜日リスト
  • MON | TUE | WED | THU | FRI | SAT | SUN
  • トリガー設定時、必ず入力
time String Conditional 予約実行時間
  • HH:mm形式(24時間)
  • トリガー設定時、必ず入力
timeZone String Conditional 予約トリガーのタイムゾーン
scheduleOnlyWithChange Boolean Conditional SourceCommit、SourcePipeline変更時、実行するかどうか
  • true | false
    • true: 実行
    • false: 実行しない
  • トリガー設定時、必ず入力

リクエスト例

リクエストのサンプルコードは次の通りです。

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***
    }
}