如何在Jenkins Blue Ocean阶段为Github状态检查指定自定义网址?

时间:2018-07-23 13:14:35

标签: jenkins github jenkins-pipeline jenkins-blueocean

在Jenkinsfile中运行舞台时,我希望能够更改报告回Github的URL。默认情况下,它似乎是Jenkins中构建的URL,但是我想在该URL后面附加一些内容,例如/aSpecificReport.html

我可以使用githubNotfiy插件来做到这一点,

githubNotify context: 'Lint',
             status: 'FAILURE',
             description: 'ESLint found errors',
             targetUrl: env.BUILD_URL + '/aSpecificReport.html'

但是有一种方法可以在不使用githubNotifiy插件的情况下针对特定步骤执行此操作吗?

作为参考,这是我指的“状态检查链接”:

this is the "status check link"

1 个答案:

答案 0 :(得分:0)

我对相同的效果很感兴趣,并且似乎在管道运行之前阶段ID是不可预测的(https://stackoverflow.com/a/33402876/6943587),因为我认为它们取决于阶段配置,阶段计数,并行化,嵌套等等。但是,我注意到在相同或几乎相同的管道运行之间,阶段的ID是一致的。

例如,如果您创建触发管道运行的PR(#22)。然后,您将新的提交推送到该分支,从而触发另一个管道运行。如果这两个管道之间的管道流相似(如果不相同)(即它们都触发/跳过了相同的阶段),则这两个管道之间的阶段ID将是相同的。然后,每个阶段的网址之间唯一的区别就是BUILD_ID

因此,两个BUILD_ID的第一阶段和第二阶段的网址都是...

BUILD_ID = 1

# Stage 1
https://<jenkins-host>.com/blue/organizations/jenkins/<repo>/detail/PR-22/1/pipeline/15`

# Stage 2
https://<jenkins-host>.com/blue/organizations/jenkins/<repo>/detail/PR-22/1/pipeline/45

BUILD_ID = 2

# Stage 1
https://<jenkins-host>.com/blue/organizations/jenkins/<repo>/detail/PR-22/2/pipeline/15`

# Stage 2
https://<jenkins-host>.com/blue/organizations/jenkins/<repo>/detail/PR-22/2/pipeline/45

当然,这不是理想的选择,因为它将需要验证和更新阶段ID以对管道进行重大更改,并且不适用于高度可变的管道流量。但这对我有用,以为我愿意分享。