向JENKINS发送POST请求

时间:2014-07-22 09:36:19

标签: svn jenkins http-headers http-post

我有一个要求,我正在尝试在jenkins之上构建一个表示层。 从我的JSP中,我将获取SVN存储库,用户名和密码,并将向Jenkins发送关于正确URL的发布请求以验证它们。 它正在采取的网址是

http://160.110.143.38:8080/job/basicjob/descriptorByName/hudson.scm.SubversionSCM/postCredential

经过互联网搜索后,我没有找到任何答案。 。 。请建议我如何achevie相同。 或者你也可以建议一个解决方法......

提前致谢

2 个答案:

答案 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