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.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.