Hello Community,
I'm trying to add a watcher to an existing jira issue with java jersey classes (JIRA Rest api).
I need to pass in the json syntax to get it work, but it keeps returning a 400. Any help on what the correct json syntax to use?
ex)
//**************************************************************
// Add watcher to an existing JIRA issue
//**************************************************************
public void add_jira_Watcher(String issue_ID, String watcher) {
try {
String ji_rest_edit_URL = "http://"+ji_Host+"/rest/api/2/issue/"+issue_ID+"/watchers";
final String json_add_Watcher = "{\"username\": \"+watcher+\"}";
System.out.println("URL: " + ji_rest_edit_URL);
WebResource webResource = client.resource(ji_rest_edit_URL);
ClientResponse response = webResource.header("Authorization", "Basic " + auth_base_64).type("application/json").accept("application/json").post(ClientResponse.class, json_add_Watcher);
@SuppressWarnings("deprecation")
int statusCode = response.getResponseStatus().getStatusCode();
if (statusCode != 204) {
jrest_API_Logger.info("add_jira_Watcher() --> Watcher added failed to issue "+issue_ID+": "+statusCode);
} else {
System.out.println("wachter: " + watcher + " was added to jira issue: "+issue_ID+": "+statusCode);
}
} catch (ClientHandlerException ex) {
jrest_API_Logger.info("add_jira_Watcher() ClientHandlerException ex.getMessage(): " + ex.getMessage() + ": " + issue_ID);
} catch (Exception ex) {
jrest_API_Logger.info("add_jira_Watcher() Exception ex.getMessage(): " + ex.getMessage() + ": " + issue_ID);
}
}
Thanks in advance.
TRX
I found that the parameter variable needed the quotes. Code solution below:
....
public void add_jira_Watcher(String issue_ID, String watcher) {
try {
.....
ClientResponse response = webResource.header("Authorization", "Basic " + auth_base_64).type("application/json").accept("application/json").post(ClientResponse.class, "\""+watcher+"\"");
.......
}
.....
Hope this helps anyone.
TRX
change the input string something like this
final String json_add_Watcher = "{\"+watcher+\"}";
the input param should allow only name of th watcher, check here for input params
https://docs.atlassian.com/jira/REST/latest/#d2e1398
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I've tried both the below and still get an 400 error for both.
final String json_add_Watcher = "{\"+watcher+\"}";
final String json_add_Watcher = "{"+watcher+"}";
Thoughts on other things I can try?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.