Hey,
I have a script that calls an external web-service for a merge check bit I cannot get it to work as a conditional merge check
// This webhook is calling a REST API with the current PR id as a parameter
import groovy.json.JsonSlurper;
import groovy.json.JsonBuilder;
import groovy.json.StreamingJsonBuilder;
def get(String url) {
def connection = url.toURL().openConnection()
connection.setRequestMethod("GET")
connection.doOutput = false
def cont = connection.content.text
connection.connect()
return cont
}
def REST_URL="https://url-to-my-merge-check-web-service/merge/check/10418";
def response = new JsonSlurper().parseText(get(REST_URL));
def ret = (response.status == 'accept') ? true : false;
return ret
maybe I have misunderstood how this feature work.
The web-service will take the PR id as argument and then do lots of checks and then return accept or block in the returned JSON.
I get this to work in the Script Console but when I paste it into a conditional merge check I get errors like:
<pre>org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Script45.groovy: 20: [Static type checking] - You tried to call a method which is not allowed: Script45#get(java.lang.String) @ line 20, column 17. def json_resp = get(REST_URL); ^ Script45.groovy: 21: [Static type checking] - You tried to call a method which is not allowed: groovy.json.JsonSlurper#<init>() @ line 21, column 19. def jsonSlurper = new JsonSlurper(); ^ Script45.groovy: 22: [Static type checking] - Cannot find matching method groovy.json.JsonSlurper#parseText(java.lang.Object). Please check if the declared type is right and if the method exists
Any ideas why this is not working in the conditional merge check?
Thnx in advance!
Cheers,
// Svante