【问题标题】:bitbucket webhook to jenkins with branch name带有分支名称的 jenkins 的 bitbucket webhook
【发布时间】:2018-04-11 05:13:39
【问题描述】:

我有一个发送 webhook 以触发 jenkins 作业的 bitbucket 存储库。

http://:8080/buildByToken/buildWithParameters?job=webhook_me&token=t 我想用 webhook 发送 bitbucket 分支名称, 所以我在网上搜索在位桶上使用环境变量的正确方法,我找到了这个网站:

所以我在最后用“&branch=$BITBUCKET_BRANCH”编辑了网址,但它不起作用。

我应该怎么做才能发送带有分支名称的 webhook?

********编辑********

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

但我不知道如何使用它并从 jenkins 中提取数据。

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

【问题讨论】:

    标签: api jenkins bitbucket webhooks


    【解决方案1】:

    $BITBUCKET_BRANCH 仅在 Jenkins 作业中可用。您只是将文本“$BITBUCKET_BRANCH”作为“分支”参数传递。您不能传递这样的环境变量。

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

    【讨论】:

    • 如果我错了,请纠正我,但您的“答案”中没有答案。这是我已经尝试做的事情,我正在寻找一种方法来传递分支名称。这就是我在我的问题中提出的问题。你知道如何将分支名称从 bitbucket 传递给 jenkins 吗?谢谢!
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      然后在作业中,您需要指定推送后将触发作业的分支并选中标记的复选框:

      然后在 bitbucket 上使用以下 URL 创建一个 webhook: http://:/bitbucket-hook/ 像这样:

      然后将一些东西推送到这个存储库和那个分支,然后就可以了! 如果您尝试推送到不同的分支,则不会触发该作业

      【讨论】:

      • 仅作记录,合并PR时也有效
      猜你喜欢
      • 2018-05-04
      • 1970-01-01
      • 2016-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多