Uploaded image for project: 'Jira Software Cloud'
  1. Jira Software Cloud
  2. JSWCLOUD-13937

the "no unreviewed changesets" condition blocks transition when there is a unreviewable merge commit that contains JIRA issue id

    XMLWordPrintable

Details

    Description

      I am using the "no unreviewed changesets" and "no Open Crucible reviews" transition conditions to prevent tickets from being closed if commits have not been reviewed in Crucible. This works really well until there is a merge commit that has a commit message containing the JIRA issue id. This commit will show up on the issue page because the merge commit message contains the JIRA issue id. This is expected, however, this merge commit will block the ticket from being closed because the "no unreviewed changesets" wants it to be reviewed but Crucible does not support reviewing merge commits (see FE-4004).

      So, there is a chicken before the egg type problem.... "no unreviewed changesets" wants the commit to be reviewed but this isn't possible because there is no way to review it.

      At least, this is what I think is happening.

      To Reproduce

      Reproduce steps are a little complicated because it requires a lot of configuration, but it will look something like:

      1. Setup Fisheye and JIRA
      2. Configure a JIRA workflow transaction to require "no unreviewed changesets"
        It will look something like
      3. Commit some code to an JIRA issue. Include at least one merge commit.
        • Make sure there is a merge commit message that contains the JIRA issue id.
      4. Review the non-merge commit. See commit list screenshot... the non-merge commit has a closed code review, but the non-merge commit does not
      5. Try to transition the issue...

      Expected Behavior: Can successfully transition issue
      Actual Behavior: The transition button does not appear. Presumably because the merge commit has not been reviewed.

      This is becoming a problem for us when we create feature branches in Stash, and then try to use Crucible to review the changes. All Stash created branches have the JIRA issue id contained in the branch name by default, which is interfering with the "no unreviewed changesets" condition.

      There are 2 workarounds:

      1. Make sure branch names don't contain JIRA issue ids. This is sub-optimal because it breaks the new JIRA 6.2 stash branch list support
      2. Or, disable the "no unreviewed changesets" condition. (at the risk of missing commits that need to be reviewed)

      Attachments

        1. Commits.png
          Commits.png
          41 kB
        2. Transitions.png
          Transitions.png
          45 kB

        Issue Links

          Activity

            People

              Unassigned Unassigned
              44fe0a0b93c0 Sean Ford
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: