Skip to content

Releases: lanxuexing/sentry-dingtalk-notify

v2.1.0

Choose a tag to compare

@lanxuexing lanxuexing released this 25 Jan 17:40

v2.1.0 发布说明

✨ 核心功能:自定义消息模版

本次更新带来了用户呼声极高的 自定义 Markdown 模版 功能!现在,您可以完全掌控钉钉报警消息的样式和内容。

  • 🎨 高度定制: 告别硬编码的默认格式,根据团队需求定制消息排版。
  • 🔗 变量支持: 支持 {project}, {title}, {message}, {level}, {environment}, {culprit}, {url} 等丰富的上下文变量。
  • 🛡 智能兼容: 新增 {display_title} 变量,自动包含自定义关键词,完美解决不加签机器人的安全验证问题。
  • 🚀 平滑升级: 不配置模版时默认使用原版格式,现有用户升级 0 成本。

🛠 改进

  • 文档: 在 README 中增加了自定义模版的使用指南和 Markdown 换行小技巧。
  • 体验: 优化了配置页面的 Help Text,直接提示可用变量。

v2.1.0 Release Notes

✨ Core Feature: Custom Message Templates

This update introduces the highly requested Custom Markdown Template feature! You can now fully control the layout and content of your DingTalk notifications.

  • 🎨 Highly Customizable: Say goodbye to hardcoded formats. Tailor your message layout to fit your team's needs.
  • 🔗 Variable Support: Supports rich variables like {project}, {title}, {message}, {level}, {environment}, {culprit}, {url}.
  • 🛡 Smart Compatibility: Introduced {display_title} variable which automatically includes the custom keyword, perfectly solving security verification issues for robots without secret signing.
  • 🚀 Smooth Upgrade: Defaults to the original format if no template is configured. Zero cost for existing users.

🛠 Improvements

  • Documentation: Added guide for Custom Templates and Markdown tips in README.
  • UX: Optimized Help Text in the configuration page to directly list available variables.

v2.0.1

Choose a tag to compare

@lanxuexing lanxuexing released this 25 Jan 09:20

v2.0.1 发布说明

✨ 核心功能

  • 📝 精美排版: 发送包含项目、环境、报错级别、代码位置的富文本 Markdown 消息,关键信息一目了然。
  • 🔒 安全验证: 完美支持钉钉机器人的 加签 (SEC)自定义关键词 安全设置,保障消息发送的安全性与稳定性。
  • 🤖 多机器人支持: 支持同时配置多个机器人 Webhook,可一次性将报警推送到不同的群组。
  • 📱 强提醒机制: 支持配置手机号 @群成员(可 @所有人),确保重要报警不被遗漏。
  • ⚡️ 灵活配置: 简单易用的配置界面,支持通过占位符跳过特定配置,适应多种使用场景。

📸 效果预览

ValueError: Division by zero

  • 📦 Project: sentry-demo (Sentry)
  • 🌍 Env: prod
  • 🚦 Level: error
  • 📍 Location: app/utils/math.js

👉 View Issue on Sentry

🚀 重大更新

  • Entry Point 兼容性: 将 Entry Point 名称恢复为 sentry_dingtalk_notify,在指向新版 DingTalkPlugin 类的同时,确保与旧版本的完全向后兼容。
  • 元数据升级: 更新了包的元数据(作者、邮箱、许可证),以匹配最新的维护者信息。

📦 CI/CD 与自动化

  • 自动发布: 添加了 GitHub Actions 工作流,实现 PyPI 和 TestPyPI 的全自动发布。
  • 可信发布 (Trusted Publishing): 实现了基于 OIDC 的安全无 Token 发布流程。
  • 本地开发: 新增 .agent/workflowsscripts/publish_test.sh,以此加速本地开发和测试流程。

📄 文档

  • 全面重构: 重写了 README.mdREADME_en.md,采用现代化布局、居中标题和高质量的文本预览,并支持中英文切换。
  • 开发指南: 增加了专门的 LOCAL_DEV_GUIDE.md (中/英),涵盖 Docker 挂载、故障排查和部署步骤。
  • 隐私保护: 对所有文档进行了脱敏处理,使用环境变量 ($SENTRY_PATH, $PLUGIN_PATH) 替代硬编码路径。

🛠 修复与改进

  • 依赖明确: 明确列出了 requestssentry>=9.0.0 依赖项。
  • 版本一致性: 修复了 Sentry 界面显示旧版本号的问题,实现了 __version__.py 单一数据源管理。
  • 构建优化: 添加了完善的 .gitignoreMANIFEST.in,确保发布的包干净且完整。

v2.0.1 Release Notes

