diff --git a/jenkins-client/src/main/java/com/offbytwo/jenkins/client/JenkinsHttpClient.java b/jenkins-client/src/main/java/com/offbytwo/jenkins/client/JenkinsHttpClient.java index 4eadc5c9..983d49e4 100755 --- a/jenkins-client/src/main/java/com/offbytwo/jenkins/client/JenkinsHttpClient.java +++ b/jenkins-client/src/main/java/com/offbytwo/jenkins/client/JenkinsHttpClient.java @@ -35,6 +35,7 @@ import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.message.BasicHeader; +import org.apache.http.message.BasicNameValuePair; import org.apache.http.protocol.BasicHttpContext; import org.apache.http.protocol.HttpContext; import org.apache.http.util.EntityUtils; @@ -46,9 +47,11 @@ import java.io.InputStream; import java.net.URI; import java.nio.ByteBuffer; +import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES; import com.offbytwo.jenkins.client.util.ResponseUtils; @@ -229,11 +232,12 @@ public R post(String path, D data, Class cls, Map params = (Map)data; + List nvpList = params.entrySet().stream().map(entry -> new BasicNameValuePair(entry.getKey(), entry.getValue())).collect(Collectors.toList()); + request.setEntity(new UrlEncodedFormEntity(nvpList, Charset.forName("UTF-8"))); } + // Prepare file parameters if(fileParams != null && !(fileParams.isEmpty())) { MultipartEntityBuilder builder = MultipartEntityBuilder.create(); diff --git a/jenkins-client/src/main/java/com/offbytwo/jenkins/model/Job.java b/jenkins-client/src/main/java/com/offbytwo/jenkins/model/Job.java index 7d5313fd..726a4fb3 100644 --- a/jenkins-client/src/main/java/com/offbytwo/jenkins/model/Job.java +++ b/jenkins-client/src/main/java/com/offbytwo/jenkins/model/Job.java @@ -109,6 +109,17 @@ public QueueReference build(Map params) throws IOException { return build(params, null,false); } + /** + * Trigger a parameterized build with string parameters only + * + * @param params the job parameters + * @return {@link QueueReference} for further analysis of the queued build. + * @throws IOException in case of an error. + */ + public QueueReference buildWithParams(Map params) throws IOException { + return buildWithParams(params, null,false); + } + /** * Trigger a parameterized build with string parameters only * @@ -151,6 +162,22 @@ public QueueReference build(Map params, Map filePa return new QueueReference(location.getLocation()); } + /** + * Trigger a parameterized build with file parameters and crumbFlag + * + * @param params the job parameters + * @param fileParams the job file parameters + * @param crumbFlag determines whether crumb flag is used + * @return {@link QueueReference} for further analysis of the queued build. + * @throws IOException in case of an error. + */ + public QueueReference buildWithParams(Map params, Map fileParams, boolean crumbFlag) throws IOException { + //String qs = params.entrySet().stream().map(s -> s.getKey() + "=" + s.getValue()).collect(Collectors.joining("&")); + //String qs = join(Collections2.transform(params.entrySet(), new MapEntryToQueryStringPair()), "&"); + ExtractHeader location = client.post(url + "buildWithParameters",params, ExtractHeader.class, fileParams, crumbFlag); + return new QueueReference(location.getLocation()); + } + @Override public boolean equals(Object o) { if (this == o) diff --git a/jenkins-client/src/test/java/com/offbytwo/jenkins/juntest/JenkinsConnect.java b/jenkins-client/src/test/java/com/offbytwo/jenkins/juntest/JenkinsConnect.java new file mode 100644 index 00000000..77105465 --- /dev/null +++ b/jenkins-client/src/test/java/com/offbytwo/jenkins/juntest/JenkinsConnect.java @@ -0,0 +1,77 @@ +package com.offbytwo.jenkins.juntest; + +import com.offbytwo.jenkins.JenkinsServer; +import com.offbytwo.jenkins.client.JenkinsHttpClient; +import org.apache.http.Header; +import org.apache.http.conn.ssl.SSLConnectionSocketFactory; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.message.BasicHeader; +import org.apache.http.ssl.SSLContextBuilder; +import org.apache.http.ssl.TrustStrategy; + +import javax.net.ssl.SSLContext; +import java.net.URI; +import java.net.URISyntaxException; +import java.security.KeyManagementException; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.Arrays; + + +public class JenkinsConnect { + + static final String JENKINS_URL = "https://jenkins-qa.internal.gridx.com:443"; + static final String JENKINS_TOKEN = "Basic a2FiZWw6MTFkNWEzZGJiMDY5ZDI2ZjgxOTYwMDBiZWU1YzE1ODg2NA=="; + + private JenkinsConnect() { + } + + + public static JenkinsHttpClient getClient() { + JenkinsHttpClient jenkinsHttpClient = null; + try { + Header header = new BasicHeader("Authorization", JENKINS_TOKEN); + HttpClientBuilder builder = HttpClientBuilder.create().setDefaultHeaders(Arrays.asList(header)); + jenkinsHttpClient = new JenkinsHttpClient(new URI(JENKINS_URL), builder); + } catch (URISyntaxException e) { + e.printStackTrace(); + } + return jenkinsHttpClient; + } + + /** + * 连接 Jenkins + */ + public static JenkinsServer connection() { + JenkinsServer jenkinsServer = null; + try { + Header header = new BasicHeader("Authorization", JENKINS_TOKEN); + SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, + new TrustStrategy() { + public boolean isTrusted(X509Certificate[] chain, + String authType) throws CertificateException { + return true; + } + }).build(); + + SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory( + sslContext, new String[]{"TLSv1"}, null, + SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); + HttpClientBuilder builder = HttpClientBuilder.create().setDefaultHeaders(Arrays.asList(header)).setSSLSocketFactory(sslsf); + + JenkinsHttpClient jenkinsHttpClient = new JenkinsHttpClient(new URI(JENKINS_URL), builder); + jenkinsServer = new JenkinsServer(jenkinsHttpClient); + } catch (URISyntaxException e) { + e.printStackTrace(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } catch (KeyStoreException e) { + e.printStackTrace(); + } catch (KeyManagementException e) { + e.printStackTrace(); + } + return jenkinsServer; + } +} diff --git a/jenkins-client/src/test/java/com/offbytwo/jenkins/juntest/JenkinsJobAPITest.java b/jenkins-client/src/test/java/com/offbytwo/jenkins/juntest/JenkinsJobAPITest.java new file mode 100644 index 00000000..12b49cf1 --- /dev/null +++ b/jenkins-client/src/test/java/com/offbytwo/jenkins/juntest/JenkinsJobAPITest.java @@ -0,0 +1,35 @@ +package com.offbytwo.jenkins.juntest; + +import com.offbytwo.jenkins.JenkinsServer; +import com.offbytwo.jenkins.model.QueueReference; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + + +public class JenkinsJobAPITest { + + // 连接 Jenkins + JenkinsServer jenkinsServer = JenkinsConnect.connection(); + + @Test + public void TestBuildWithParams() throws Exception { + Map object = new HashMap<>(); + object.put("name", "fujun"); + object.put("city", "aW5jbHVkZSAiY29tbW9uLmNvbmYiCgpncmlkeCB7CiAgeWFtbHMgPSBbIlNDRV9tb2RlbDIiLCJDTVNfTENSVF90ZXN0X0NTUiIsIlBHRV9tb2RlbDIiXQoKICBidWNrZXQgPSAiZ3JpZHgtY2kiCgogIGFra2EtY2x1c3Rlci1pbmZvIHsKICAgIGJhc2UtZm9sZGVyID0gIi8iJHtncmlkeC5idWNrZXR9Ii9jbHVzdGVySW5mbyIKICAgIHJlZnJlc2gtaW50ZXJ2YWwtc2Vjb25kcyA9IDMwCiAgfQoKICBnbG9iYWxkYXRhY2FjaGUgewogICAgYnVja2V0ID0gJHtncmlkeC5idWNrZXR9CiAgICBmb2xkZXIgPSAiZ2xvYmFsRGF0YUNhY2hlIgoKICAgIGJhc2UtZm9sZGVyID0gJHtncmlkeC5idWNrZXR9Ii9nbG9iYWxEYXRhQ2FjaGUiCiAgfQp9CgpncmlkeC5zdG9yYWdlIHsKICBmcyA9ICJzMyIKfQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBlYWNoIHJlYWx0aW1lIHN5c3RlbSBkZXBsb3ltZW50IHNob3VsZCBoYXMgaXRzIG93biBmb2xsd2luZyBjb25maWd1cmF0aW9ucwojIHdoZW4gZGVwbG95aW5nIGluIGxvY2FsIG1vZGUsIHlvdSBjYW4gbGVhdmUgdGhlIGNvbmZpZ3MgYmVsb3cgYXMgdW5jaGFuZ2VkCiMgd2hlbiBkZXBsb3lpbmcgaW4gY2x1c3RlciBtb2RlIGluIGxvZ2JhY2suZWMyLHRoZSBmaWxlIGluIHMzIGNvbnRhaW5pbmcgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzCiMgc2hvdWxkIGJlIGluIGZpbGUgIi9waXBlbGluZS1jb25maWdzLyovY29uZi9iYXNlLmNvbmYiCmdyaWR4Lnpvb2tlZXBlciB7CiAgc2VydmVycyA9ICJha2thLXFhLmludGVybmFsLmdyaWR4LmNvbToyMTgxIgogIHNlc3Npb24tdGltZW91dC1zZWMgPSAzMAogIGJhc2UtenBhdGggewogICAgYWdlbnQgICAgICAgICAgICAgICA9ICJhZ2VudCIKICAgIHNwcmF5ICAgICAgICAgICAgICAgPSAic3ByYXkiCiAgICBnbG9iYWwtZGF0YS1hY3RvciAgID0gImdsb2JhbC1kYXRhLWFjdG9yIgogICAgY29tcHV0ZS1hY3RvciAgICAgICA9ICJjb21wdXRlLWFjdG9yIgogICAgIyBXaGVuIGEgd2Vib3BzIHNlcnZlciByZXF1ZXN0cyB1cGRhdGluZyBnbG9iYWwgZGF0YSwgaXQgd2lsbCBjaGVjayBmcm9tIE15U1FMIGlmIHRoZXJlIGFyZSBiYXRjaGVzIGluIHByb2dyZXNzCiAgICAjIElmIHNvLCB0aGUgcmVxdWVzdCB3aWxsIGJlIHJlamVjdGVkLiBPdGhlcndpc2UsIGl0IHdpbGwgY3JlYXRlIGFuIGVwaGVtZXJhbCB6bm9kZSAiL3Rhb19kZXYvdXBkYXRlLWdsb2JhbC1kYXRhIgogICAgIyBpbmRpY2F0aW5nIHRoYXQgdGhlIGNsdXN0ZXIgd2lsbCBzdGFydCB1cGRhdGluZyBnbG9iYWwgZGF0YS4KICAgICMgVGhlbiB3ZWJvcHMgc2VydmVyIHdpbGwgc2VuZCBhIG1lc3NhZ2UgdG8gYWxsIHdvcmtlcnMgdG8gdGVsbCB0aGVtIHRvIHVwZGF0ZSBnbG9iYWwgZGF0YS4KICAgICMgV2hlbiBhbGwgd29ya2VycyBjb21wbGV0ZXMgdXBkYXRpbmcgZ2xvYmFsIGRhdGEsIHRoZXkgd2lsbCBzZW5kIGEgcmVwbHkgdG8gdGhlIHdlYm9wcyBzZXJ2ZXIsIHRoZW4gd2ViIG9wcyBzZXJ2ZXIKICAgICMgd2lsbCBkZWxldGUgdGhlIHpub2RlICIvdGFvX2Rldi91cGRhdGUtZ2xvYmFsLWRhdGEiLgogICAgdXBkYXRpbmctZ2xvYmFsLWRhdGEgPSAidXBkYXRlaW5nLWdsb2JhbC1kYXRhIgogICAgZ2xvYmFsLWRhdGEtdmVyc2lvbnMgPSAiZ2xvYmFsLWRhdGEtdmVyc2lvbnMiCgogICAgIyBpZiB0aGVyZSBpcyBhIGNoaWxkIHpub2RlIHVuZGVyICJyZWZyZXNoaW5nLXdvcmtlcnMteWFtbGtleXMiLCBpdCBtZWFucwogICAgIyB0aGUgY29ycmVzcG9uZGluZyBnbG9iYWwgZGF0YSBpcyBiZWluZyB1cGRhdGVkIChub3QgY29tcGxldGVkIG9uIGFsbCB3b3JrZXJzKQogICAgIyBJbiB0aGlzIGNhc2UsIHdlIHdpbGwgZ2l2ZSB0aGUgdXNlciBhIHRpcDogIkdsb2JhbCBkYXRhIHVzZWQgYnkgdGhpcyB5YW1sIiBpcyBzdGlsbCBiZWluZyB1cGRhdGVkIGJ5IHNvbWVvbmUgZWxzZSIKICAgICMgbm90ZSB0aGF0IHRoZSBjaGlsZCBub2RlIG5hbWUgaXMgYSBrZXkgZ2VuZXJhdGVkIGZyb20gdGhlIHlhbWwgbmFtZQogICAgcmVmcmVzaGluZy13b3JrZXJzLXlhbWxrZXlzID0gInJlZnJlc2hpbmctd29ya2Vycy15YW1sa2V5cyIKCiAgICAjIEluIGFueSBjbHVzdGVyLCBvbmx5IG9uZSBhZ2VudCBpcyBhbGxvd2VkIHRvIGNoZWNrIG9ic29sZXRlIHMzIGdsb2JhbCBkYXRhCiAgICBjaGVjay1vYnNvbGV0ZS1zMy1nbG9iYWwtZGF0YSA9ICJjaGVjay1vYnNvbGV0ZS1zMy1nbG9iYWwtZGF0YSIKCiAgICBzZW5kaW5nLW9ic29sZXRlLWdsb2JhbGRhdGEtd2FybmluZy1lbWFpbCA9ICJzZW5kaW5nLW9ic29sZXRlLWdsb2JhbGRhdGEtd2FybmluZy1lbWFpbCIKICAgIGxhc3Qtc2VudC1vYnNvbGV0ZS1nbG9iYWxkYXRhLXdhcm5pbmctZW1haWwtdHMgPSAibGFzdC1zZW50LW9ic29sZXRlLWdsb2JhbGRhdGEtd2FybmluZy1lbWFpbC10cyIKCiAgICAjIGFjdHVhbGx5IHRoZSBxdWV1ZSB6bm9kZSBpcyBwcmVmaXhlZCBieSBha2thTmFtZSwgZS5nLiwgL29yZWdvbl9kZXYvcXVldWUKICAgIHF1ZXVlICAgICAgICAgICAgICAgID0gInF1ZXVlIgogICAgCiAgICAjIG9ubHkgYWxsb3cgb25lIGBTcHJheUxhdW5jaGAgaW5zdGFuY2UgdG8gcmVmcmVzaCBiYXRjaGVzIGluIHRoZSBiYWNrZW5kCiAgICByZWZyZXNoLWJhdGNoZXMgICAgICA9ICJyZWZyZXNoLWJhdGNoZXMiCgogICAgIyBvbmx5IG9uZSBhZ2VudCB3b3VsZCBjaGVjayB0aGUgY2x1c3RlciBpZGxlIHN0YXR1cwogICAgY2hlY2stY2x1c3Rlci1pZGxlID0gImNoZWNrLWNsdXN0ZXItaWRsZSIKCiAgICB1cGRhdGUtY2x1c3Rlci1pbmZvID0gInVwZGF0ZS1jbHVzdGVyLWluZm8iCiAgICAKICAgICMgb25seSBvbmUgYWdlbnQgY2FuIGF1dG8gc2NhbGluZyBjbHVzdGVyIG5vZGVzCiAgICBhdXRvLXNjYWxpbmctY2x1c3RlciA9ICJhdXRvLXNjYWxpbmctY2x1c3RlciIKICB9Cn0KCgoKCmdyaWR4LmxvY2FsLXJ1biB7CiAgdXNlLWxvY2FsLWRiID0gZmFsc2UKfQoKIyB3aGVuIHRoZSBhcHAgcnVucywgaXQgaXMgaW4gInlhbWxzIiBkaXJlY3RvcnksIHNvIHdlIHB1dCB0aGUgImRhdGEiIGluIHRoZSBwYXJlbnQgZm9sZGVyCmdyaWR4LmxvY2FsLWRhdGEtZm9sZGVyICAgICAgICAgICAgICAgICA9ICIuLi9kYXRhIgpncmlkeC5zYWlkLWdlbi1maWxlLXMzLWJ1Y2tldCAgICAgICAgICAgPSAke2dyaWR4LmJ1Y2tldH0KZ3JpZHguc2FpZC1nZW4tZmlsZS1zMy1mb2xkZXIgICAgICAgICAgID0gIlNBLUlEL2dlbmVyYXRlZCIKZ3JpZHguc2EtaWQtcGFyc2VkLWZpbGUtczMtYnVja2V0ICAgICAgID0gJHtncmlkeC5idWNrZXR9CmdyaWR4LnNhLWlkLXBhcnNlZC1maWxlLXMzLWtleSAgICAgICAgICA9ICJTQS1JRC9wYXJzZWQiCmdyaWR4LmJhdGNoLWpvYi1yZXN1bHRzLXMzLWJ1Y2tldCAgICAgICA9ICR7Z3JpZHguYnVja2V0fQpncmlkeC5iYXRjaC1qb2ItcmVzdWx0cy1zMy1rZXkgICAgICAgICAgPSAiYmF0Y2gtam9iLXJlc3VsdHMiCmdyaWR4LmJhdGNoLWpvYi1lcnJvcnMtczMtYnVja2V0ICAgICAgICA9ICR7Z3JpZHguYnVja2V0fQpncmlkeC5iYXRjaC1qb2ItZXJyb3JzLXMzLWtleSAgICAgICAgICAgPSAiYmF0Y2gtam9iLWVycm9ycyIKZ3JpZHguYmF0Y2gtcmVwb3J0LXMzLWJ1Y2tldCAgICAgICAgICAgID0gJHtncmlkeC5idWNrZXR9CmdyaWR4LmJhdGNoLXJlcG9ydC1zMy1rZXkgICAgICAgICAgICAgICA9ICJiYXRjaC1yZXBvcnRzIgoKCmdyaWR4LnJlYm9vdC5kZWxheS5taW51dGVzID0gMQpncmlkeC5zZWN1cml0eWdyb3VwICAgICAgICA9ICJzZy1kYzYwYWJhNSIKZ3JpZHguc2VjdXJpdHlrZXkgICAgICAgICAgPSAiYWtrYV9vcmVnb24iICAgICAgICAgICAgIyB3aGF0IGtleSB0byBsb2dpbgpncmlkeC5yZWFsdGltZS5hcm4gICAgICAgICA9ICJhcm46YXdzOmlhbTo6NzQzNTEyOTg0MDc5Omluc3RhbmNlLXByb2ZpbGUvYWtrYS13ZWIiCmdyaWR4LnJlYWx0aW1lLmlhbS1mbGVldC1yb2xlID0gImFybjphd3M6aWFtOjo3NDM1MTI5ODQwNzk6cm9sZS9hd3MtZWMyLXNwb3QtZmxlZXQtdGFnZ2luZy1yb2xlIgpncmlkeC5yZWdpb24gICAgICAgICAgICAgICA9ICJ1cy13ZXN0LTIiCgoKZ3JpZHguYW1pLm5hbWUgICAgICAgICAgICAgPSAiQWtrYS1TcHJheS1BTUkiCmdyaWR4LnZwYyAgICAgICAgICAgICAgICAgID0gInZwYy05MjVjOTZmNiIKZ3JpZHguc3VibmV0ICAgICAgICAgICAgICAgPSBbInN1Ym5ldC05NzNlM2RjZSIsICJzdWJuZXQtMTU1MDMxNzIiLCAic3VibmV0LTBiYjg5NzQyIl0KZ3JpZHguaW5zdGFuY2UtdHlwZSAgICAgICAgPSBbIm00LnhsYXJnZSIsICJtNS54bGFyZ2UiLCAibTVhLnhsYXJnZSJdCgoKZ3JpZHguZnBlLWtleS11cmwtYmFzZSA9ICJodHRwOi8vZnBlLWtleS5pbnRlcm5hbC5ncmlkeC5jb206ODA4Mi9rZXkiCgpncmlkeC50aW1lb3V0IHsKICByZWFsdGltZUpvYlNlYyA9IDkwCiAgYmF0Y2hKb2JTZWMgICAgPSAxMTUKICBydW5uaW5nLWJhdGNoICA9ICI0OCBob3VycyIKfQoKCmdyaWR4LnJlZGlzIHsKICBlbmFibGUgPSB0cnVlCiAgaG9zdCAgID0gInJlZGlzLmludGVybmFsLmdyaWR4LmNvbSIKICBwb3J0ICAgPSA2Mzc5CiAgZXhwaXJlLXNlY29uZHMgPSA4NjQwMAogIHBvb2wtbWF4LXRvdGFsID0gMjAKICBjb25uLXRpbWVvdXQtc2Vjb25kcyA9IDMKfQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKZ3JpZHguYWdlbnQgewogICMgNjUwMCBpcyB0aGUgYWtrYSBzeXN0ZW0gcG9ydCBmb3IgYWdlbnQKICBha2thLXN5c3RlbS1wb3J0ID0gNjUwMAoKICBjaGVjay1vYnNvbGV0ZS1nbG9iYWxkYXRhLWludGVydmFsLWhvdXJzID0gMQogIHNlbmQtb2Jzb2xldGUtZ2xvYmFsZGF0YS13YXJuaW5nLWVtYWlsLWZsYWcgPSB0cnVlCiAgc2VuZC1vYnNvbGV0ZS1nbG9iYWxkYXRhLXdhcm5pbmctZW1haWwtaW50ZXJ2YWwtaG91cnMgPSAyNAoKICBjaGVjay1jbHVzdGVyLWlkbGUgPSB0cnVlCiAgbWF4LWlkbGUtd29ya2VycyAgID0gMAoKICBhY3Rvci1uYW1lICA9ICJhZ2VudCIKICBodHRwLXBvcnQgICA9IDgwMDAgICMgdGhpcyBpcyBhbHNvIHVzZWQgYnkgc2NyaXB0ICJyZWFsdGltZSIKfQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBhbGwgc3ByYXkgc2VydmVycyB3aWxsIGJlIGFkZGVkIGludG8gYSBlbGFzdGljIGxvYWQgYmFsYW5jZXIKIyBsaXN0ZW5lcnMgYXJlIGh0dHAgcG9ydHMgODAyNSBhbmQgODAyNgojIGxvYWQgYmFsYW5jZXIgbXVzdCBiZSBjcmVhdGVkIGJlZm9yZWhhbmQgbWFudWFsbHkKZ3JpZHguc3ByYXkgewogICMgNjYwMCBpcyB0aGUgYWtrYSBzeXN0ZW0gcG9ydCBmb3Igc3ByYXkKICBha2thLXN5c3RlbS1wb3J0ID0gNjYwMAoKICBsYXVuY2hlciB7CiAgICBkaXNhYmxlLWFra2EtYmF0Y2gtdXBkYXRlID0gdHJ1ZQogIH0KCiAgZWxiIHsKICAgIHVzZS1lbGIgPSBmYWxzZQogICAgbG9hZC1iYWxhbmNlci1uYW1lID0gInh4eHgiCiAgICByZWdpb24gPSAke2dyaWR4LnJlZ2lvbn0KICB9CgogIGJ1c2luZXNzLXNlcnZlciB7CiAgICBhY3Rvci1uYW1lID0gImJ1c2luZXNzLXNlcnZlciIKICAgIHByaW8tbWFpbGJveCB7CiAgICAgIG1haWxib3gtdHlwZSA9ICJjb20uZ3JpZHgucmVhbHRpbWUuc3ByYXkuYnVzaW5lc3MuUHJpb01haWxCb3giCiAgICB9CiAgfQoKICB3ZWJvcHMtc2VydmVyIHsKICAgIGFjdG9yLW5hbWUgPSAid2Vib3BzLXNlcnZlciIKICAgIHN1Ym1pdC1iYXRjaC10aW1lb3V0LXNlYyA9IDMwCiAgICBjYW5jZWwtYmF0Y2gtdGltZW91dC1zZWMgPSAzMAogIH0KfQoKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmdyaWR4LndvcmtlciB7CiAgIyA2NzAwIGlzIHRoZSBha2thIHN5c3RlbSBwb3J0IGZvciB3b3JrZXIKICBha2thLXN5c3RlbS1wb3J0ID0gNjcwMAoKICBnbG9iYWwtZGF0YS1hY3RvciB7CiAgICBhY3Rvci1uYW1lICA9ICJnbG9iYWwtZGF0YS1hY3RvciIKICAgIGh0dHAtcG9ydCAgID0gNjcwMQogIH0KfQoKCmdyaWR4LmFzZyB7CiAgICAgICAgaG9zdCA9ICJha2thLWFzZy5pbnRlcm5hbC5ncmlkeC5jb20iCiAgICAgICAgcG9ydCA9IDUxMDAKCiAgICAgICAgZW5hYmxlLWF1dG8tc2NhbGluZy1jbHVzdGVyID0gdHJ1ZQoKICAgICAgICBlbmFibGUtbm90aWZpY2F0aW9uID0gdHJ1ZQogICAgICAgICMjIG1pbmltdW0gc2l6ZSBvZiB3b3JrZXIgbm9kZXMgaW4gY2x1c3RlcgogICAgbWluLXdvcmtlci1zaXplID0gMQogICAgIyMgbWF4aW11bSBzaXplIG9mIHdvcmtlciBub2RlcyBpbiBjbHVzdGVyCiAgICBtYXgtd29ya2VyLXNpemUgPSA1CiAgICAjI2F2ZXJhZ2UgbWF4aW11bSBqb2JzIHRvIGJlIHByb2Nlc3NlZCBpbiBhIHNpbmdsZSB3b3JrZXIgbm9kZQogICAgICAgYXZnLW1heC13b3JrZXItcXVldWUtam9icyA9IDUwCiAgICAgICAgc2NhbGUtaW50ZXJ2YWwtc2Vjb25kcz0xODAKICAgICAgICBzY2FsZS1vdXQtdGltZXMgPSAyCiAgICAgICAgc2NhbGUtaW4tdGltZXMgPSA0CiAgICAgICAgZW1haWxzID0gWyJzaGlodWlAZ3JpZHguY24iXQp9"); + System.out.println(object); + QueueReference res = jenkinsServer.getJob("juntest-pipeline-withparams").build(object); + System.out.println(res.getQueueItemUrlPart()); + } + + @Test + public void TestBuildWithParamsPost() throws Exception { + Map object = new HashMap<>(); + object.put("name", "fujun"); + object.put("city", "aW5jbHVkZSAiY29tbW9uLmNvbmYiCgpncmlkeCB7CiAgeWFtbHMgPSBbIlNDRV9tb2RlbDIiLCJDTVNfTENSVF90ZXN0X0NTUiIsIlBHRV9tb2RlbDIiXQoKICBidWNrZXQgPSAiZ3JpZHgtY2kiCgogIGFra2EtY2x1c3Rlci1pbmZvIHsKICAgIGJhc2UtZm9sZGVyID0gIi8iJHtncmlkeC5idWNrZXR9Ii9jbHVzdGVySW5mbyIKICAgIHJlZnJlc2gtaW50ZXJ2YWwtc2Vjb25kcyA9IDMwCiAgfQoKICBnbG9iYWxkYXRhY2FjaGUgewogICAgYnVja2V0ID0gJHtncmlkeC5idWNrZXR9CiAgICBmb2xkZXIgPSAiZ2xvYmFsRGF0YUNhY2hlIgoKICAgIGJhc2UtZm9sZGVyID0gJHtncmlkeC5idWNrZXR9Ii9nbG9iYWxEYXRhQ2FjaGUiCiAgfQp9CgpncmlkeC5zdG9yYWdlIHsKICBmcyA9ICJzMyIKfQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBlYWNoIHJlYWx0aW1lIHN5c3RlbSBkZXBsb3ltZW50IHNob3VsZCBoYXMgaXRzIG93biBmb2xsd2luZyBjb25maWd1cmF0aW9ucwojIHdoZW4gZGVwbG95aW5nIGluIGxvY2FsIG1vZGUsIHlvdSBjYW4gbGVhdmUgdGhlIGNvbmZpZ3MgYmVsb3cgYXMgdW5jaGFuZ2VkCiMgd2hlbiBkZXBsb3lpbmcgaW4gY2x1c3RlciBtb2RlIGluIGxvZ2JhY2suZWMyLHRoZSBmaWxlIGluIHMzIGNvbnRhaW5pbmcgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzCiMgc2hvdWxkIGJlIGluIGZpbGUgIi9waXBlbGluZS1jb25maWdzLyovY29uZi9iYXNlLmNvbmYiCmdyaWR4Lnpvb2tlZXBlciB7CiAgc2VydmVycyA9ICJha2thLXFhLmludGVybmFsLmdyaWR4LmNvbToyMTgxIgogIHNlc3Npb24tdGltZW91dC1zZWMgPSAzMAogIGJhc2UtenBhdGggewogICAgYWdlbnQgICAgICAgICAgICAgICA9ICJhZ2VudCIKICAgIHNwcmF5ICAgICAgICAgICAgICAgPSAic3ByYXkiCiAgICBnbG9iYWwtZGF0YS1hY3RvciAgID0gImdsb2JhbC1kYXRhLWFjdG9yIgogICAgY29tcHV0ZS1hY3RvciAgICAgICA9ICJjb21wdXRlLWFjdG9yIgogICAgIyBXaGVuIGEgd2Vib3BzIHNlcnZlciByZXF1ZXN0cyB1cGRhdGluZyBnbG9iYWwgZGF0YSwgaXQgd2lsbCBjaGVjayBmcm9tIE15U1FMIGlmIHRoZXJlIGFyZSBiYXRjaGVzIGluIHByb2dyZXNzCiAgICAjIElmIHNvLCB0aGUgcmVxdWVzdCB3aWxsIGJlIHJlamVjdGVkLiBPdGhlcndpc2UsIGl0IHdpbGwgY3JlYXRlIGFuIGVwaGVtZXJhbCB6bm9kZSAiL3Rhb19kZXYvdXBkYXRlLWdsb2JhbC1kYXRhIgogICAgIyBpbmRpY2F0aW5nIHRoYXQgdGhlIGNsdXN0ZXIgd2lsbCBzdGFydCB1cGRhdGluZyBnbG9iYWwgZGF0YS4KICAgICMgVGhlbiB3ZWJvcHMgc2VydmVyIHdpbGwgc2VuZCBhIG1lc3NhZ2UgdG8gYWxsIHdvcmtlcnMgdG8gdGVsbCB0aGVtIHRvIHVwZGF0ZSBnbG9iYWwgZGF0YS4KICAgICMgV2hlbiBhbGwgd29ya2VycyBjb21wbGV0ZXMgdXBkYXRpbmcgZ2xvYmFsIGRhdGEsIHRoZXkgd2lsbCBzZW5kIGEgcmVwbHkgdG8gdGhlIHdlYm9wcyBzZXJ2ZXIsIHRoZW4gd2ViIG9wcyBzZXJ2ZXIKICAgICMgd2lsbCBkZWxldGUgdGhlIHpub2RlICIvdGFvX2Rldi91cGRhdGUtZ2xvYmFsLWRhdGEiLgogICAgdXBkYXRpbmctZ2xvYmFsLWRhdGEgPSAidXBkYXRlaW5nLWdsb2JhbC1kYXRhIgogICAgZ2xvYmFsLWRhdGEtdmVyc2lvbnMgPSAiZ2xvYmFsLWRhdGEtdmVyc2lvbnMiCgogICAgIyBpZiB0aGVyZSBpcyBhIGNoaWxkIHpub2RlIHVuZGVyICJyZWZyZXNoaW5nLXdvcmtlcnMteWFtbGtleXMiLCBpdCBtZWFucwogICAgIyB0aGUgY29ycmVzcG9uZGluZyBnbG9iYWwgZGF0YSBpcyBiZWluZyB1cGRhdGVkIChub3QgY29tcGxldGVkIG9uIGFsbCB3b3JrZXJzKQogICAgIyBJbiB0aGlzIGNhc2UsIHdlIHdpbGwgZ2l2ZSB0aGUgdXNlciBhIHRpcDogIkdsb2JhbCBkYXRhIHVzZWQgYnkgdGhpcyB5YW1sIiBpcyBzdGlsbCBiZWluZyB1cGRhdGVkIGJ5IHNvbWVvbmUgZWxzZSIKICAgICMgbm90ZSB0aGF0IHRoZSBjaGlsZCBub2RlIG5hbWUgaXMgYSBrZXkgZ2VuZXJhdGVkIGZyb20gdGhlIHlhbWwgbmFtZQogICAgcmVmcmVzaGluZy13b3JrZXJzLXlhbWxrZXlzID0gInJlZnJlc2hpbmctd29ya2Vycy15YW1sa2V5cyIKCiAgICAjIEluIGFueSBjbHVzdGVyLCBvbmx5IG9uZSBhZ2VudCBpcyBhbGxvd2VkIHRvIGNoZWNrIG9ic29sZXRlIHMzIGdsb2JhbCBkYXRhCiAgICBjaGVjay1vYnNvbGV0ZS1zMy1nbG9iYWwtZGF0YSA9ICJjaGVjay1vYnNvbGV0ZS1zMy1nbG9iYWwtZGF0YSIKCiAgICBzZW5kaW5nLW9ic29sZXRlLWdsb2JhbGRhdGEtd2FybmluZy1lbWFpbCA9ICJzZW5kaW5nLW9ic29sZXRlLWdsb2JhbGRhdGEtd2FybmluZy1lbWFpbCIKICAgIGxhc3Qtc2VudC1vYnNvbGV0ZS1nbG9iYWxkYXRhLXdhcm5pbmctZW1haWwtdHMgPSAibGFzdC1zZW50LW9ic29sZXRlLWdsb2JhbGRhdGEtd2FybmluZy1lbWFpbC10cyIKCiAgICAjIGFjdHVhbGx5IHRoZSBxdWV1ZSB6bm9kZSBpcyBwcmVmaXhlZCBieSBha2thTmFtZSwgZS5nLiwgL29yZWdvbl9kZXYvcXVldWUKICAgIHF1ZXVlICAgICAgICAgICAgICAgID0gInF1ZXVlIgogICAgCiAgICAjIG9ubHkgYWxsb3cgb25lIGBTcHJheUxhdW5jaGAgaW5zdGFuY2UgdG8gcmVmcmVzaCBiYXRjaGVzIGluIHRoZSBiYWNrZW5kCiAgICByZWZyZXNoLWJhdGNoZXMgICAgICA9ICJyZWZyZXNoLWJhdGNoZXMiCgogICAgIyBvbmx5IG9uZSBhZ2VudCB3b3VsZCBjaGVjayB0aGUgY2x1c3RlciBpZGxlIHN0YXR1cwogICAgY2hlY2stY2x1c3Rlci1pZGxlID0gImNoZWNrLWNsdXN0ZXItaWRsZSIKCiAgICB1cGRhdGUtY2x1c3Rlci1pbmZvID0gInVwZGF0ZS1jbHVzdGVyLWluZm8iCiAgICAKICAgICMgb25seSBvbmUgYWdlbnQgY2FuIGF1dG8gc2NhbGluZyBjbHVzdGVyIG5vZGVzCiAgICBhdXRvLXNjYWxpbmctY2x1c3RlciA9ICJhdXRvLXNjYWxpbmctY2x1c3RlciIKICB9Cn0KCgoKCmdyaWR4LmxvY2FsLXJ1biB7CiAgdXNlLWxvY2FsLWRiID0gZmFsc2UKfQoKIyB3aGVuIHRoZSBhcHAgcnVucywgaXQgaXMgaW4gInlhbWxzIiBkaXJlY3RvcnksIHNvIHdlIHB1dCB0aGUgImRhdGEiIGluIHRoZSBwYXJlbnQgZm9sZGVyCmdyaWR4LmxvY2FsLWRhdGEtZm9sZGVyICAgICAgICAgICAgICAgICA9ICIuLi9kYXRhIgpncmlkeC5zYWlkLWdlbi1maWxlLXMzLWJ1Y2tldCAgICAgICAgICAgPSAke2dyaWR4LmJ1Y2tldH0KZ3JpZHguc2FpZC1nZW4tZmlsZS1zMy1mb2xkZXIgICAgICAgICAgID0gIlNBLUlEL2dlbmVyYXRlZCIKZ3JpZHguc2EtaWQtcGFyc2VkLWZpbGUtczMtYnVja2V0ICAgICAgID0gJHtncmlkeC5idWNrZXR9CmdyaWR4LnNhLWlkLXBhcnNlZC1maWxlLXMzLWtleSAgICAgICAgICA9ICJTQS1JRC9wYXJzZWQiCmdyaWR4LmJhdGNoLWpvYi1yZXN1bHRzLXMzLWJ1Y2tldCAgICAgICA9ICR7Z3JpZHguYnVja2V0fQpncmlkeC5iYXRjaC1qb2ItcmVzdWx0cy1zMy1rZXkgICAgICAgICAgPSAiYmF0Y2gtam9iLXJlc3VsdHMiCmdyaWR4LmJhdGNoLWpvYi1lcnJvcnMtczMtYnVja2V0ICAgICAgICA9ICR7Z3JpZHguYnVja2V0fQpncmlkeC5iYXRjaC1qb2ItZXJyb3JzLXMzLWtleSAgICAgICAgICAgPSAiYmF0Y2gtam9iLWVycm9ycyIKZ3JpZHguYmF0Y2gtcmVwb3J0LXMzLWJ1Y2tldCAgICAgICAgICAgID0gJHtncmlkeC5idWNrZXR9CmdyaWR4LmJhdGNoLXJlcG9ydC1zMy1rZXkgICAgICAgICAgICAgICA9ICJiYXRjaC1yZXBvcnRzIgoKCmdyaWR4LnJlYm9vdC5kZWxheS5taW51dGVzID0gMQpncmlkeC5zZWN1cml0eWdyb3VwICAgICAgICA9ICJzZy1kYzYwYWJhNSIKZ3JpZHguc2VjdXJpdHlrZXkgICAgICAgICAgPSAiYWtrYV9vcmVnb24iICAgICAgICAgICAgIyB3aGF0IGtleSB0byBsb2dpbgpncmlkeC5yZWFsdGltZS5hcm4gICAgICAgICA9ICJhcm46YXdzOmlhbTo6NzQzNTEyOTg0MDc5Omluc3RhbmNlLXByb2ZpbGUvYWtrYS13ZWIiCmdyaWR4LnJlYWx0aW1lLmlhbS1mbGVldC1yb2xlID0gImFybjphd3M6aWFtOjo3NDM1MTI5ODQwNzk6cm9sZS9hd3MtZWMyLXNwb3QtZmxlZXQtdGFnZ2luZy1yb2xlIgpncmlkeC5yZWdpb24gICAgICAgICAgICAgICA9ICJ1cy13ZXN0LTIiCgoKZ3JpZHguYW1pLm5hbWUgICAgICAgICAgICAgPSAiQWtrYS1TcHJheS1BTUkiCmdyaWR4LnZwYyAgICAgICAgICAgICAgICAgID0gInZwYy05MjVjOTZmNiIKZ3JpZHguc3VibmV0ICAgICAgICAgICAgICAgPSBbInN1Ym5ldC05NzNlM2RjZSIsICJzdWJuZXQtMTU1MDMxNzIiLCAic3VibmV0LTBiYjg5NzQyIl0KZ3JpZHguaW5zdGFuY2UtdHlwZSAgICAgICAgPSBbIm00LnhsYXJnZSIsICJtNS54bGFyZ2UiLCAibTVhLnhsYXJnZSJdCgoKZ3JpZHguZnBlLWtleS11cmwtYmFzZSA9ICJodHRwOi8vZnBlLWtleS5pbnRlcm5hbC5ncmlkeC5jb206ODA4Mi9rZXkiCgpncmlkeC50aW1lb3V0IHsKICByZWFsdGltZUpvYlNlYyA9IDkwCiAgYmF0Y2hKb2JTZWMgICAgPSAxMTUKICBydW5uaW5nLWJhdGNoICA9ICI0OCBob3VycyIKfQoKCmdyaWR4LnJlZGlzIHsKICBlbmFibGUgPSB0cnVlCiAgaG9zdCAgID0gInJlZGlzLmludGVybmFsLmdyaWR4LmNvbSIKICBwb3J0ICAgPSA2Mzc5CiAgZXhwaXJlLXNlY29uZHMgPSA4NjQwMAogIHBvb2wtbWF4LXRvdGFsID0gMjAKICBjb25uLXRpbWVvdXQtc2Vjb25kcyA9IDMKfQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKZ3JpZHguYWdlbnQgewogICMgNjUwMCBpcyB0aGUgYWtrYSBzeXN0ZW0gcG9ydCBmb3IgYWdlbnQKICBha2thLXN5c3RlbS1wb3J0ID0gNjUwMAoKICBjaGVjay1vYnNvbGV0ZS1nbG9iYWxkYXRhLWludGVydmFsLWhvdXJzID0gMQogIHNlbmQtb2Jzb2xldGUtZ2xvYmFsZGF0YS13YXJuaW5nLWVtYWlsLWZsYWcgPSB0cnVlCiAgc2VuZC1vYnNvbGV0ZS1nbG9iYWxkYXRhLXdhcm5pbmctZW1haWwtaW50ZXJ2YWwtaG91cnMgPSAyNAoKICBjaGVjay1jbHVzdGVyLWlkbGUgPSB0cnVlCiAgbWF4LWlkbGUtd29ya2VycyAgID0gMAoKICBhY3Rvci1uYW1lICA9ICJhZ2VudCIKICBodHRwLXBvcnQgICA9IDgwMDAgICMgdGhpcyBpcyBhbHNvIHVzZWQgYnkgc2NyaXB0ICJyZWFsdGltZSIKfQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBhbGwgc3ByYXkgc2VydmVycyB3aWxsIGJlIGFkZGVkIGludG8gYSBlbGFzdGljIGxvYWQgYmFsYW5jZXIKIyBsaXN0ZW5lcnMgYXJlIGh0dHAgcG9ydHMgODAyNSBhbmQgODAyNgojIGxvYWQgYmFsYW5jZXIgbXVzdCBiZSBjcmVhdGVkIGJlZm9yZWhhbmQgbWFudWFsbHkKZ3JpZHguc3ByYXkgewogICMgNjYwMCBpcyB0aGUgYWtrYSBzeXN0ZW0gcG9ydCBmb3Igc3ByYXkKICBha2thLXN5c3RlbS1wb3J0ID0gNjYwMAoKICBsYXVuY2hlciB7CiAgICBkaXNhYmxlLWFra2EtYmF0Y2gtdXBkYXRlID0gdHJ1ZQogIH0KCiAgZWxiIHsKICAgIHVzZS1lbGIgPSBmYWxzZQogICAgbG9hZC1iYWxhbmNlci1uYW1lID0gInh4eHgiCiAgICByZWdpb24gPSAke2dyaWR4LnJlZ2lvbn0KICB9CgogIGJ1c2luZXNzLXNlcnZlciB7CiAgICBhY3Rvci1uYW1lID0gImJ1c2luZXNzLXNlcnZlciIKICAgIHByaW8tbWFpbGJveCB7CiAgICAgIG1haWxib3gtdHlwZSA9ICJjb20uZ3JpZHgucmVhbHRpbWUuc3ByYXkuYnVzaW5lc3MuUHJpb01haWxCb3giCiAgICB9CiAgfQoKICB3ZWJvcHMtc2VydmVyIHsKICAgIGFjdG9yLW5hbWUgPSAid2Vib3BzLXNlcnZlciIKICAgIHN1Ym1pdC1iYXRjaC10aW1lb3V0LXNlYyA9IDMwCiAgICBjYW5jZWwtYmF0Y2gtdGltZW91dC1zZWMgPSAzMAogIH0KfQoKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmdyaWR4LndvcmtlciB7CiAgIyA2NzAwIGlzIHRoZSBha2thIHN5c3RlbSBwb3J0IGZvciB3b3JrZXIKICBha2thLXN5c3RlbS1wb3J0ID0gNjcwMAoKICBnbG9iYWwtZGF0YS1hY3RvciB7CiAgICBhY3Rvci1uYW1lICA9ICJnbG9iYWwtZGF0YS1hY3RvciIKICAgIGh0dHAtcG9ydCAgID0gNjcwMQogIH0KfQoKCmdyaWR4LmFzZyB7CiAgICAgICAgaG9zdCA9ICJha2thLWFzZy5pbnRlcm5hbC5ncmlkeC5jb20iCiAgICAgICAgcG9ydCA9IDUxMDAKCiAgICAgICAgZW5hYmxlLWF1dG8tc2NhbGluZy1jbHVzdGVyID0gdHJ1ZQoKICAgICAgICBlbmFibGUtbm90aWZpY2F0aW9uID0gdHJ1ZQogICAgICAgICMjIG1pbmltdW0gc2l6ZSBvZiB3b3JrZXIgbm9kZXMgaW4gY2x1c3RlcgogICAgbWluLXdvcmtlci1zaXplID0gMQogICAgIyMgbWF4aW11bSBzaXplIG9mIHdvcmtlciBub2RlcyBpbiBjbHVzdGVyCiAgICBtYXgtd29ya2VyLXNpemUgPSA1CiAgICAjI2F2ZXJhZ2UgbWF4aW11bSBqb2JzIHRvIGJlIHByb2Nlc3NlZCBpbiBhIHNpbmdsZSB3b3JrZXIgbm9kZQogICAgICAgYXZnLW1heC13b3JrZXItcXVldWUtam9icyA9IDUwCiAgICAgICAgc2NhbGUtaW50ZXJ2YWwtc2Vjb25kcz0xODAKICAgICAgICBzY2FsZS1vdXQtdGltZXMgPSAyCiAgICAgICAgc2NhbGUtaW4tdGltZXMgPSA0CiAgICAgICAgZW1haWxzID0gWyJzaGlodWlAZ3JpZHguY24iXQp9"); + System.out.println(object); + QueueReference res = jenkinsServer.getJob("juntest-pipeline-withparams").buildWithParams(object,null,false); + System.out.println(res.getQueueItemUrlPart()); + } +}