tencent cloud

容器镜像服务

动态与公告
产品动态
产品公告
新手指引
产品简介
产品概述
产品服务层级与容量限制
产品优势
应用场景
购买指南
计费概述
购买方式
欠费说明
快速入门
企业版快速入门
个人版快速入门
操作指南
创建企业版实例
访问配置
镜像创建
镜像分发
镜像安全
镜像清理
DevOps
OCI 制品管理
个人版操作指南
销毁退还实例
实践教程
个人版迁移
TKE 集群使用 TCR 插件内网免密拉取容器镜像
从自建 Harbor 同步镜像到 TCR 企业版
TKE Serverless 集群拉取 TCR 容器镜像
混合云下的多平台镜像数据同步复制
全球多地域间同步镜像实现就近访问
使用自定义域名及云联网实现跨地域内网访问
API 文档
History
Introduction
API Category
Making API Requests
Instance Management APIs
Namespace APIs
Access Control APIs
Instance Synchronization APIs
Tag Retention APIs
Trigger APIs
Helm Chart APIs
Image Repository APIs
Custom Account APIs
Data Types
Error Codes
常见问题
容器镜像服务个人版
容器镜像服务企业版
相关协议
Service Level Agreement
联系我们
词汇表

触发器(Webhook)

PDF
聚焦模式
字号
最后更新时间: 2025-12-22 17:33:09

操作场景

腾讯云容器镜像服务(Tencent Container Registry,TCR)支持用户配置并使用灵活的触发器 (Webhook) 功能。可通过在实例内配置合适的触发器,快速接入现有研发流程及 CI/CD 平台,实现镜像更新自动触发应用部署等容器 DevOps 场景。
触发器功能允许用户自定义创建触发器规则,并支持查看触发日志。其中,触发动作同时支持容器镜像及 Helm Chart 的推送,拉取及删除操作。触发规则支持灵活的正则表达式过滤、指定实例内命名空间及通过配置镜像仓库和版本的正则过滤规则,实现仅部分仓库或特殊命名格式的镜像版本可启动触发器。自定义 Header 功能支持以 Key:Value 的形式配置访问目标 URL 时的 Header,可用于鉴权等场景。

前提条件

在创建并管理 TCR 企业版实例的触发器前,您需要完成以下准备工作:
已成功 购买 TCR 企业版实例。本功能仅适用于企业版实例。
如果使用子账号进行操作,请参考 企业版授权方案示例 提前为子账号授予对应实例的操作权限。

操作步骤

创建触发器

1. 登录 容器镜像服务 控制台,选择左侧导航栏中的 触发器。 在“触发器”页面即可查看当前实例内的触发器规则列表。如需切换实例,请在页面上方的“实例名称”下拉列表中进行选择。
2. 单击新建,在弹出的“新建触发器”窗口中,参考以下提示进行规则配置。如下图所示:

名称:实例规则名称,支持小写字母、数字及(-. _)三种符号,且需以字母数字开头。本文以 webhook-demo 为例。
描述:规则描述,支持中文。
触发动作:当前支持推送镜像、删除镜像,上传 Helm Chart 及删除 Helm Chart 四种触发动作。触发器执行时,发起的 webhook 请求内将包含该触发动作信息。
触发规则
触发实例:触发器所属的实例,即为当前已选择实例,不可修改。
命名空间:触发器生效的命名空间,如果列表为空,请先在该实例内 创建命名空间
仓库名称:触发器生效的仓库名称,支持对镜像仓库及 Helm Chart 仓库进行 正则匹配
版本Tag:触发器生效的 Tag,支持 正则匹配。如需所有版本均可触发,可不填写。
URL:触发器被触发后,发起请求的目标 URL,即用户配置的 Webhook Server 的访问地址。触发器将向该 URL 地址发起 POST 请求,请求 body 中将包含触发动作、触发规则等信息。
Header:触发器发起 POST 请求时,支持以 Key:Value 形式输入可携带的 Header 信息。例如,Authentication: xxxxxxx
3. 单击确定即可创建同步规则。

管理触发器规则

成功创建后即可在“触发器”页面查看已创建的触发器规则,您可执行以下操作管理触发器规则。如下图所示:

查看触发日志:单击触发器规则名称,或触发器规则名称右侧的触发日志即可查看该规则触发日志,详情请参见 查看触发器日志
修改规则状态

表示规则启用,

表示规则关闭。新建的实例同步规则默认为启用状态,您可自行调整。
配置:重新配置触发器规则,可配置全部参数。
删除:删除该触发器规则。

查看触发器日志

单击指定触发器规则名称,或触发器规则名称右侧的触发日志,即可查看该规则的触发日志。如下图所示:

包含信息如下:
任务ID:实例内唯一的触发器任务 ID。
触发动作:产生该次触发的触发动作,例如推送镜像。
触发仓库:产生该次触发动作的仓库资源。
状态:触发器执行 webhook 请求的成功状态 。
创建时间:该次触发的启动时间,即发起 webhook 请求的时间。

相关信息

Webhook 请求格式参考

当用户对符合规则的资源执行相应动作时,例如向指定镜像仓库推送新的镜像时,则相应触发器将被触发,并向规则中配置的 URL 发起 HTTP POST 请求,请求 Body 中包含的触发动作、仓库路径等信息。以下为推送镜像触发后并经解析的请求 Body 信息,可供开发 Webhook 服务端参考。
{
"type": "pushImage",
"occur_at": 1589106605,
"event_data": {
"resources": [
{
"digest": "sha256:89a42c3ba15f09a3fbe39856bddacdf9e94cd03df7403cad4fc105xxxx268fc9",
"tag": "v1.10.0",
"resource_url": "xxx-bj.tencentcloudcr.com/public/nginx:v1.10.0"
}
],
"repository": {
"date_created": 1587119137,
"name": "nginx",
"namespace": "public",
"repo_full_name": "public/nginx",
"repo_type": "public"
}
},
"operator": "332133xxxx"
}

使用正则表达式新建规则

正则匹配规则

以下是填写“仓库名称”和“版本Tag”时,其正则表达式支持的匹配规则:
* :匹配所有不包含路径分隔符(/)的任意长字符串。
** :匹配所有的任意长字符串,包括路径分隔符(/)。
注意:
** 必须作为一段完整的相对路径,如果使用 /path** ,其作用将等同于 /path* ,仅能匹配以path为名称前缀的一级仓库。要想匹配path下的所有仓库,应使用 /path/** ;要想匹配以path为名称前缀的所有仓库,则应使用 /path*/**
?:匹配除 ‘/’ 以外的任意单个字符。
{alt1, alt2, …}:同时匹配多个正则表达式。

典型场景

匹配选定命名空间内所有仓库
** 或者不填
匹配选定命名空间内以 path 为名称前缀的所有一级仓库
/path*
匹配选定命名空间内以 path1 和 path2 为名称前缀的所有一级仓库
/{path1, path2}*
匹配选定命名空间内 path1 和 path2 目录下的所有仓库
/{path1, path2}/**
匹配选定命名空间内以 path1 和 path2 为名称前缀的所有仓库
/{path1, path2}*/**
匹配选定仓库内所有 1.x 的版本Tag
1.?
匹配选定仓库内所有以 env1 和 env2 为名称前缀的版本 Tag
{env1, env2}


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