✨ Core Features

  • 📝 Rich Formatting: Sends Markdown messages containing project, environment, error level, and code location for clear visibility.
  • 🔒 Security Support: Fully supports DingTalk's Sign (SEC) and Custom Keyword security settings, ensuring reliable delivery.
  • 🤖 Multi-Robot Support: Configure multiple robot Webhooks to push alerts to different groups simultaneously.
  • 📱 Smart Mentions: Supports @mentioning group members via mobile number (or @ALL) to ensure critical alerts are seen.
  • ⚡️ Flexible Configuration: Easy-to-use interface with support for skipping specific configurations via placeholders.

📸 Preview

ValueError: Division by zero

  • 📦 Project: sentry-demo (Sentry)
  • 🌍 Env: prod
  • 🚦 Level: error
  • 📍 Location: app/utils/math.js

👉 View Issue on Sentry

🚀 Major Updates

  • Entry Point Compatibility: Restored endpoint name to sentry_dingtalk_notify to ensure full backward compatibility with previous versions while pointing to the modern DingTalkPlugin class.
  • Metadata Upgrade: Updated package metadata (Author, Email, License) to match the latest maintainer information.

📦 CI/CD & Automation

  • Automated Publishing: Added GitHub Actions workflows for fully automated publishing to PyPI and TestPyPI.
  • Trusted Publishing (OIDC): Implemented secure, token-less authentication for PyPI publishing.
  • Local Development: Added .agent/workflows and scripts/publish_test.sh to stream local development and testing.

📄 Documentation

  • Complete Overhaul: Rewrote README.md and README_zh-CN.md with modern layout, centered headers, and high-fidelity text previews.
  • Developer Guides: Added dedicated LOCAL_DEV_GUIDE.md (EN/CN) covering Docker mounting, troubleshooting, and deployment steps.
  • Privacy: Sanitized all documentation to use environment variables ($SENTRY_PATH, $PLUGIN_PATH) instead of hardcoded paths.

🛠 Fixes & Improvements

  • Requirements: Clarified requests and sentry>=9.0.0 dependencies.
  • Version Consistency: Fixed incorrect version display in Sentry UI by implementing single-source versioning via __version__.py.
  • Clean Build: Added comprehensive .gitignore and MANIFEST.in to ensure clean and complete package distribution.

v2.0.0

Choose a tag to compare

@lanxuexing lanxuexing released this 25 Jan 08:54

v2.0.0 发布说明

✨ 核心功能

  • 📝 精美排版: 发送包含项目、环境、报错级别、代码位置的富文本 Markdown 消息,关键信息一目了然。
  • 🔒 安全验证: 完美支持钉钉机器人的 加签 (SEC)自定义关键词 安全设置,保障消息发送的安全性与稳定性。
  • 🤖 多机器人支持: 支持同时配置多个机器人 Webhook,可一次性将报警推送到不同的群组。
  • 📱 强提醒机制: 支持配置手机号 @群成员(可 @所有人),确保重要报警不被遗漏。
  • ⚡️ 灵活配置: 简单易用的配置界面,支持通过占位符跳过特定配置,适应多种使用场景。

📸 效果预览

ValueError: Division by zero

  • 📦 Project: sentry-demo (Sentry)
  • 🌍 Env: prod
  • 🚦 Level: error
  • 📍 Location: app/utils/math.js

👉 View Issue on Sentry

🚀 重大更新

  • Entry Point 兼容性: 将 Entry Point 名称恢复为 sentry_dingtalk_notify,在指向新版 DingTalkPlugin 类的同时,确保与旧版本的完全向后兼容。
  • 元数据升级: 更新了包的元数据(作者、邮箱、许可证),以匹配最新的维护者信息。

📦 CI/CD 与自动化

  • 自动发布: 添加了 GitHub Actions 工作流,实现 PyPI 和 TestPyPI 的全自动发布。
  • 可信发布 (Trusted Publishing): 实现了基于 OIDC 的安全无 Token 发布流程。
  • 本地开发: 新增 .agent/workflowsscripts/publish_test.sh,以此加速本地开发和测试流程。

📄 文档

  • 全面重构: 重写了 README.mdREADME_en.md,采用现代化布局、居中标题和高质量的文本预览,并支持中英文切换。
  • 开发指南: 增加了专门的 LOCAL_DEV_GUIDE.md (中/英),涵盖 Docker 挂载、故障排查和部署步骤。
  • 隐私保护: 对所有文档进行了脱敏处理,使用环境变量 ($SENTRY_PATH, $PLUGIN_PATH) 替代硬编码路径。

🛠 修复与改进

  • 依赖明确: 明确列出了 requestssentry>=9.0.0 依赖项。
  • 构建优化: 添加了完善的 .gitignoreMANIFEST.in,确保发布的包干净且完整。

