2017-03-17 55 views
-1

Bitbucket服务器(存储)webhook插件(https://github.com/Nerdwin15/stash-jenkins-postreceive-webhook/blob/master/src/main/java/com/nerdwin15/stash/webhook/Notifier.java)通过Web钩子触发jenkins作业,并在调用中进行特定的提交。现在詹金斯的工作被触发,但只调查回购,而我想要建立在该调用中发送的特定提交sha1。如何从jenkins收到的调用中获取提交sha1字符串?如何使用bitbucket服务器钩子调用参数给jenkins?

我问的原因是jenkins作业和管道时,例如,你做了10个提交并行往往堆叠提交到一个构建这是我想在这里避免。

env.GIT_COMMIT只在git scm轮询之后才能工作,这不是我在这里寻找的东西。我主要使用jenkinsfiles和jenkins管道 简单来说,我想从bitbucket webhook传入sha1值到我的管道中。例如

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

回答

0

您似乎在使用管道剧本,我无法得到的承诺通知触发这个工作这种方式,这似乎是的git的插件是如何工作的限制。测试

Jenkins (2.19.1) 
Git Plugin(3.0.0) 

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

然后我用下面的到位桶服务器插件 Pull Request Notifier for bitbucket

配置为拉动请求建筑物,但一旦创建pull请求它可以建立在变化。

我是如何做到这一点,请here

+0

你认为怎么样使用的.git /挂钩触发参数化的构建/管道的全面描述/后收到卷曲的http:// yourserver /詹金斯/混帐/ notifyCommit? url = <使用sha1参数的Git仓库的URL>? – koller23

+0

@ koller23 git插件将查找从commitnotify的url中克隆的作业,仅适用于使用git插件和轮询配置的作业,管道作业不如我所知的配置方式。 – JamesD