파이프라인 생성

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 작업 프로젝트 아이디
config.stageId Number Conditional 배포 스테이지 아이디
config.scenarioId Number Conditional 배포 시나리오 아이디
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 파이프라인 아이디

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.gov-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 - 파이프라인 아이디

응답 상태 코드

SourcePipeline API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 SourcePipeline 응답 상태 코드를 참조해 주십시오.

응답 예시

응답 예시는 다음과 같습니다.

{
    "result": {
        "projectId": 2***
    }
}