将参数从bitbucket web hook传递给jenkins

时间:2018-04-04 13:48:58

标签: git jenkins bitbucket hook bitbucket-server

我面临的问题如下:

  • 我想从BitBucket(推送)触发Jenkins设置的作业
  • 我想跳过它并传递参数
  • 没有params的触发工作正在运行,但是一旦我添加了params,就没有触发任何内容而且我也没有得到任何日志。

这是我在Jenkins上的网址(正在运作)

http://someJenkinsInstance/bitbucket-hook/

这是我想要使用的网址(至少使用参数)

http://someJenkinsInstance/bitbucket-hook/buildWithParameters?BRANCH=master&ENVIRONMENT=dev

在Jenkins方面,我使用了插件" Bitbucket hook"并且在BitBucket插件中是"发布网络钩子"。

注意:我使用的是Bitbucket服务器而非云版本。

1 个答案:

答案 0 :(得分:0)

在 web hook 中添加参数很容易。在这里,我正在考虑一个通用的网络钩子

https://[COMPANY_NAME].com/generic-webhook-trigger/invoke?token=[TOKEN_NAME]&name=testing&type=pool_request

要获得名称类型的结果,您需要设置管道作业并选择通用网络钩子触发器,然后选择请求参数并输入名称 另一个是类型 截屏 enter image description here

现在您只需要创建一个 bash 脚本或 Jenkins/groovy,让我们考虑 Jenkins groovy 文件并粘贴以下内容并尝试触发您的网络钩子。

node()
{
    print "name = ${name}"
    print "Type ${type}"
}

类似的,你可以为参数化作业创建一个参数化的网络钩子

JENKINS_URL/job/ParameterizedJobName/buildWithParameters?token=TOKEN_NAME&name=testing&type=testing

以及以下工作参数 enter image description here

然后选择Execute shell并编写如下代码

echo $name $type

通用网络挂钩作业(非参数化作业)的示例:- https://www.svastikkka.com/2021/01/how-to-pass-parameter-in-webhook.html