Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

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

Dirlau Andrei
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
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 Champion
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