2013-03-06 39 views
0

我想从我的Java程序中使用Resty框架执行Jenkins构建(使用Resty不是必需的,只是看起来像最简单的方法)。它适用于没有参数的作业,包括身份验证,但是我尝试使用参数执行构建,但我得到了Jenkins服务器返回的(非描述性)错误500。使用Java程序执行参数

URI jenkinsURI = new URI("https://"+jenkinsServer+"/job/bowling%20Q%20build/build?token="+jenkinsToken); 
String b = URLEncoder.encode("json={\"parameter\": [{\"name\": \"git_tag\", \"value\": \"v1\"}],\"\":\"\"", "UTF-8"); 
System.out.println("My Results: "+r.text(jenkinsURI, Resty.content(b))); 

任何想法如何做到这一点?我已经按照these instructions发送JSON,它从curl工作正常,但不从Java Resty。

回答

0

问题是我没有/不能使用URLEncoder。一旦我将Resty.content更改为

System.out.println("My Results: "+r.text(jenkinsURI, Resty.form(Resty.data("json", "{\"parameter\": [{\"name\": \"git_tag\", \"value\": \"1.0.4\"}],\"\":\"\"}")))); 

它开始正常工作。