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
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
I was wondering if it were possible to run a custom rebase as part of a scriptrunner pre/post hook.
An example of what I am trying to accomplish.
If there are 4 commits being pushed, I want to run a rebase so that the end product is a single commit that contains all changes and the revisions of the other 3 are deleted so that they no longer exist in git's history.
I already know the git command that I would have to run for the actual rebase itself. I just need to know if it's possible to make all pull requests go through that rebase before being merged. Either via scriptrunner or some other method. The rebase would have to be run at any point between the user pushing up their changes and the pull request for those changes being merged back into master.
Any and all help is appreciated!
Hi @Omar Morales ,
The ScriptRunner for Bitbucket team would advise against automating this functionality in a pre/post hook.
However, we do have a custom merge-check Script on our Library which can be used to enforce squashed commits before a Pull Request is allowed to be merged into the target branch.
This merge-check would then advise the user attempting the merge to squash their commits, which they would then need to do manually.
The custom merge-check can be found here: https://library.adaptavist.com/entity/enforce-squashed-commits
If however, you do still want to automate squashing on Pull Request merge, an alternative would be to use Bitbucket's built-in merge strategies, as documented here: https://confluence.atlassian.com/bitbucketserver/pull-request-merge-strategies-844499235.html
Using Bitbucket's merge strategies, you can select to have all commits squashed on merge.
Product Manager, ScriptRunner for Bitbucket