Dear
I've created a REST Endpoint in which I would like to use the canned CopyTree script.
@BaseScript CustomEndpointDelegate delegate
copyPageTree(
httpMethod: "POST", groups: ["jira-users", "confluence-users"]
) { MultivaluedMap queryParams, String body ->
def space = new JsonSlurper().parseText(body)
//User defaultUser = userAccessor.getUserByName("koen.gillard")
def copyPageTreeParams = [
source_page: "ABC:ABC+Home",
target_page: "DEF:DEF+Home"
]
def confluence = new HTTPBuilder(< url >)
confluence.client.addRequestInterceptor(new HttpRequestInterceptor() {
void process(HttpRequest httpRequest, HttpContext httpContext) {
httpRequest.addHeader('Authorization', 'Basic <...>')
}
})
confluence.request(POST, JSON) { req ->
uri.path = "/rest/scriptrunner/latest/canned/com.onresolve.scriptrunner.canned.common.admin.CopyTree"
send URLENC, [scriptParams: new JsonBuilder(copyPageTreeParams)]
response.success = { resp, xml ->
println "CopyTree response status: ${resp.statusLine}"
assert resp.statusLine.statusCode == 200
}
}
return Response.ok(new JsonBuilder([space: space]).toString()).build()
}
When I take a look at the log it states these warning and errors:
2016-08-08 15:05:37,835 ERROR [http-nio-8090-exec-17] [runner.rest.common.UserCustomScriptEndpoint] doEndpoint *************************************************************************************
-- url: /rest/scriptrunner/latest/custom/copyPageTree | traceId: 3d0de25e60a38050 | userName: koen.gillard | sr.execution.id: 3001bb7e-e8b4-4d0c-b02a-f8af2879d960
2016-08-08 15:05:37,837 ERROR [http-nio-8090-exec-17] [runner.rest.common.UserCustomScriptEndpoint] doEndpoint Script endpoint failed on method: POST copyPageTree
-- url: /rest/scriptrunner/latest/custom/copyPageTree | traceId: 3d0de25e60a38050 | userName: koen.gillard | sr.execution.id: 3001bb7e-e8b4-4d0c-b02a-f8af2879d960
java.lang.IllegalArgumentException: Text must not be null or empty
at Script586$_run_closure1.doCall(Script586.groovy:33)
at com.onresolve.scriptrunner.runner.rest.common.UserCustomScriptEndpoint.doEndpoint(UserCustomScriptEndpoint.groovy:304)
at com.onresolve.scriptrunner.runner.rest.common.UserCustomScriptEndpoint.postUserEndpoint(UserCustomScriptEndpoint.groovy:208)
2016-08-08 15:06:22,652 WARN [http-nio-8090-exec-10] [common.security.jersey.XsrfResourceFilter] passesAllXsrfChecks XSRF checks failed for request: https://confluencet.blogistics.be/rest/scriptrunner/latest/canned/com.onresolve.scriptrunner.canned.common.admin.CopyTree , origin: null , referrer: null
-- url: /rest/scriptrunner/latest/canned/com.onresolve.scriptrunner.canned.common.admin.CopyTree | traceId: 0e8783c4e0b4c430 | userName: koen.gillard
2016-08-08 15:06:22,662 ERROR [http-nio-8090-exec-1] [runner.rest.common.UserCustomScriptEndpoint] doEndpoint *************************************************************************************
-- url: /rest/scriptrunner/latest/custom/copyPageTree | traceId: 678498cee849dab8 | userName: koen.gillard | sr.execution.id: 41121a63-6e96-405b-b680-caeb8150c53e
2016-08-08 15:06:22,664 ERROR [http-nio-8090-exec-1] [runner.rest.common.UserCustomScriptEndpoint] doEndpoint Script endpoint failed on method: POST copyPageTree
-- url: /rest/scriptrunner/latest/custom/copyPageTree | traceId: 678498cee849dab8 | userName: koen.gillard | sr.execution.id: 41121a63-6e96-405b-b680-caeb8150c53e
groovyx.net.http.HttpResponseException: Forbidden
at groovyx.net.http.HTTPBuilder.defaultFailureHandler(HTTPBuilder.java:651)
at groovyx.net.http.HTTPBuilder$1.handleResponse(HTTPBuilder.java:503)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:222)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:164)
at groovyx.net.http.HTTPBuilder.doRequest(HTTPBuilder.java:515)
at groovyx.net.http.HTTPBuilder.doRequest(HTTPBuilder.java:434)
at groovyx.net.http.HTTPBuilder.request(HTTPBuilder.java:383)
at groovyx.net.http.HTTPBuilder$request.call(Unknown Source)
at Script586$_run_closure1.doCall(Script586.groovy:47)
at com.onresolve.scriptrunner.runner.rest.common.UserCustomScriptEndpoint.doEndpoint(UserCustomScriptEndpoint.groovy:304)
at com.onresolve.scriptrunner.runner.rest.common.UserCustomScriptEndpoint.postUserEndpoint(UserCustomScriptEndpoint.groovy:208)
Any suggestions on how to solve this?
I know the BASIC <infohere> is correct because I'm using this to call the Custom REST Endpoint.
Kind regards
Koen Gillard