Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Unable to resolve a class com.atlassian.bitbucket.build.BuildStatusService

Edited

Hi,

I'm trying to implement, ability to merge to develop only when a source branch on pull request got 6 successful builds. The below script doesn't throw any error when I run it through global script merge check. However, on the pull request it does not allow me to merge and shows that I need 6 successful builds even though I got 6 successful builds on the source branch. When I tried the below script on the repo level script merge check, it is  throwing the below error. 

<pre>org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Script484.groovy: 1: unable to resolve class com.atlassian.bitbucket.build.BuildStatusService @ line 1, column 1. import com.atlassian.bitbucket.build.BuildStatusService ^ 1 error </pre>

 

Did anyone face the similar issue? If yes, please point me in the right direction.

Below is the script I'm using.

 

import com.atlassian.bitbucket.build.BuildStatusService
import com.onresolve.scriptrunner.runner.ScriptRunnerImpl
import com.onresolve.scriptrunner.runner.customisers.WithPlugin
import com.atlassian.bitbucket.auth.AuthenticationContext
import com.atlassian.bitbucket.scm.pull.MergeRequest
import com.atlassian.sal.api.component.ComponentLocator

@WithPlugin("com.atlassian.bitbucket.server.bitbucket-build")

def buildStatusService = ScriptRunnerImpl.getOsgiService(BuildStatusService)
def authenticationContext = ComponentLocator.getComponent(AuthenticationContext)

def mergeRequest = mergeRequest as MergeRequest
def pullRequest = mergeRequest.getPullRequest()
def summaries = buildStatusService.getSummaries(pullRequest.getCommits()*.id)

summaries.values().each {
log.debug("Successes:" + it.successfulCount)
}

def successfulBuild = summaries.values().find { it.successfulCount == 6 }

if ( !successfulBuild ) {
mergeRequest.veto("Unable to merge this pull reuquest", "You need 6 successful builds to merge to develop. Please contact")
}

 

 

 

 

 

1 answer

Hi Mani,

 

Did you solved this problem?

Hi @Alberto Gonzalez Tajuelo  The above script worked for me after upgrading the Script runner to latest version.

 

Thanks,
Mani

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Confluence Cloud

🎨 Add some visual life to your templates

Hi Atlassian Community, My name is Avni Barman, and I am a Product Manager on the Confluence Cloud team. Based on feedback from you, we are giving admins more power to create templates that a...

244 views 4 9
Read article

Community Events

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

Find an event

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

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you