Put Trigger

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

Cloud Functions 트리거를 생성, 수정합니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
PUT /triggers/{triggerName}

요청 헤더

Cloud Funtions API에서 공통으로 사용하는 헤더에 대한 자세한 내용은 Cloud Functions 공통 헤더를 참조해 주십시오.

요청 경로 파라미터

파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
triggerName String Required 트리거 이름
  • 1~50자로 영문자, 숫자, 특수문자 '-', '_'를 허용하며 '-'로 시작 불가
  • 다른 리소스(패키지, 액션, 트리거) 이름과 중복 불가

요청 쿼리 파라미터

파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
platform String Optional 플랫폼 구분
  • vpc (기본값) | classic
type String Required 트리거 유형
  • cron | github | insight | object_storage | source_commit | secret_manager
  • 생성 후 변경 불가

요청 바디

요청 바디에 대한 설명은 다음과 같습니다. 요청 바디에 필드가 없을 경우, {} 빈 JSON Object 형태로 요청해야 합니다.

공통

공통 요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
description String Optional 트리거 설명(Byte)
  • 0~3,000
parameters Object Optional 트리거의 기본 파라미터
  • {"key": "value"} 형태의 JSON
  • 트리거 실행 시 파라미터 적용 우선순위
    • 1순위: 실행 시점에 전달되는 런타임 파라미터
    • 2순위: 연결된 트리거의 기본 파라미터
    • 3순위: 액션의 기본 파라미터
    • 4순위: 포함된 패키지의 기본 파라미터

cron 트리거

cron 트리거 요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
cronOption String Required cron 실행 옵션

GitHub 트리거

GitHub 트리거 요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
credential Object Required GitHub 정보
credential.username String Required GitHub 사용자 이름
credential.accessToken String Required GitHub 액세스 토큰
credential.repository String Required GitHub 리포지토리
  • 리포지토리 이름 또는 Organization/리포지토리 이름 형식으로 입력
events String[] Required 트리거할 이벤트
  • * | check_run | check_suite | commit_comment | create | delete | deployment | deployment_status | fork | gollum | issue_comment | issues | label | member | milestone | page_build | project_card | project_column | project | public | pull_request_review_comment | pull_request_review_thread | pull_request_review | pull_request | push | repository | repository_import | repository_vulnerability_alert | release | status | team_add | watch | branch_protection_rule | code_scanning_alert | deploy_key | discussion_comment | discussion | meta | package | registry_package | secret_scanning_alert_location | secret_scanning_alert | security_and_analysis | star | workflow_job | workflow_run
link Object Conditional API Gateway 정보
  • 트리거 생성 시에만 유효하며 입력 필수
link.productName String Conditional API Gateway의 상품 이름
link.apiName String Conditional API Gateway API 이름
link.stageName String Conditional API Gateway의 스테이지 이름

Cloud Insight 트리거

Cloud Insight 트리거 요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
insightLink Object[] Optional 연결할 Cloud Insight 이벤트 규칙 정보
insightLink[].prodKey String Conditional Cloud Insight 이벤트 규칙의 prodKey
  • insightLink 입력 시 필수
insightLink[].ruleGrpId String Conditional Cloud Insight 이벤트 규칙의 ruleGrpId
  • insightLink 입력 시 필수
insightLink[].reminderTime Integer Optional Cloud Insight 이벤트 규칙의 리마인드 알림 주기(분)
  • 5~720
insightLink[].enableNotiWhenEventClose Boolean Optional 이벤트 종료 시 Cloud Insight 이벤트 규칙 호출 여부
  • true | false (기본값)

Object Storage 트리거

Object Storage 트리거 요청 바디에 대한 설명은 다음과 같습니다.

주의

Object Storage 트리거에 연결된 액션이 Object Storage 이벤트 규칙과 동일한 버킷을 사용할 경우, 재귀 호출로 인한 사용량 증가 및 과다한 비용이 발생할 수 있습니다.

필드 타입 필수 여부 설명
objectStorageLink Object[] Required 연결할 Object Storage 이벤트 규칙 정보
objectStorageLink[].bucketName String Required Object Storage의 버킷 이름
objectStorageLink[].eventRuleName String Required Object Storage의 이벤트 규칙 이름

SourceCommit 트리거

SourceCommit 트리거 요청 바디에 대한 설명은 다음과 같습니다.

참고

SourceCommit 트리거는 한국 리전의 VPC 플랫폼에서만 지원합니다.

필드 타입 필수 여부 설명
sourceCommitLink Object[] Required 연결할 SourceCommit 리포지토리의 웹훅 정보
sourceCommitLink[].enable Boolean Optional SourceCommit 웹훅 활성화 여부
  • true (기본값) | false
sourceCommitLink[].repositoryName String Required SourceCommit 리포지토리 이름
sourceCommitLink[].webhookName String Required SourceCommit 웹훅 이름

Secret Manager 트리거

Secret Manager 트리거 요청 바디에 대한 설명은 다음과 같습니다.

참고
  • Secret Manager 트리거는 한국 리전의 VPC 플랫폼에서만 지원합니다.
  • 하나의 트리거에는 여러 시크릿이 연결될 수 있지만, 하나의 시크릿에는 하나의 트리거만 연결 가능합니다.
필드 타입 설명
secretManagerLink Object[] Required
secretManagerLink[].secretName String Required

요청 예시

요청 예시는 다음과 같습니다.

curl --location --request PUT 'https://cloudfunctions.apigw.ntruss.com/ncf/api/v2/triggers/trigger001?platform=vpc&type=cron' \
--header 'Content-Type: application/json' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Sub Account Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--data '<하단 참조>'
{
    "description": "Cron Trigger",
    "parameters": {
        "period": "daily"
    },
    "cronOption": "30 1 * * *"
}

응답

응답 형식을 설명합니다.

응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

공통

공통 응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 설명
content.name String 트리거 이름
content.resourceId String 트리거의 리소스 ID
content.triggerType String 트리거 유형
content.namespace String 사용자 네임스페이스
content.description String 트리거 설명
content.parameters Object 트리거의 기본 파라미터
content.rules Object 트리거 액션 연결 정보

cron 트리거

cron 트리거 응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 설명
content.cronOption String cron 실행 옵션

GitHub 트리거

GitHub 트리거 응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 설명
content.credential Object GitHub 정보
content.credential.username String GitHub 사용자 이름
content.credential.accessToken String 트리거 유형
content.namespace String GitHub 액세스 토큰
content.credential.repository String GitHub 리포지토리
content.events String[] 트리거 할 이벤트 종류

Cloud Insight 트리거

Cloud Insight 트리거 응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 설명
content.insightLink Object[] 연결된 Cloud Insight 이벤트 규칙 정보
content.insightLink[].prodKey String Cloud Insight 이벤트 규칙의 prodKey
content.insightLink[].ruleGrpId String Cloud Insight 이벤트의 ruleGrpId
content.insightLink[].reminderTime Integer Cloud Insight 이벤트의 리마인드 알림 주기(분)
content.insightLink[].enableNotiWhenEventClose Boolean 이벤트 종료 시 Cloud Insight 이벤트 규칙 호출 여부

Object Storage 트리거

Object Storage 트리거 응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 설명
content.objectStorageLink Object[] 연결된 Object Storage 이벤트 규칙 정보
content.objectStorageLink[].bucketName String Object Storage의 버킷 이름
content.objectStorageLink[].eventRuleName String Object Storage의 이벤트 규칙 이름

SourceCommit 트리거

SourceCommit 트리거 응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 설명
content.sourceCommitLink Object[] 연결된 SourceCommit 리포지토리의 웹훅 정보
content.sourceCommitLink[].enable Boolean SourceCommit 웹훅 활성화 여부
content.sourceCommitLink[].repositoryName String SourceCommit 리포지토리 이름
content.sourceCommitLink[].webhookName String SourceCommit 웹훅 이름

Secret Manager 트리거

Secret Manager 트리거 응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 설명
content.secretManagerLink Object[] 연결된 Secret Manager 시크릿 정보
content.secretManagerLink[].secretId String Secret Manager의 시크릿 ID

응답 상태 코드

응답 상태 코드에 대한 설명은 다음과 같습니다.

HTTP 상태 코드 코드 메시지 설명
400 80500 TRIGGER_INVALID_NAME 잘못된 트리거 이름
400 80502 TRIGGER_PLATFORM_MISMATCH 트리거의 플랫폼 변경 불가
400 80503 TRIGGER_INVALID_TYPE 잘못된 트리거 유형
400 80504 TRIGGER_TYPE_MISMATCH 트리거 유형 변경 불가
400 80505 TRIGGER_BODY_INVALID_TYPE 잘못된 요청 바디 필드 타입
400 80506 TRIGGER_BODY_MISSING_FIELD 요청 바디 필수 필드 누락
400 80507 TRIGGER_BODY_INVALID_VALUE 잘못된 요청 바디 필드 값
400 80700 NO_APIGW_SUBSCRIPTION API Gateway 이용 신청 필요
400 80710 NO_INSIGHT_SUBSCRIPTION Cloud Insight 이용 신청 필요
400 80711 INSIGHT_INVALID_EVENT_RULE 잘못된 Cloud Insight 이벤트 규칙 정보
400 80730 NO_OBJECT_STORAGE_SUBSCRIPTION Object Storage 이용 신청 필요
400 80731 OBJECT_STORAGE_INVALID_EVENT_RULE 잘못된 Object Storage 이벤트 규칙 정보
400 80740 SOURCE_COMMIT_INVALID_WEBHOOK 잘못된 SourceCommit 웹훅 정보
400 80750 NO_SECRET_MANGER_SUBSCRIPTION Secret Manager 이용 신청 필요
400 80751 SECRET_MANAGER_INVALID_SECRET 잘못된 Secret Manager 시크릿 정보
400 80752 SECRET_MANAGER_SECRET_ROTATING 교체 중인 Secret Manager 시크릿
403 80002 SUB_ACC_NO_PERMISSION 상세 권한 오류
409 80011 RESOURCE_NAME_CONFLICT 중복된 리소스 이름
422 80508 TRIGGER_COUNT_EXCEED 최대 트리거 수 초과
- 80005 INTEGRATION_EXCEPTION 연동 서비스 이용 신청 필요

응답 예시

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

{
    "content": {
        "description": "",
        "name": "trigger001",
        "namespace": "****YBNz****",
        "parameters": {
            "period": "daily"
        },
        "resourceId": "4ci**",
        "rules": {
            "****YBNz****/qr98**: {
                "action": {
                    "name": "action001",
                    "path": "****YBNz****"
                },
                "status": "active"
        },
        "triggerType": "cron"
    }
}