业务场景:A/B/C/D/E......等等的任务是SonarQube Scanner执行静态代码扫描;他们的下游任务都是X,X任务是执行python代码,将A/B/C/D/E......等等的任务报告发送到钉钉群。
X任务中的python代码通过区别上游任务是谁,来判断获取哪份静态代码扫描报告,且发送到哪个钉钉群。
首先,建A/B/C/D/E......等等的任务时,任务名称需与SonarQube的项目名称一致;当A/B/C/D/E......等等的任务执行完成后,将A/B/C/D/E......等等的任务名称传递给X任务,X任务拿到名称后,通过名称去SonarQube获取静态代码扫描报告,并发送到对应的钉钉群。
Jenkins安装Parameterized Trigger plugin插件;
A/B/C/D/E......等等的任务增加【构建后操作】
X任务选择参数化构建,接收origin_job_name参数:
X任务执行python代码:
Python代码如下:
获取Jenkins参数 根据Jenkins任务名称获取sonar报告 解析报告 拼接消息内容,发送钉钉群 发送钉钉消息
网友评论