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

Document "branchName" serialization compatibility between Bitbucket Server Integration 3.5.0 and 3.6.0

      Upgrading the Bitbucket Server Integration plugin from 3.5.0 to 3.6.0 caused the "Manage Old Data" page of Jenkins to show notices about "branchName" in several builds. This seems to have been caused by https://github.com/jenkinsci/atlassian-bitbucket-server-integration-plugin/pull/403 (for JENKINS-71289), which modified BitbucketRevisionAction.java to replace private final String branchName with private final String refName.

      Please document in the 3.6.0 release notes of the plugin:

      • That Jenkins will show "branchName" as old data.
      • Whether there will be problems if a Jenkins administrator downgrades the plugin back to 3.5.0 or lower, after some builds have been done with 3.6.0 or higher.

      Please also consider whether hpi.compatibleSinceVersion should be set as described in Mark a new plugin version as incompatible with older versions.

          [JENKINS-71770] Document "branchName" serialization compatibility between Bitbucket Server Integration 3.5.0 and 3.6.0

          Dyon added a comment -

          Hi there,

          I have investigated this issue, I will document the manage old data issue as part of the 3.6.0 release notes.

          As far as upgrading and then downgrading goes, i have found no issues with the actual builds and am able to run all jobs as normal. 
          For now i don't think we are going to mark this as incompatible, but would love some feedback from dkjellin and mhenschke_atlassian on this issue. 

          Dyon added a comment - Hi there, I have investigated this issue, I will document the manage old data issue as part of the 3.6.0 release notes. As far as upgrading and then downgrading goes, i have found no issues with the actual builds and am able to run all jobs as normal.  For now i don't think we are going to mark this as incompatible, but would love some feedback from dkjellin and mhenschke_atlassian on this issue. 

          I imagine there might be a problem if a Jenkins administrator upgrades or downgrades the plugin during a build: after the build finishes, BitbucketBuildStatusFactoryImpl would call either bbs.setRef(revisionAction.getBranchAsRefFormat()) in 3.5.0 or bbs.setRef(revisionAction.getRefName()) in 3.6.0, and this would not use the correct ref string because BitbucketRevisionAction would not have deserialized the field of the other version. Bitbucket Server might then not display the build on the correct pull request. However, because the key of the build status would be correct anyway, I think this mismatch would not cause Bitbucket Server to leave the build in the INPROGRESS state.

          Kalle Niemitalo added a comment - I imagine there might be a problem if a Jenkins administrator upgrades or downgrades the plugin during a build: after the build finishes, BitbucketBuildStatusFactoryImpl would call either bbs.setRef(revisionAction.getBranchAsRefFormat()) in 3.5.0 or bbs.setRef(revisionAction.getRefName()) in 3.6.0, and this would not use the correct ref string because BitbucketRevisionAction would not have deserialized the field of the other version. Bitbucket Server might then not display the build on the correct pull request. However, because the key of the build status would be correct anyway, I think this mismatch would not cause Bitbucket Server to leave the build in the INPROGRESS state.

            Unassigned Unassigned
            kon Kalle Niemitalo
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: