Put Trigger

Prev Next

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

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

요청

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

메서드 URI
PUT /ncf/api/v2/triggers/{triggerName}
참고

싱가포르 리전과 일본 리전은 VPC 환경에서만 이용할 수 있습니다.

요청 헤더

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 Array Optional 연결할 Cloud Insight 이벤트 규칙 정보: insightLink

insightLink

insightLink에 대한 설명은 다음과 같습니다.

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

Object Storage 트리거

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

주의

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

필드 타입 필수 여부 설명
objectStorageLink Array Required 연결할 Object Storage 이벤트 규칙 정보: objectStorageLink

objectStorageLink

objectStorageLink에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
bucketName String Required Object Storage의 버킷 이름
eventRuleName String Required Object Storage의 이벤트 규칙 이름

SourceCommit 트리거

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

참고

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

필드 타입 필수 여부 설명
sourceCommitLink Array Required 연결할 SourceCommit 리포지토리의 웹훅 정보: sourceCommitLink

sourceCommitLink

sourceCommitLink에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
enable Boolean Optional SourceCommit 웹훅 활성화 여부
  • true (기본값) | false
repositoryName String Required SourceCommit 리포지토리 이름
webhookName String Required SourceCommit 웹훅 이름

Secret Manager 트리거

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

필드 타입 필수 여부 설명
secretManagerLink Array Required 연결할 Secret Manager 시크릿 정보: secretManagerLink

sourceCommitLink

sourceCommitLink에 대한 설명은 다음과 같습니다.

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

요청 예시

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

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 Object - 트리거 생성, 수정 정보
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 Array - 연결된 Cloud Insight 이벤트 규칙 정보: insightLink

insightLink

insightLink에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
prodKey String - Cloud Insight 이벤트 규칙의 prodKey
ruleGrpId String - Cloud Insight 이벤트의 ruleGrpId
reminderTime Integer - Cloud Insight 이벤트의 리마인드 알림 주기(분)
enableNotiWhenEventClose Boolean - 이벤트 종료 시 Cloud Insight 이벤트 규칙 호출 여부

Object Storage 트리거

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

필드 타입 필수 여부 설명
content.objectStorageLink Array - 연결된 Object Storage 이벤트 규칙 정보: objectStorageLink

objectStorageLink

objectStorageLink에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
bucketName String - Object Storage의 버킷 이름
eventRuleName String - Object Storage의 이벤트 규칙 이름

SourceCommit 트리거

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

필드 타입 필수 여부 설명
content.sourceCommitLink Array - 연결된 SourceCommit 리포지토리의 웹훅 정보: sourceCommitLink

sourceCommitLink

sourceCommitLink에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
enable Boolean - SourceCommit 웹훅 활성화 여부
repositoryName String - SourceCommit 리포지토리 이름
webhookName String - SourceCommit 웹훅 이름

Secret Manager 트리거

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

필드 타입 필수 여부 설명
content.secretManagerLink Array - 연결된 Secret Manager 시크릿 정보: secretManagerLink

secretManagerLink

secretManagerLink에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
secretId String - Secret Manager의 시크릿 ID

응답 상태 코드

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

응답 예시

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

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