[PR #643] [MERGED] Support configuring independent notification channel for each workflow #1003

Closed
opened 2026-03-03 01:07:14 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/certimate-go/certimate/pull/643
Author: @fudiwei
Created: 4/23/2025
Status: Merged
Merged: 4/30/2025
Merged by: @usual2970

Base: mainHead: main


📝 Commits (10+)

  • 97f1025 feat: enhance context cancellation handling
  • 034bb71 feat(ui): show ca provider global settings button only when not specified ca provider
  • 2d17501 refactor: clean code
  • 7478dd7 feat: deprecate old notification module and introduce new notifier module
  • 794695c refactor: clean code
  • a117fd7 refactor: clean code
  • 11b413d feat: adapt email, mattermost, telegram, and webhook to new notifier module
  • 3c2fbd7 feat: support overwriting the default config of notifiers
  • 3be70c3 feat: support configuring method and headers in webhook
  • 609a252 refactor: clean code

📊 Changes

125 files changed (+3968 additions, -1354 deletions)

View changed files

📝 go.mod (+1 -1)
📝 internal/applicant/acme_ca.go (+8 -8)
📝 internal/applicant/applicant.go (+65 -73)
📝 internal/applicant/providers.go (+49 -31)
📝 internal/deployer/deployer.go (+27 -36)
📝 internal/deployer/providers.go (+299 -269)
📝 internal/domain/access.go (+42 -2)
📝 internal/domain/notify.go (+1 -0)
📝 internal/domain/provider.go (+149 -123)
📝 internal/domain/settings.go (+3 -0)
📝 internal/domain/workflow.go (+16 -10)
internal/notify/notifier.go (+72 -0)
📝 internal/notify/notify.go (+5 -2)
📝 internal/notify/providers.go (+129 -82)
internal/notify/providers_deprecated.go (+108 -0)
📝 internal/notify/service.go (+5 -0)
📝 internal/pkg/core/deployer/providers/aliyun-alb/aliyun_alb.go (+18 -0)
📝 internal/pkg/core/deployer/providers/aliyun-apigw/aliyun_apigw.go (+6 -0)
📝 internal/pkg/core/deployer/providers/aliyun-cas-deploy/aliyun_cas_deploy.go (+3 -1)
📝 internal/pkg/core/deployer/providers/aliyun-clb/aliyun_clb.go (+14 -2)

...and 80 more files

📄 Description

该 PR 包含以下内容变更:

  • feat: 支持为每个工作流设置单独的消息通知渠道(如发送到不同的邮箱)。
  • feat: Webhook 预设模板(已支持 Bark、ntfy、Gotify、Pushover、PushPlus、ServerChan 等)。
  • feat: Webhook 支持自定义谓词、标头、URL 变量。关闭 #473
  • refactor: 优化部分代码:
    • 调整提供商的命名规范;
    • 去除 pkg/errors 依赖。

BREAKING CHANGES

新的消息通知渠道将在授权管理页面统一管理,原有的系统设置页面中的全局消息通知渠道将在后续大版本升级中移除。

为兼容用户已有的配置,将会引导用户迁移至新模块。同时,原有工作流的全局形式的消息通知渠道仍可读取,但再次编辑保存时强制要求使用授权管理形式的消息通知渠道。


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/certimate-go/certimate/pull/643 **Author:** [@fudiwei](https://github.com/fudiwei) **Created:** 4/23/2025 **Status:** ✅ Merged **Merged:** 4/30/2025 **Merged by:** [@usual2970](https://github.com/usual2970) **Base:** `main` ← **Head:** `main` --- ### 📝 Commits (10+) - [`97f1025`](https://github.com/certimate-go/certimate/commit/97f102533cd149d38fc0c5624854bbcb47ae9250) feat: enhance context cancellation handling - [`034bb71`](https://github.com/certimate-go/certimate/commit/034bb71b10ca2620c5f267c12f99ceb87f3ccd8c) feat(ui): show ca provider global settings button only when not specified ca provider - [`2d17501`](https://github.com/certimate-go/certimate/commit/2d17501072ec590fc1fba8590ec4aa2a6ca9be58) refactor: clean code - [`7478dd7`](https://github.com/certimate-go/certimate/commit/7478dd7f471b69eeca0a3cd499389dd48473acb4) feat: deprecate old notification module and introduce new notifier module - [`794695c`](https://github.com/certimate-go/certimate/commit/794695c313d3ca7975114556c9914a8ab0e31a93) refactor: clean code - [`a117fd7`](https://github.com/certimate-go/certimate/commit/a117fd7d93da09902df1a9d712aa35dba6ed8a8e) refactor: clean code - [`11b413d`](https://github.com/certimate-go/certimate/commit/11b413d0dc251206bcf8a9ac9bdfcbcc5164a16c) feat: adapt email, mattermost, telegram, and webhook to new notifier module - [`3c2fbd7`](https://github.com/certimate-go/certimate/commit/3c2fbd720fd25d806ded4115fec8f361e7e44597) feat: support overwriting the default config of notifiers - [`3be70c3`](https://github.com/certimate-go/certimate/commit/3be70c3696dfd2d7f042f4c8adbcf0ff52c535a9) feat: support configuring method and headers in webhook - [`609a252`](https://github.com/certimate-go/certimate/commit/609a252ee07520446687cc60de6ed64003ddde6f) refactor: clean code ### 📊 Changes **125 files changed** (+3968 additions, -1354 deletions) <details> <summary>View changed files</summary> 📝 `go.mod` (+1 -1) 📝 `internal/applicant/acme_ca.go` (+8 -8) 📝 `internal/applicant/applicant.go` (+65 -73) 📝 `internal/applicant/providers.go` (+49 -31) 📝 `internal/deployer/deployer.go` (+27 -36) 📝 `internal/deployer/providers.go` (+299 -269) 📝 `internal/domain/access.go` (+42 -2) 📝 `internal/domain/notify.go` (+1 -0) 📝 `internal/domain/provider.go` (+149 -123) 📝 `internal/domain/settings.go` (+3 -0) 📝 `internal/domain/workflow.go` (+16 -10) ➕ `internal/notify/notifier.go` (+72 -0) 📝 `internal/notify/notify.go` (+5 -2) 📝 `internal/notify/providers.go` (+129 -82) ➕ `internal/notify/providers_deprecated.go` (+108 -0) 📝 `internal/notify/service.go` (+5 -0) 📝 `internal/pkg/core/deployer/providers/aliyun-alb/aliyun_alb.go` (+18 -0) 📝 `internal/pkg/core/deployer/providers/aliyun-apigw/aliyun_apigw.go` (+6 -0) 📝 `internal/pkg/core/deployer/providers/aliyun-cas-deploy/aliyun_cas_deploy.go` (+3 -1) 📝 `internal/pkg/core/deployer/providers/aliyun-clb/aliyun_clb.go` (+14 -2) _...and 80 more files_ </details> ### 📄 Description 该 PR 包含以下内容变更: - **feat**: 支持为每个工作流设置单独的消息通知渠道(如发送到不同的邮箱)。 - **feat**: Webhook 预设模板(已支持 Bark、ntfy、Gotify、Pushover、PushPlus、ServerChan 等)。 - **feat**: Webhook 支持自定义谓词、标头、URL 变量。关闭 #473 - **refactor**: 优化部分代码: - 调整提供商的命名规范; - 去除 `pkg/errors` 依赖。 --- ### **BREAKING CHANGES** 新的消息通知渠道将在授权管理页面统一管理,原有的系统设置页面中的全局消息通知渠道将在后续大版本升级中移除。 为兼容用户已有的配置,将会引导用户迁移至新模块。同时,原有工作流的全局形式的消息通知渠道仍可读取,但再次编辑保存时强制要求使用授权管理形式的消息通知渠道。 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-03 01:07:14 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/certimate#1003
No description provided.