如何使Jenkins在git中寻找拉取请求,而不是git在jenkins中触发工作?

时间:2019-04-25 15:47:38

标签: jenkins jenkins-pipeline bitbucket jenkins-plugins bitbucket-cloud

我正在寻找一种解决方案,实际上是詹金斯(Jenkins)在git中查找拉取请求并触发作业并报告结果。

通常是git hook触发Jenkins中的作业。但是由于采用了新的程序,所以我采用了另一种方法。

应该由詹金斯(Jenkins)完成所有工作,从检查git上的任何拉取请求到触发自身并将结果发送到git。

2 个答案:

答案 0 :(得分:0)

这将是很多工作逻辑。我不推荐tbh。

您将使用管道cron触发器设置作业的常规执行。

pipelineTriggers([cron('''* 1 * * *''')]),

然后,您需要检查bitbucket / github并确定是否有任何新更改,然后确定是否采取行动。

这将有很多逻辑,我会通过webhook路径保留在git> jenkins上,并在jenkins文件中设置有关操作的条件。

答案 1 :(得分:0)

您是否尝试过轮询SCM选项?它是核心的一部分,位于用户界面的“构建触发器”部分。

代替:

triggers {
    cron('@hourly')
}

使用:

triggers {
    scm('@hourly')
}

如果Jenkins检测到与先前相同的提交,它将再次休眠。