我想使用HttpPost
请求调用 Hudson Rest api 来复制作业。以下是我写的代码:
public void copy(String hudsonBaseURL, String originJobName, String newJobName) throws Exception {
HttpPost post = new HttpPost(hudsonBaseURL + "/createItem");
List<NameValuePair> urlParameters = new ArrayList<NameValuePair>();
urlParameters.add(new BasicNameValuePair("name", newJobName));
urlParameters.add(new BasicNameValuePair("mode", "copy"));
urlParameters.add(new BasicNameValuePair("from", originJobName));
post.setHeader("Content-type", "text/plain");
post.setEntity(new UrlEncodedFormEntity(urlParameters));
System.out.println(post.getEntity().getContent());
try {
HttpResponse response = httpClient.execute(post);
System.out.println("Response Code : " + response.getStatusLine().getStatusCode());
} finally {
post.releaseConnection();
}
}
但上面的代码返回 404 错误代码并说它无法找到参数。
我使用此链接:http ://blog.zenika.com/index.php?post/2009/02/22/Remote-access-API-et-Hudson来编写我的代码,但唯一的区别是,我使用的是HttpPost
而不是Post
这是一个旧的api。
这里有什么想法吗?
编辑:
阻止内容类型行并开始工作,但不知道为什么
post.setHeader("Content-type", "text/plain");