bitbucket webhook到jenkins,分支名称为

时间:2017-10-30 09:18:24

标签: api jenkins bitbucket webhooks

我有一个bitbucket repo,发送webhook来触发jenkins工作。 bitbucket webhook

的http://:8080 / buildByToken / buildWithParameters作业= webhook_me&安培;标记=吨 我想用webhook发送bitbucket分支名称, 所以我在网上搜索在比特桶上使用环境变量的正确方法,我发现这个网站: The way to use the variable, and the variable i need

所以我用"& branch = $ BITBUCKET_BRANCH"编辑了网址。最后,但它不会起作用。 The Jenkins job that was triggered and the attempt to echo the branch name

任何想法,我应该怎么做才能发送带有分支名称的webhook?

******* ******* EDIT

我看到有一种叫做Bitbucket事件的有效载荷。 这是一个json,其中包含有关webhook的所有详细信息: https://confluence.atlassian.com/bitbucket/event-payloads-740262817.html

但我无法找到如何使用它并从jenkins中提取数据的方法。

我认为,这是解决这个问题的方法,但我不知道如何使用它。

3 个答案:

答案 0 :(得分:1)

我找到了办法,它对我有用。 你需要使用bitbucket插件:Bitbucket Plugin

然后在作业内部,您需要指定在推送后将触发作业的分支并检查标记的复选框: enter image description here

然后在bitbucket上创建一个带有以下URL的webhook: http://:/bitbucket-hook/同样如此: enter image description here

然后把东西推到这个存储库和那个分支,然后你去! 如果你试图推动到另一个分支,这项工作将不会被触犯

答案 1 :(得分:0)

$ BITBUCKET_BRANCH仅在Jenkins工作中可用。你只是简单地将文本" $ BITBUCKET_BRANCH作为"分支"参数。你不能传递这样的环境变量。

$ BITBUCKET_BRANCH可能只是在作业中可用,具体取决于Jenkins的版本和您正在使用的作业类型。在管道工作中,这很容易访问(如果你有正确版本的东西)。除非你试图给它一些其他分支,否则你不需要传递它。在这种情况下,您需要查看是否可以在bitbucket端获取分支以传递给Jenkins。

答案 2 :(得分:0)

您是否尝试使用类似jenkins的变量$ {BITBUCKET_BRANCH}而不是$ BITBUCKET_BRANCH,这是更像shell的变量?