When I use the API to apply a transition I don't seem to be able to attach a comment to the issue altough the API documentation clearly says I should be (https://docs.atlassian.com/jira/REST/latest/#idp2074672)
Here is the JSON I'm trying to send via POST:
{
"update": {
"comment": [
{
"add": {
"body": "Some comment"
}
}
]
},
"fields": {
},
"transition": {
"id": "1"
}
}
The issue is being moved without problems and I don't see any errors in the response either, it feels like the method is just broken. Any suggestions? Thanks!
It seems the problem resolved itself although I haven't touched the code in a while. It was possibly a temporary issue with Atlassian's webservice. Thanks for the suggestions anyways.
The issue is still present. You can make the transition with a comment inside the request, but only the transition will be processed, the comment not.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
If you are trying to add a comment on any transition and facing problem in showing the comment because Comment field is not present on that transition so as a Solution for this, JIRA has a provision to add a screen on that transition with a Comment field on that screen. Then you will be able to see the comment in the comment section of that issue.
It will work fine then.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Except that there's no Comment field that you can add to a screen.
Proof: https://confluence.atlassian.com/jirakb/how-to-add-a-comment-during-a-transition-779160682.html
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You do not have to make a custom screen for every transition. You can select the Default Screen and that should get all the fields, including Comments field.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Same with me. The issue transits, but there is no comment. I do have Comment field on the screen of this transition ID.
+ 1 more thing: API now seems to not accept basic text content (like {"body": "Text"}), but it works with more complicated "document" format (like in this example: https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-api-3-issue-issueIdOrKey-comment-id-put). By "works" I mean "does not fail and returns HTTP 204". Still there is no comment appear.
Additionally, the methods works separately, if I call /issue/key/comment and issue/key/transitions it works as expected.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Im experiencing this issues as well, is there a fix?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I still believe it has nothing to do with client, but anyways here is my code:
http = Net::HTTP.new API_HOST, 443
http.use_ssl = true
req = Net::HTTP::Post.new "/rest/api/2/issue/JIRA-123/transitions", initheader = {'Content-Type' =>'application/json'}
req.basic_auth USERNAME, PASSWORD
# Load in request body template file
renderer = ERB.new File.new("transition.erb").read, nil, "%"
# Substitute variables with values and set result as the body
req.body = renderer.result
http.start do |http|
response = http.request req
end
Also note that I'm using ondemand so it might has a slightly different configuration.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
the following client code i have used test REST
package com.rest.client;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter;
public class RESTclient {
public static void main(String[] args) {
try {
Client client = Client.create();
client.addFilter(new HTTPBasicAuthFilter("admin", "admin"));
WebResource webResource = client.resource("http://LOCALHOST:8080/rest/api/2/issue/JIRA-100/transitions");
String input="{ \"update\": {\"comment\": [ { \"add\": {\"body\": \"Testing.\"} }]},\"fields\": {}, \"transition\": { \"id\": \"21\" }} ";
ClientResponse response = webResource.type("application/json").post(ClientResponse.class, input);
String output = response.getEntity(String.class);
System.out.println("Output from Server .... \n");
System.out.println(output);
} catch (Exception e) {
e.printStackTrace();
}
}
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I got the same result using a browser-based REST client like postman and writing an API service myself. I doubt it has anything to do with client code as the issue is being transitioned just fine. I also double checked the API user permissions and it does have right to insert comments. Is it possible that I need to enable something in the settings to make it work?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
i can able to add comment with your JSON which is
{ "update": { "comment": [ { "add": {"body": "Bug has been fixed."} }]},"fields": {}, "transition": { "id": "21" }}
how your trying to update? if you are using any client can you post your client code?
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.