Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-40456

First time builds are not reporting to Bitbucket

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      I'm using this plugin with a Multibranch Pipeline for reporting the status of a build to Bitbucket. The issue I'm seeing is that the first time a branch is built, the status is not being sent. I can see in the log that it does call the plugin, but the log that says that posting the status succeeded does not show up. Each time a build is run after the first run works as expected.

        Attachments

        1. screenshot-1.png
          10 kB
          Ryan Feather
        2. screenshot-2.png
          20 kB
          Ryan Feather

          Activity

          Hide
          gaieges Evin Callahan added a comment -

          Christoph Schwarz if it helps at all, we moved over to the Bitbucket source branch plugin, and it does the start / finish / failure notifications without even having to think about it (including solving this issue).

          https://wiki.jenkins.io/display/JENKINS/Bitbucket+Branch+Source+Plugin

          Show
          gaieges Evin Callahan added a comment - Christoph Schwarz if it helps at all, we moved over to the Bitbucket source branch plugin, and it does the start / finish / failure notifications without even having to think about it (including solving this issue). https://wiki.jenkins.io/display/JENKINS/Bitbucket+Branch+Source+Plugin
          Hide
          030 030 030 added a comment -

          Any update on this issue? Is there anything I can do in order to help?

          Show
          030 030 030 added a comment - Any update on this issue? Is there anything I can do in order to help?
          Hide
          030 030 030 added a comment -
          Show
          030 030 030 added a comment - I created another plugin, see https://github.com/030/golang-bitbucket-cloud-build-status-notifier
          Hide
          joesolly Joseph Solomon added a comment -

          Why do we need to fetch previous build scm values here https://github.com/jenkinsci/bitbucket-build-status-notifier-plugin/blob/df373d0ae3ac32a5337c1c002505dee0c85ff5b0/src/main/java/org/jenkinsci/plugins/bitbucket/BitbucketBuildStatusHelper.java#L142?

          Couldn't we replace this line with 

          Map<String,SCM> scm_map = new LinkedHashMap<>();
          for (WorkflowRun.SCMCheckout co : build.checkouts(null)) {
              scm_map.put(co.scm.getKey(), co.scm);
          }
          Collection<? extends SCM> scms = scm_map.values()
          
          Show
          joesolly Joseph Solomon added a comment - Why do we need to fetch previous build scm values here https://github.com/jenkinsci/bitbucket-build-status-notifier-plugin/blob/df373d0ae3ac32a5337c1c002505dee0c85ff5b0/src/main/java/org/jenkinsci/plugins/bitbucket/BitbucketBuildStatusHelper.java#L142 ? Couldn't we replace this line with  Map< String ,SCM> scm_map = new LinkedHashMap<>(); for (WorkflowRun.SCMCheckout co : build.checkouts( null )) { scm_map.put(co.scm.getKey(), co.scm); } Collection<? extends SCM> scms = scm_map.values()
          Hide
          kevstev01 Kevin Stevens added a comment -

          I copied the workaround to fail on first build to get around this bug, but changed the status to NOT_BUILT and added a re-trigger of the build by adding the following stage

          stage('conditional abort first build') {
              when {
                  expression { "${env.BUILD_NUMBER}" == "1" }
              }
              steps {
                  echo "Aborting first build to workaround bitbucketStatusNotify issue"
                  /* re-trigger this build job */
                  build job: "${env.JOB_NAME}", wait: false
                  script {
                      currentBuild.result = 'NOT_BUILT'
                      return
                  }
              }
          }
              
          
          Show
          kevstev01 Kevin Stevens added a comment - I copied the workaround to fail on first build to get around this bug, but changed the status to NOT_BUILT and added a re-trigger of the build by adding the following stage stage( 'conditional abort first build' ) { when { expression { "${env.BUILD_NUMBER}" == "1" } } steps { echo "Aborting first build to workaround bitbucketStatusNotify issue" /* re-trigger this build job */ build job: "${env.JOB_NAME}" , wait: false script { currentBuild.result = 'NOT_BUILT' return } } }

            People

            Assignee:
            flagbit Antonio Mansilla
            Reporter:
            ethanfrogers Ethan Rogers
            Votes:
            8 Vote for this issue
            Watchers:
            20 Start watching this issue

              Dates

              Created:
              Updated: