这是一个用于云原生构建(CNB)的微信通知插件,通过在指定仓库创建Issue来触发微信通知。插件会根据构建成功或失败状态,自动在对应的仓库中创建不同优先级的Issue。
插件首次运行时会自动创建两个通知仓库(如果不存在):
{ROOT_GROUP}/build-success:用于构建成功通知{ROOT_GROUP}/build-fail:用于构建失败通知根据构建状态自动选择对应仓库并创建Issue:
build-success 仓库创建P3优先级Issuebuild-fail 仓库创建P0优先级IssueCNB系统会自动将Issue通知推送到配置的微信群
| 参数 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
SUCCESS | 构建状态,"true"表示成功,"false"表示失败 | 是 | - |
TOKEN | CNB API认证Token | 是 | - |
ROOT_GROUP | CNB根组织名称 | 是 | - |
TITLE | Issue标题 | 否 | "CNB构建通知" |
main:
push:
- stages:
- name: 构建通知
image: docker.cnb.cool/Kellvian/cnb-plugin-wechat-notify:latest
settings:
SUCCESS: "{{success}}" # CNB内置变量
TOKEN: "{{secrets.CNB_TOKEN}}" # 从密钥中获取
ROOT_GROUP: "your-organization"
TITLE: "项目构建完成"
main:
push:
- stages:
- name: 构建项目
image: golang:1.21
script:
- go build -o app .
- name: 成功通知
when: success # 仅在成功时执行
image: docker.cnb.cool/Kellvian/cnb-plugin-wechat-notify:latest
settings:
SUCCESS: "true"
TOKEN: "{{secrets.CNB_TOKEN}}"
ROOT_GROUP: "Kellvian"
TITLE: "✅ 构建成功 - {{repo.name}}"
- name: 失败通知
when: failure # 仅在失败时执行
image: docker.cnb.cool/Kellvian/cnb-plugin-wechat-notify:latest
settings:
SUCCESS: "false"
TOKEN: "{{secrets.CNB_TOKEN}}"
ROOT_GROUP: "Kellvian"
TITLE: "❌ 构建失败 - {{repo.name}}"
# 构建镜像
docker build -t docker.cnb.cool/Kellvian/cnb-plugin-wechat-notify:latest .
# 测试运行(构建成功)
docker run --rm \
-e PLUGIN_SUCCESS="true" \
-e PLUGIN_TOKEN="your-token" \
-e PLUGIN_ROOT_GROUP="your-org" \
-e PLUGIN_TITLE="测试通知" \
docker.cnb.cool/Kellvian/cnb-plugin-wechat-notify:latest
这个插件是使用Python编写的。如果您想贡献代码或报告问题,请参考CNB插件贡献指南。