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リポジトリの Webフック情報
sourceCommitLink[].enable Boolean Optional SourceCommit Webフックを有効化するかどうか
  • true (デフォルト) | false
sourceCommitLink[].repositoryName String Required SourceCommitリポジトリ名
sourceCommitLink[].webhookName String Required SourceCommit Webフック名

Secret Managerトリガー

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

参考
  • Secret Managerトリガーは韓国リージョンの VPCプラットフォームでのみサポートしています。
  • 1つのトリガーには複数のシークレットを関連付けることができますが、1つのシークレットには1つのトリガーのみ関連付けることができます。
フィールド タイプ 説明
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リポジトリの Webフック情報
content.sourceCommitLink[].enable Boolean SourceCommit Webフックを有効化するかどうか
content.sourceCommitLink[].repositoryName String SourceCommitリポジトリ名
content.sourceCommitLink[].webhookName String SourceCommit Webフック名

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 Webhook情報
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"
    }
}