如何使用bitbucket服务器钩子调用jenkins的参数?

时间:2017-03-17 09:42:35

标签: git jenkins bitbucket webhooks

Bitbucket服务器(存储)webhook插件(https://github.com/Nerdwin15/stash-jenkins-postreceive-webhook/blob/master/src/main/java/com/nerdwin15/stash/webhook/Notifier.java)通过Web钩子触发jenkins作业,并在调用中使用特定的提交。现在jenkins作业被触发,但只轮询repo,而我希望构建在该调用中发送的特定提交sha1。如何从jenkins收到的调用中获取提交sha1字符串?

我要问的是jenkins作业和管道,例如你并行进行10次提交往往会将提交堆叠到一个构建中,这是我想要避免的。

env.GIT_COMMIT只能在作业中的git scm轮询之后才能工作,这不是我在这里寻找的东西。我主要使用jenkinsfiles和jenkins管道 为了简单起见,我想将bit1bucket webhook中的sha1值传递给我的管道。例如

node {
   checkout([$class: 'GitSCM', branches: [[name: MY_DESIRED_SHA1]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: []])

1 个答案:

答案 0 :(得分:0)

看来你正在使用管道脚本,我无法通过这种方式获取提交通知以触发工作,这似乎是git插件工作方式的限制。经过测试

Jenkins (2.19.1)
Git Plugin(3.0.0)

我不得不改变使用buildwithParameter webhook触发作业的方式。这不适用于Bitbucket server(stash) webhook plugin

然后我使用了以下bitbucket服务器插件 Pull Request Notifier for bitbucket

配置了拉取请求构建,但是一旦创建了拉取请求,它就可以在更改时构建。

有关如何实现此目标的全面说明here