# dingding-sonar **Repository Path**: vians/dingding-sonar ## Basic Information - **Project Name**: dingding-sonar - **Description**: 基于dingding-sonar的作者,钉钉的sonar集成通知,钉钉(dingding)的sonar(代码质量管理工具的)集成通知,非常简单的一个小工具。整合了下docker方式运行,分享给大家 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-28 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dingding-sonar 基于dingding-sonar的作者,钉钉的sonar集成通知,钉钉(dingding)的sonar(代码质量管理工具的)集成通知,非常简单的一个小工具。整合了下docker方式运行,分享给大家 ## docker项目部署 ``` docker镜像生成 # mvn docker:build docker run运行镜像 8901可以自行修改 # docker run -d -p 8901:8080 --name ${JOB_NAME} --restart=always -e "sonar.url=http://192.168.1.220:9000" -e JAVA_OPTS='-server -Xms256m -Xmx256m -XX:MaxMetaspaceSize=128m' dingding-sonar #检查部署成功?? sonar-project-id 为sonar的项目id example:com.yh.csx.crm:csx-b2b-crm curl http://localhost:8082/?projectname={sonar-project-id} ###返回:bug:11,漏洞:11,坏味道:456,覆盖率:0.0,重复:18.7,状态:ERROR ``` ## 钉钉集成 ``` #!/bin/bash #参考钉钉文档 https://open-doc.dingtalk.com/microapp/serverapi2/qf2nxq #${dingding_token} 钉钉群里拿到token #dingding-soanr.sh example:com.yh.csx.crm:csx-b2b-crm time3=$(date "+%Y-%m-%d %H:%M:%S") sonarreport=$(curl -s http://192.168.1.21:8901/?projectname=$1) curl -s "https://oapi.dingtalk.com/robot/send?access_token=${dingding_token}" \ -H "Content-Type: application/json" \ -d "{ \"msgtype\": \"markdown\", \"markdown\": { \"title\":\"sonar代码质量\", \"text\": \"## sonar代码质量报告: \n > [$1 项目报告地址](http://192.168.1.28:9000/dashboard?id=$1) \n > **${sonarreport}** \n \n> ![screenshot](https://demo.com/default/bugha.png )\n> ###### ($time3)检查 [去看看](http://192.168.1.28:9000/dashboard?id=$1) \n\" } }" ``` ![结果如图](https://images.gitee.com/uploads/images/2019/0513/112448_cff3fa4e_415678.png "屏幕截图.png") ## 飞书集成 ``` #!/bin/bash #参考http://www.360doc.cn/mip/888656295.html feishu_token="d3da3e71-b69a-42fa-b26e-d7d845d10ac2" sonar_project_id="com.yh.csx.wms:csx-b2b-wms" sonarreport=$(curl -s http://localhost:8082/?projectname=${sonar_project_id}) curl -s "https://open.feishu.cn/open-apis/bot/hook/${feishu_token}" \ -H "Content-Type: application/json" \ -d "{ \"title\":\"sonar代码质量\", \"text\": \"## sonar代码质量报告: \n > [sonar地址](http://10.252.200.87:9000/dashboard?id=${sonar_project_id}) \n > ${sonarreport} \n\" }" ``` ##### by 车江毅