आप एक प्लगइन विकसित करते हैं, जैसे कि hudson.tasks.Builder फैली हुई है, JAX-आरएस ग्राहक के लिए pom.xml में निम्नलिखित शामिल हैं:
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
एक नमूना JAX-आरएस ग्राहक:
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriBuilder;
import org.glassfish.jersey.client.ClientConfig;
public class RestClient {
private static String BASE_URL = "http://localhost:8090/rest";
private static String ACCESS_TOKEN = "8900***bc1";
public static String query(String path) {
ClientConfig config = new ClientConfig();
Client client = ClientBuilder.newClient(config);
WebTarget target = client.target(getBaseURI());
// token authentication
String result = target.path(path).request().header("Authorization", "Token " + ACCESS_TOKEN)
.accept(MediaType.APPLICATION_JSON).get(String.class);
return result;
}
private static URI getBaseURI() {
return UriBuilder.fromUri(BASE_URL).build();
}
}
जहां http://localhost:8090/rest के बाहर आधार बाकी यूआरएल है जेनकींस पर्यावरण।अपने प्लगइन कोड में कहीं भी, आप सरल कॉल यह आवश्यक के रूप में कर सकते हैं:
String rsData = RestClient.query("/project_type");
मान पूर्ण बाकी वेब सेवा यूआरएल
http://localhost:8090/rest/project_type
तुम भी Apache HttpClient उपयोग कर सकते हैं, या OkHttp
स्रोत
2018-02-01 06:21:51
मुझे इस पर विश्वास है जवाब सहायक हो सकता है। http://stackoverflow.com/questions/8303365/how-to-call-a-web-service-from-ant-script-or-from-within-jenkins – WillieT