Put Trigger
    • PDF

    Put Trigger

    • PDF

    기사 요약

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

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

    요청

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

    메서드URI
    PUT/triggers/{triggerName}

    요청 헤더

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

    요청 경로 파라미터

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

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

    요청 쿼리 파라미터

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

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

    요청 바디

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

    공통

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

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

    cron 트리거

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

    필드타입필수 여부설명
    cronOptionStringRequiredcron 실행 옵션

    GitHub 트리거

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

    필드타입필수 여부설명
    credentialObjectRequiredGitHub 정보
    credential.usernameStringRequiredGitHub 사용자 이름
    credential.accessTokenStringRequiredGitHub 액세스 토큰
    credential.repositoryStringRequiredGitHub 리포지토리
    • 리포지토리 이름 또는 Organization/리포지토리 이름 형식으로 입력
    eventsString[]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
    linkObjectConditionalAPI Gateway 정보
    • 트리거 생성 시에만 유효하며 입력 필수
    link.productNameStringConditionalAPI Gateway의 상품 이름
    link.apiNameStringConditionalAPI Gateway API 이름
    link.stageNameStringConditionalAPI Gateway의 스테이지 이름

    Cloud Insight 트리거

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

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

    Object Storage 트리거

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

    주의

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

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

    SourceCommit 트리거

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

    참고

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

    필드타입필수 여부설명
    sourceCommitLinkObject[]Required연결할 SourceCommit 리포지토리의 웹훅 정보
    sourceCommitLink[].enableBooleanOptionalSourceCommit 웹훅 활성화 여부
    • true (기본값) | false
    sourceCommitLink[].repositoryNameStringRequiredSourceCommit 리포지토리 이름
    sourceCommitLink[].webhookNameStringRequiredSourceCommit 웹훅 이름

    Secret Manager 트리거

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

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

    요청 예시

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

    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.nameString트리거 이름
    content.resourceIdString트리거의 리소스 ID
    content.triggerTypeString트리거 유형
    content.namespaceString사용자 네임스페이스
    content.descriptionString트리거 설명
    content.parametersObject트리거의 기본 파라미터
    content.rulesObject트리거 액션 연결 정보

    cron 트리거

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

    필드타입설명
    content.cronOptionStringcron 실행 옵션

    GitHub 트리거

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

    필드타입설명
    content.credentialObjectGitHub 정보
    content.credential.usernameStringGitHub 사용자 이름
    content.credential.accessTokenString트리거 유형
    content.namespaceStringGitHub 액세스 토큰
    content.credential.repositoryStringGitHub 리포지토리
    content.eventsString[]트리거 할 이벤트 종류

    Cloud Insight 트리거

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

    필드타입설명
    content.insightLinkObject[]연결된 Cloud Insight 이벤트 규칙 정보
    content.insightLink[].prodKeyStringCloud Insight 이벤트 규칙의 prodKey
    content.insightLink[].ruleGrpIdStringCloud Insight 이벤트의 ruleGrpId
    content.insightLink[].reminderTimeIntegerCloud Insight 이벤트의 리마인드 알림 주기(분)
    content.insightLink[].enableNotiWhenEventCloseBoolean이벤트 종료 시 Cloud Insight 이벤트 규칙 호출 여부

    Object Storage 트리거

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

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

    SourceCommit 트리거

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

    필드타입설명
    content.sourceCommitLinkObject[]연결된 SourceCommit 리포지토리의 웹훅 정보
    content.sourceCommitLink[].enableBooleanSourceCommit 웹훅 활성화 여부
    content.sourceCommitLink[].repositoryNameStringSourceCommit 리포지토리 이름
    content.sourceCommitLink[].webhookNameStringSourceCommit 웹훅 이름

    Secret Manager 트리거

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

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

    응답 상태 코드

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

    HTTP 상태 코드코드메시지설명
    40080500TRIGGER_INVALID_NAME잘못된 트리거 이름
    40080502TRIGGER_PLATFORM_MISMATCH트리거의 플랫폼 변경 불가
    40080503TRIGGER_INVALID_TYPE잘못된 트리거 유형
    40080504TRIGGER_TYPE_MISMATCH트리거 유형 변경 불가
    40080505TRIGGER_BODY_INVALID_TYPE잘못된 요청 바디 필드 타입
    40080506TRIGGER_BODY_MISSING_FIELD요청 바디 필수 필드 누락
    40080507TRIGGER_BODY_INVALID_VALUE잘못된 요청 바디 필드 값
    40080700NO_APIGW_SUBSCRIPTIONAPI Gateway 이용 신청 필요
    40080710NO_INSIGHT_SUBSCRIPTIONCloud Insight 이용 신청 필요
    40080711INSIGHT_INVALID_EVENT_RULE잘못된 Cloud Insight 이벤트 규칙 정보
    40080730NO_OBJECT_STORAGE_SUBSCRIPTIONObject Storage 이용 신청 필요
    40080731OBJECT_STORAGE_INVALID_EVENT_RULE잘못된 Object Storage 이벤트 규칙 정보
    40080740SOURCE_COMMIT_INVALID_WEBHOOK잘못된 SourceCommit 웹훅 정보
    40080750NO_SECRET_MANGER_SUBSCRIPTIONSecret Manager 이용 신청 필요
    40080751SECRET_MANAGER_INVALID_SECRET잘못된 Secret Manager 시크릿 정보
    40080752SECRET_MANAGER_SECRET_ROTATING교체 중인 Secret Manager 시크릿
    40380002SUB_ACC_NO_PERMISSION상세 권한 오류
    40980011RESOURCE_NAME_CONFLICT중복된 리소스 이름
    42280508TRIGGER_COUNT_EXCEED최대 트리거 수 초과
    -80005INTEGRATION_EXCEPTION연동 서비스 이용 신청 필요

    응답 예시

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

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

    이 문서가 도움이 되었습니까?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.