gpt4 book ai didi

java - 如何使用 Java for Jenkins 使用 REST API 进行 POST

转载 作者:行者123 更新时间:2023-12-02 02:56:47 24 4
gpt4 key购买 nike

我是java领域的新学习者。我需要使用 REST API 创建 Jenkins 作业。我能够连接到 Jenkins 并列出其中的所有作业(GET 方法)。我想知道如何发帖。

我的计划是创建一个包含输入数据的 json 文件来创建作业,java 程序将读取它(json 文件)并将其发布到 Jenkins 并创建作业。我搜索了一些关于帖子的信息。我可以获得一些发布一些字符串数据的示例。如何将 json 文件数据发布到 Jenkins 并在 Jenkins 中创建一个作业?

我可以获得一个小代码片段以便我可以引用它或示例 Java 程序吗?

谢谢

最佳答案

您可以看到Jenkins API页。您可以使用 Jenkins 本身提供的文档来填补空白;例如,http://JENKINS_HOST/api将为您提供创建作业的 URL 和 http://JENKINS_HOST/job/JOBNAME/api将为您提供触发构建的 URL。

此后,您可以使用 Java 和 Jersey 来创建休息客户端。

在您的 Maven pom 中声明 jersey-client

<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.8</version>
</dependency>

然后使用上面示例的代码创建客户端:

import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;

public class JerseyClientPost {

public static void main(String[] args) {

try {

Client client = Client.create();

WebResource webResource = client
.resource("http://JENKINS_HOST/job/JOBNAME/api");

String input = "{\"key1\":\"value1\",\"key2\":\"value2\"}";

ClientResponse response = webResource.type("application/json")
.post(ClientResponse.class, input);

if (response.getStatus() != 201) {
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatus());
}

System.out.println("Output from Server .... \n");
String output = response.getEntity(String.class);
System.out.println(output);

} catch (Exception e) {

e.printStackTrace();

}

}
}

关于java - 如何使用 Java for Jenkins 使用 REST API 进行 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42956404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com