我试图通过java REST API管理JIRA。以下是我的问题: 1.如何在调用REST代码时通过webhook在URL中传递参数。 2.如何在REST代码中收到通过webhook传递的请求。
我创建了一个webhook并在提供的http://localhost:8080/rest/JIRAIntegration/JIRAService/record
网址中调用了我的rest api虽然我的其余代码看起来像
@Path("/JiraService")
public class JiraService {
@GET
@Path("/records")
public String getJiraRequest(InputStream response){
//req.getParameter("key");
BufferedReader br = null;
StringBuilder sb = new StringBuilder();
String line;
br = new BufferedReader(new InputStreamReader(response));
try {
while ((line = br.readLine()) != null) {
sb.append(line);
}
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Inputstream::"+sb.toString());
return sb.toString();
}
我是JIRA webhooks和REST的新手。任何帮助都非常感谢。
答案 0 :(得分:0)
接受Webhook的回应。你需要在jira中创建一个webhook并给予 一个可以公开访问的网址。 您的代码应该在端口80或443上运行。
现在说你的休息链接是 发布电话:http://xyz.abc.com/webservice/rest/jira/
在webhook中,您应该将网址设为http://xyz.abc.com/webservice/rest/jira/
你的休息控制器将有以下休息方法
@POST() @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public Response postMsg(String h){
Gson gson = new GsonBuilder().setPrettyPrinting().create(); JsonParser jp = new JsonParser(); JsonElement je = jp.parse(h); String prettyJsonString = gson.toJson(je); System.out.println("################################"); System.out.println(prettyJsonString); String output = prettyJsonString; return Response.status(200).entity(output).build(); }
现在执行此操作后,您应该将webhook配置为在创建或更新的Jira票证上发送respone等。