How to integrate the groovy test runner with Bamboo or any CI server?

Is it possible somehow to run groovy tests using Bamboo or any CI server? At this moment I should go to JIRA and manually run Unit test runner. This is quite uncomfortable.

2 answers

1 accepted

2 votes

I'm going to briefly outline the process of what we do to run tests in Bamboo through ScriptRunner.

We run tests from Bamboo using a Gradle task by executing the unit test built-in script remotely using a REST call. One advantage of using Gradle is you can write your own code to do this.

You need to do a POST call to the following endpoint: 

<jira-base-url>/rest/scriptrunner/latest/canned/com.onresolve.scriptrunner.canned.common.admin.RunUnitTests

The payload should be JSON and look like the following:

{
	"scriptParams": {
		"content": {
            // What packages to scan for
			"FIELD_SCAN_PACKAGES": "com.some.test.package",
            // What tests/packages to run
			"FIELD_TEST": ["com.some.test.package"]
		}
	}
}

The challenge is running JIRA as part of your build. If you have a way of firing it up then great, if not we use the Cargo plugin as our web container and deploy the JIRA webapp there. You will need to wait till its started up before running the tests, we do this by polling the REST endpoint above until we get a 200 status code back to indicate the tests are running.

After that we use the JUnit Parser in Bamboo to record the test results. The test results can be found under a folder called:

<catalina.out>/surefire-reports 

catalina.out is a system property. You can get it by running the following in the script console:

System.getProperty("catalina.home")

I've probably missed some things, but thats an overview of how to get it running. Its not a trivial thing to do but this should give you some idea of how to approach the problem.

@Adam Markham [Adaptavist] thank you!  I had the same idea, but was hoping that there is exist a more easy approach.

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published Thursday in Jira

Mission-critical battery manufacturer fulfills FAA software requirements with Commit Policy Plugin

EaglePicher Technologies is a leading manufacturer of battery systems for diverse industries like defense, aviation, space or medical. As they operate in highly regulated industries, keeping a clear ...

168 views 0 2
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