Jenkins各个任务间的参数传递
2021-06-01 本文已影响0人
安静的冰棒
业务场景: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......等等的任务增加【构建后操作】
![](https://img.haomeiwen.com/i11483058/e021cd5a0d97a840.png)
X任务选择参数化构建,接收origin_job_name参数:
![](https://img.haomeiwen.com/i11483058/087ba53c8f6e46ba.png)
X任务执行python代码:
![](https://img.haomeiwen.com/i11483058/8cf7139203eff2b2.png)
Python代码如下:
![](https://img.haomeiwen.com/i11483058/34007f2e7549703e.png)
![](https://img.haomeiwen.com/i11483058/677df0d0ce72b393.png)
![](https://img.haomeiwen.com/i11483058/8ff1407feb239742.png)
![](https://img.haomeiwen.com/i11483058/3d4018a984ee4fee.png)
![](https://img.haomeiwen.com/i11483058/f9c7a2761f49e3b9.png)