v2.0.0 Release Notes

✨ Core Features

  • 📝 Rich Formatting: Sends Markdown messages containing project, environment, error level, and code location for clear visibility.
  • 🔒 Security Support: Fully supports DingTalk's Sign (SEC) and Custom Keyword security settings, ensuring reliable delivery.
  • 🤖 Multi-Robot Support: Configure multiple robot Webhooks to push alerts to different groups simultaneously.
  • 📱 Smart Mentions: Supports @mentioning group members via mobile number (or @ALL) to ensure critical alerts are seen.
  • ⚡️ Flexible Configuration: Easy-to-use interface with support for skipping specific configurations via placeholders.

📸 Preview

ValueError: Division by zero

  • 📦 Project: sentry-demo (Sentry)
  • 🌍 Env: prod
  • 🚦 Level: error
  • 📍 Location: app/utils/math.js

👉 View Issue on Sentry

🚀 Major Updates

  • Entry Point Compatibility: Restored endpoint name to sentry_dingtalk_notify to ensure full backward compatibility with previous versions while pointing to the modern DingTalkPlugin class.
  • Metadata Upgrade: Updated package metadata (Author, Email, License) to match the latest maintainer information.

📦 CI/CD & Automation

  • Automated Publishing: Added GitHub Actions workflows for fully automated publishing to PyPI and TestPyPI.
  • Trusted Publishing (OIDC): Implemented secure, token-less authentication for PyPI publishing.
  • Local Development: Added .agent/workflows and scripts/publish_test.sh to stream local development and testing.

📄 Documentation

  • Complete Overhaul: Rewrote README.md and README_zh-CN.md with modern layout, centered headers, and high-fidelity text previews.
  • Developer Guides: Added dedicated LOCAL_DEV_GUIDE.md (EN/CN) covering Docker mounting, troubleshooting, and deployment steps.
  • Privacy: Sanitized all documentation to use environment variables ($SENTRY_PATH, $PLUGIN_PATH) instead of hardcoded paths.

🛠 Fixes & Improvements

  • Requirements: Clarified requests and sentry>=9.0.0 dependencies.
  • Clean Build: Added comprehensive .gitignore and MANIFEST.in to ensure clean and complete package distribution.

v1.1.1

Choose a tag to compare

@lanxuexing lanxuexing released this 18 Jan 16:46

v1.1.1: Robust Configuration & Enhanced Filtering

This release brings significant improvements to configuration reliability, keyword filtering logic, and documentation experience.

🚀 Highlights

  • Robust Environment Fallback: Configuration now reliably falls back to system environment variables (via os.getenv) when project-level settings are missing. This is critical for Docker/Kubernetes deployments.
  • Smart Keyword Filtering: Added support for comma-separated keywords (e.g., Critical, Error), making rule configuration simpler and more intuitive.
  • Dependency Optimization: Relaxed sentry version requirements to resolve potential installation conflicts in various environments.

📋 Changelog

✨ New Features

  • Comma-Separated Support: You can now use commas to separate multiple keywords in Include/Exclude settings.
  • Environment Variables: Enhanced logic to ensure DINGTALK_WEBHOOK and other env vars are correctly read as defaults.

🐛 Bug Fixes

  • Fixed an issue where filtering logic precedence was ambiguous.
  • Resolved NameError in edge cases during plugin initialization.
  • Fixed installation issues caused by strict version pinning (sentry>=21.5.1).

📚 Documentation

  • New Design: Revamped README.md with professional status badges, emojis, and better layout.
  • Internationalization: Added complete English Documentation (README_EN.md).

⚙️ CI/CD

  • Successfully migrated PyPI publishing workflow to Trusted Publishing (OIDC) for better security.

🇨🇳 更新摘要 (Chinese Summary)

v1.1.1 版本专注于提升插件的稳定性和易用性:

  1. 关键字过滤升级:现在支持使用逗号 (,) 分隔多个关键字,配置更加灵活。
  2. 配置回退机制:优化了环境变量读取逻辑。当 Sentry 项目内未配置 Webhook 时,插件能更可靠地读取系统环境变量作为默认值,这对容器化部署非常友好。
  3. 文档焕新:新增了完整的英文文档,并对主文档进行了视觉升级(新增徽章、表格说明)。
  4. 兼容性修复:移除了对 Sentry 版本的硬性依赖限制,解决了部分版本的安装冲突。

📦 Upgrade

pip install --upgrade sentry-dingtalk-notify

Full Changelog: https://github.com/lanxuexing/sentry-dingtalk-notify/commits/1.1.1