# report-notice **Repository Path**: rainiswalking/report-notice ## Basic Information - **Project Name**: report-notice - **Description**: 用于一些常见的通知场景,比如定时将sonar的扫描结果通知到钉钉群或者发邮件,或其他方式,可以扩展通知方式 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-11-23 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # report-notice #### 介绍 用于一些常见的通知场景,比如定时将sonar的扫描结果通知到钉钉群或者发邮件,或其他方式,可以扩展通知方式 #### 使用说明 1、把程序放到部署了php环境下,比如放到/opt/report-notice/ 2、修改配置 ``` sonar: # sonar服务地址 url: http://192.168.x.x:9000/ # sonar用户生成的token,参考 https://docs.sonarqube.org/latest/user-guide/user-token/ user_token: "xxx" # 查询sonar项目的过滤条件 project_filter: query = "xxx" # 默认是统计打开状态的OPEN,REOPENED issue_statuses: # 报告统计的维度 # 目前支持: # project - 按项目统计问题数量 # author - 按提交人统计问题数量 report_by: project notice: # 通知的方式 # 支持多个,逗号分隔; # 目前支持: # dingding # empty type: dingding dingding: # 钉钉群机器人对应url url: https://oapi.dingtalk.com/robot/send?access_token=xxx # 指定需要@的人的手机号 atMobiles: # 是否@所有人 isAtAll: 'false' # 暂时只支持一个跳转按钮,如果title留空则不出现跳转按钮 btn_title: 跳转SonarQube btn_actionURL: "http://192.168.x.x:9000/projects?search=xxx" ``` 测试一下是否可以运行: ``` php -f /opt/report-notice/sonar-report.php ``` 3、定时运行通知,可以通过linux crontab或jenkins job来实现 crontab示例 ``` # 每天下午4点触发 0 16 * * * php -f /opt/report-notice/sonar-report.php ``` 4、运行日志 默认在程序目录下会生成2个日志文件: - app.log 对应程序运行产生的一些错误或提示信息 - http-request.log 程序运行中设计的http请求的日志 #### 如何扩展通知方式 可以自定义一个通知插件,实现方式非常简单,具体可以参见已有的通知插件 ```