Healthchecks项目开发指南:从代码规范到集成开发

Healthchecks项目开发指南:从代码规范到集成开发

项目概述

Healthchecks是一个用于监控定时任务和后台作业运行状态的工具,它通过定期接收"心跳"信号来判断服务是否正常运行。当预期的心跳没有按时到达时,系统会发送警报通知相关人员。

代码贡献规范

开发前沟通

对于任何非小型bug修复的贡献,建议开发者先与项目维护者进行讨论。这样可以避免开发完成后出现设计方案不被采纳的情况。项目维护者更倾向于在开发前就功能设计达成共识,而不是在代码完成后进行重大修改。

代码风格要求

  1. 代码格式化工具:项目使用ruff作为Python代码格式化工具,所有提交的代码必须符合ruff的格式规范。

  2. 代码设计原则

    • 优先选择简单直接的实现方式
    • 避免过度设计或过于复杂的解决方案
    • 保持代码可读性和可维护性
  3. 测试要求

    • 修复bug时必须添加相应的测试用例
    • 新增功能时必须包含功能测试
    • 提交前必须确保所有测试通过

文档编写指南

项目文档采用Markdown格式编写,并可通过管理命令转换为HTML:

  1. templates/docs目录下创建新的Markdown文件
  2. 运行./manage.py render_docs命令生成HTML版本
  3. /templates/front/docs_single.html中添加新文档的导航链接

集成开发指南

集成开发流程

在开始开发新集成前,必须先在issue中讨论并获得认可。项目维护者会根据以下标准评估是否接受新集成:

  1. 用户需求:是否有大量终端用户(特别是付费或潜在付费用户)的需求
  2. 开发乐趣:该集成是否有趣味性
  3. 服务友好度:目标服务是否提供开放且文档完善的API,能否避免销售联系和付费订阅
  4. 功能价值:该集成是否能实现通过webhook或邮件难以实现的功能

集成开发步骤

  1. 选择参考集成:从现有集成中选择一个相似的作为开发模板

  2. 核心文件修改

    • /hc/api/transports.py中添加新的传输类
    • /hc/api/models.py中更新CHANNEL_KINDSChannel.transport()
    • /templates/integrations/中添加通知模板
  3. 测试开发

    • /hc/api/tests/test_notify_<kind>.py中为传输类编写测试
    • /hc/font/tests/test_add_<kind>.py中为视图编写测试
  4. 前端开发

    • /hc/front/views.py中创建配置视图
    • /templates/front/add_<kind>.py中创建HTML模板
    • /static/img/integrations/中添加相关图片资源
    • /hc/front/urls.py中添加路由
  5. 界面集成

    • 更新/templates/front/channels.html中的集成列表
    • 更新/templates/front/event_summary.html中的通知显示
    • 添加集成logo到/static/img/integrations/

特别注意事项

项目不接受任何AI生成或修改的内容提交,包括但不限于:

  • AI生成的pull request
  • AI辅助编写的issue
  • AI改写或生成的邮件

所有AI相关提交将被直接关闭或标记为垃圾信息,不做进一步讨论。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羿平肖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值