我有一个要求,我正在尝试在jenkins之上构建一个表示层。 从我的JSP中,我将获取SVN存储库,用户名和密码,并将向Jenkins发送关于正确URL的发布请求以验证它们。 它正在采取的网址是
http://160.110.143.38:8080/job/basicjob/descriptorByName/hudson.scm.SubversionSCM/postCredential
经过互联网搜索后,我没有找到任何答案。 。 。请建议我如何achevie相同。 或者你也可以建议一个解决方法......
提前致谢
答案 0 :(得分:0)
正如Jenkins作业REST API帮助页面所述,您可以使用curl发布某些内容。如果您还没有完成,请查看下面的页面。
http://160.110.143.38:8080/job/basicjob/api/
这是一个基本的构建触发示例。这可能不是您正在寻找的确切答案,但它至少显示了如何使用POST触发构建。
curl -X POST http://http://160.110.143.38:8080/job/basicjob/buildWithParameters?PARAM1=${PARAM1}&PARAM2=${PARAM2}
答案 1 :(得分:0)
public boolean constructCredentialStore(String jobName, String password,
String userName, String url) throws IOException, JAXBException,
ClientProtocolException, ParseException {
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://150.110.35.38:8080/job/"
+ jobName
+ "/descriptorByName/hudson.scm.SubversionSCM/postCredential");
MultipartEntity reqEntity = new MultipartEntity(
HttpMultipartMode.BROWSER_COMPATIBLE);
reqEntity.addPart("url", new StringBody(url.toString()));
reqEntity.addPart("kind", new StringBody("password"));
reqEntity.addPart("username1", new StringBody(userName.toString()));
reqEntity.addPart("password1", new StringBody(password.toString()));
reqEntity.addPart("Submit", new StringBody("OK"));
httppost.setEntity(reqEntity);
System.out.println("executing request " + httppost.getRequestLine());
HttpResponse response = httpclient.execute(httppost);
HttpEntity resEntity = response.getEntity();
if (resEntity != null) {
String page = EntityUtils.toString(resEntity);
System.out.println("PAGE :" + page);
return true;
}
else return false;
}
使用了包含多部分数据的POST请求。 。只检查SVN用户名,密码和URL