You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
Next: Root
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
Hello,
We have a large, monolithic code base hosted in a BitBucket repository, and a single Jira project we use to manage the workflows (We have Atlassian's Data Center edition products). With our integration, we implement a single branch per Jira issue process. On the BitBucket side, we employ a squashed --no-ff merge type when integrating. This allows is to see a linear commit history in the commit log of our main integration branch. This also necessitates that all feature/bugfix/defect branches "refresh" from our integration branch prior to merging (so, refreshing ends up occurring often). The problem for us is that now we are seeing Jira issues which have been closed, following a successful merge to develop, now show open pull requests in the development panel, and additional branches, which came from other issues, associated with them. Further complicating the problem, it seems that Jira will only show an open pull request, linked to a ticket, even if the branch for the pull request is not named by the Jira issue ID; therefore, any JQL query looking for issues with merged development panel statuses now show open PRs, even though the branch has been merged. This is a broken, and not thoroughly considered solution from my perspective, which is causing massive issues when creating Jira filter queries based on pr status (especially bad when releasing). I'm sure other organizations must be seeing this, unless they are deleting their branches upon merging (which we will not do). Here's the main problem with this design: By default, Jira branch names include the issue key, and by default the BitBucket pull request commit message includes the branch name. So, we have Jira issues with branches, and pull requests created from them, then merged and closed, now showing up on other unrelated Jira issues, because any branch off of develop which "refreshes" from the main integration branch (develop), will then pick up those merge commits which contain the Jira Issue ID/branch name, causing a closed ticket in Jira to show open pull requests, and additional branches associated with it, even if that isn't the case. I'm thinking the most complicated manner to fix this issue is to require either a rebase when "refreshing" from develop (rebasing, though sometimes a very useful strategy, is absurdly complex when you have a monolithic codebase of over 8 million LOC, and over 200+ developers). I wish instead that the default bitbucket branch commit history, which I'm assuming is what is being implemented by the REST caller from Jira to BitBucket, instead used a default --first-parent, or even a git log HEAD ^develop type of filter so as not to include all the commits which have occurred on the integration branch. Another possible way to address it would be to tokenize the Jira issue when querying BitBucket, creating a key/value pair which can't be broken by simple branch naming conventions. Also, if there is some configuration setting to avoid this, I would love to know it. Please help, or at the very least, consider this a defect, and fix it. :-) Thank you!