ScriptRunner flags changes in folder that didn't change

We use a script to add a special layer of review when a change directly affects the databases:

pathsMatch('glob:db/*/*') || pathsMatch('glob:**/migrations/**')

This script is used as part of an event handler "Auto add reviewers to pull requests" and a "Custom merge check."

The problem we are encountering is that it will flag the special review even if there are no changes in those folders on the "Diff" tab of the pull request.  Here are the steps to duplicate the issue:

  1. Create a branch from master (db-changes)
  2. Create a second branch from master (no-db-changes)
  3. Make changes on both branches (make sure to change a file in the watched path ONLY on the db-changes branch).
  4. Make a pull request and merge the db-changes branch (note: it will prompt for the additional reviewers).
  5. Since master has updated, merge master into the no-db-changes branch to keep it up to date.
  6. Make a pull request for no-db-changes. (Note: It will flag for the additional reviewers but on the "Diff" tab, there will be no DB change indicated.)

I hope there there is another way to detect changes in those paths; I just can't figure out how.

1 answer

1 accepted

1 votes

Hi... pathsMatch when used in the context of a pull request, will look at the changes that will be delivered as part of that pull request, similar to if you do:

git log --name-status ..pull-request-branch

You should see the watched files on the log of the no-db-changes branch.

The problem is happening in step 5. If you rebase the no-db-changes branch on to master, the changes will not include the watched files, eg git rebase master, when on the pr branch.

Perhaps there should be an additional function like pathsMatch that only considers the diff, however in many cases you want to prevent files getting in to your repo, even if there was a delete of the file after adding.

Suggest an answer

Log in or Join to answer
Community showcase
Piotr Plewa
Published Dec 27, 2017 in Bitbucket

Recipe: Deploying AWS Lambda functions with Bitbucket Pipelines

Bitbucket Pipelines helps me manage and automate a number of serverless deployments to AWS Lambda and this is how I do it. I'm building Node.js Lambda functions using node-lambda&nbsp...

689 views 0 4
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot