0

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

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)));

知道怎么做吗?我已按照这些说明发送 JSON,它在 curl 中运行良好,但在 Java Resty 中却没有。

4

1 回答 1

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\"}],\"\":\"\"}"))));

它开始工作正常。

于 2013-03-06T14:36:21.703 回答