Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 从Bitbucket webhook到Jenkins_Git_Jenkins_Bitbucket_Webhooks - Fatal编程技术网

Git 从Bitbucket webhook到Jenkins

Git 从Bitbucket webhook到Jenkins,git,jenkins,bitbucket,webhooks,Git,Jenkins,Bitbucket,Webhooks,我想在每个提交到特定分支的基础上配置Jenkins build。我正在尝试将Bitbucket Webhook用于Jenkins,但它没有按照预期工作。要成功运行它,我需要在Jenkins作业中选择以下两个选项 1.将更改推送到BitBucket时生成 和2。轮询SCM(保留为空) 在webhook中,如下面的屏幕截图所示 当我取消勾选忽略分支名称时,会出现以下错误 当我提到要从预先配置构建到构建选项的分支名称时:如下所示 它在日志中给出以下错误,并且不会在Jenkins中触发任何构建 2

我想在每个提交到特定分支的基础上配置Jenkins build。我正在尝试将Bitbucket Webhook用于Jenkins,但它没有按照预期工作。要成功运行它,我需要在Jenkins作业中选择以下两个选项 1.将更改推送到BitBucket时生成 和2。轮询SCM(保留为空)

在webhook中,如下面的屏幕截图所示

当我取消勾选忽略分支名称时,会出现以下错误

当我提到要从预先配置构建到构建选项的分支名称时:如下所示

它在日志中给出以下错误,并且不会在Jenkins中触发任何构建

2017-07-28 19:18:49,382 ERROR [AtlassianEvent::thread-3] XXXXXXX @4NXRG4x1158x165x0 s2l8ua 10.229.17.70 "PUT /rest/api/latest/projects/STCPLAY/repos/mavensample/browse/pom.xml HTTP/1.1" c.a.s.i.e.AsyncBatchingInvokersTransformer There was an exception thrown trying to dispatch event 'com.atlassian.bitbucket.event.content.FileEditedEvent[source=com.atlassian.stash.internal.content.DefaultContentService@72ae21ba]' for the invoker 'SingleParameterMethodListenerInvoker{method=public void com.nerdwin15.stash.webhook.RepositoryChangeListener.onRefsChangedEvent(com.atlassian.bitbucket.event.repository.RepositoryRefsChangedEvent), listener=com.nerdwin15.stash.webhook.RepositoryChangeListener@356e810b}'
java.lang.RuntimeException: com.atlassian.bitbucket.repository.RefChange.getRefId()Ljava/lang/String;. Listener: com.nerdwin15.stash.webhook.RepositoryChangeListener event: com.atlassian.bitbucket.event.content.FileEditedEvent
    at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:55)
    at com.atlassian.stash.internal.event.AsyncBatchingInvokersTransformer$AsyncInvokerBatch.invoke(AsyncBatchingInvokersTransformer.java:109)
    at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1$1.run(AsynchronousAbleEventDispatcher.java:38)
    at com.atlassian.sal.core.executor.ThreadLocalDelegateRunnable.run(ThreadLocalDelegateRunnable.java:34)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    ... 1 frame trimmed
有人面对这个问题并解决了吗? 或
还有其他更好的方法可以触发特定分支上推送到bitbucket的提交上的构建。

有几点建议:

  • 您可能需要确保Jenkins作业上的分支规范(
    要构建的分支
    )与您在BitBucket插件配置中的
    分支选项
    中指定的分支相匹配
  • 据我所知,在这种情况下,将更改推送到BitBucket时的
    构建
    选项是不相关的

  • 您可以在此处找到更详细的说明-

    一些建议:

  • 您可能需要确保Jenkins作业上的分支规范(
    要构建的分支
    )与您在BitBucket插件配置中的
    分支选项
    中指定的分支相匹配
  • 据我所知,在这种情况下,将更改推送到BitBucket时的
    构建
    选项是不相关的

  • 您可以在此处找到更详细的说明-

    这是config.xml作业还是管道作业?解决方案因jenkins作业类型而异。您找到解决方案了吗?这是config.xml作业还是管道作业?根据jenkins的工作类型,解决方案有所不同。你找到解决方案了吗?这个答案假设OP使用的是jenkins一侧的Bitbucket插件。Bitbucket服务器Webhook To Jenkins插件允许您在Jenkins端使用Git插件或Bitbucket插件,因此它不会提供问题的完整答案。此答案假设OP使用Jenkins端的Bitbucket插件。Bitbucket服务器Webhook To Jenkins插件允许您在Jenkins端使用Git插件或Bitbucket插件,因此它不提供问题的完整答案。