Add defaultreviewers to PR if particular change in a specific json file usinh hook

Dirlau Andrei September 25, 2020

Hello, I'm trying to add default reviewers to a PR opened just if a field in a json is modified.

Until now i figured out just the first condition: to add defaultreviewers if a change is made in that particular file. But i will also need to somehow parse that .json diff and check if that particular field was changed. 

My code in repository events:

 

import com.atlassian.bitbucket.hook.HookResponse
import com.atlassian.bitbucket.repository.RefChange
import com.atlassian.bitbucket.repository.Repository

 

def pullRequest = event.pullRequest

if(pullRequest.pathsMatch("glob:myfile.json", pullRequest.getCommits())){
       return true
}else{
       return false
}

 

the json format:

{
"repositoryName": "",
"family": "none",
"developmentBranch": "master",
"emailingList": "",
"defaultReviewersForPR": "userEmail",
"nrReviewersMustApprovePR": "1",
"buildSteps": {
      "rpm": {},
      "docker": {
             "publish": true,
             "gate": true
         },
       "helm": {
             "publish": true
        },
       "sonar": {
             "minCoverage": "0"
        }
},

 

I will need to add default reviewers only if the "gate" field is changed.

 

Is there a way to do this?

 

Thanks

1 answer

0 votes
Robert Giddings [Adaptavist]
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
January 19, 2022

Hi @Dirlau Andrei ,

Thank you for your post.

We have published a Script to our Adaptavist Library that shows an example of blocking commits based on file content.

The Script can be found here: https://library.adaptavist.com/entity/block-commits-for-files-containing-content-that-doesnt-match-regex

Please let me know if this example helps you with what you are trying to achieve. It should be possible to edit the example to meet your needs.

Kind regards,

Robert Giddings,

Product Manager,

ScriptRunner for Bitbucket

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events