Node.js Jira - Issues: Update a Comment

Back to Index

Updates a comment. This example updates comment (id=10019) for the issue with key = "SCRUM-15".

Documentation: https://developers.atlassian.com/cloud/jira/platform/rest/#api-api-2-issue-issueIdOrKey-comment-id-put

CURL Command

curl --request PUT --user jira@example.com:JIRA_API_TOKEN \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '
    {
      "body": "ABC Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.",
      "visibility": {
        "type": "role",
        "value": "Administrators"
      }
    }' \
  --url 'https://your-domain.atlassian.net/rest/api/2/issue/SCRUM-15/comment/10019'

Node.js Example

var os = require('os');
if (os.platform() == 'win32') {  
    var chilkat = require('chilkat_node6_win32'); 
} else if (os.platform() == 'linux') {
    if (os.arch() == 'arm') {
        var chilkat = require('chilkat_node6_arm');
    } else if (os.arch() == 'x86') {
        var chilkat = require('chilkat_node6_linux32');
    } else {
        var chilkat = require('chilkat_node6_linux64');
    }
} else if (os.platform() == 'darwin') {
    var chilkat = require('chilkat_node6_macosx');
}

function chilkatExample() {

    var rest = new chilkat.Rest();
    var success;

    //  URL: https://your-domain.atlassian.net/rest/api/2/issue/SCRUM-15/comment/10019
    var bTls = true;
    var port = 443;
    var bAutoReconnect = true;
    success = rest.Connect("your-domain.atlassian.net",port,bTls,bAutoReconnect);
    if (success !== true) {
        console.log("ConnectFailReason: " + rest.ConnectFailReason);
        console.log(rest.LastErrorText);
        return;
    }

    rest.SetAuthBasic("jira@example.com","JIRA_API_TOKEN");

    var json = new chilkat.JsonObject();
    json.UpdateString("body","ABC Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.");
    json.UpdateString("visibility.type","role");
    json.UpdateString("visibility.value","Administrators");

    rest.AddHeader("Content-Type","application/json");
    rest.AddHeader("Accept","application/json");

    var sbRequestBody = new chilkat.StringBuilder();
    json.EmitSb(sbRequestBody);
    var sbResponseBody = new chilkat.StringBuilder();
    success = rest.FullRequestSb("PUT","/rest/api/2/issue/SCRUM-15/comment/10019",sbRequestBody,sbResponseBody);
    if (success !== true) {
        console.log(rest.LastErrorText);
        return;
    }

    var respStatusCode = rest.ResponseStatusCode;
    if (respStatusCode >= 400) {
        console.log("Response Status Code = " + respStatusCode);
        console.log("Response Header:");
        console.log(rest.ResponseHeader);
        console.log("Response Body:");
        console.log(sbResponseBody.GetAsString());
        return;
    }

    var jsonResponse = new chilkat.JsonObject();
    jsonResponse.LoadSb(sbResponseBody);

    var self;
    var id;
    var authorSelf;
    var authorName;
    var authorKey;
    var authorAccountId;
    var authorEmailAddress;
    var authorAvatarUrls48x48;
    var authorAvatarUrls24x24;
    var authorAvatarUrls16x16;
    var authorAvatarUrls32x32;
    var authorDisplayName;
    var authorActive;
    var authorTimeZone;
    var body;
    var updateAuthorSelf;
    var updateAuthorName;
    var updateAuthorKey;
    var updateAuthorAccountId;
    var updateAuthorEmailAddress;
    var updateAuthorAvatarUrls48x48;
    var updateAuthorAvatarUrls24x24;
    var updateAuthorAvatarUrls16x16;
    var updateAuthorAvatarUrls32x32;
    var updateAuthorDisplayName;
    var updateAuthorActive;
    var updateAuthorTimeZone;
    var created;
    var updated;
    var visibilityType;
    var visibilityValue;

    self = jsonResponse.StringOf("self");
    id = jsonResponse.StringOf("id");
    authorSelf = jsonResponse.StringOf("author.self");
    authorName = jsonResponse.StringOf("author.name");
    authorKey = jsonResponse.StringOf("author.key");
    authorAccountId = jsonResponse.StringOf("author.accountId");
    authorEmailAddress = jsonResponse.StringOf("author.emailAddress");
    authorAvatarUrls48x48 = jsonResponse.StringOf("author.avatarUrls.48x48");
    authorAvatarUrls24x24 = jsonResponse.StringOf("author.avatarUrls.24x24");
    authorAvatarUrls16x16 = jsonResponse.StringOf("author.avatarUrls.16x16");
    authorAvatarUrls32x32 = jsonResponse.StringOf("author.avatarUrls.32x32");
    authorDisplayName = jsonResponse.StringOf("author.displayName");
    authorActive = jsonResponse.BoolOf("author.active");
    authorTimeZone = jsonResponse.StringOf("author.timeZone");
    body = jsonResponse.StringOf("body");
    updateAuthorSelf = jsonResponse.StringOf("updateAuthor.self");
    updateAuthorName = jsonResponse.StringOf("updateAuthor.name");
    updateAuthorKey = jsonResponse.StringOf("updateAuthor.key");
    updateAuthorAccountId = jsonResponse.StringOf("updateAuthor.accountId");
    updateAuthorEmailAddress = jsonResponse.StringOf("updateAuthor.emailAddress");
    updateAuthorAvatarUrls48x48 = jsonResponse.StringOf("updateAuthor.avatarUrls.48x48");
    updateAuthorAvatarUrls24x24 = jsonResponse.StringOf("updateAuthor.avatarUrls.24x24");
    updateAuthorAvatarUrls16x16 = jsonResponse.StringOf("updateAuthor.avatarUrls.16x16");
    updateAuthorAvatarUrls32x32 = jsonResponse.StringOf("updateAuthor.avatarUrls.32x32");
    updateAuthorDisplayName = jsonResponse.StringOf("updateAuthor.displayName");
    updateAuthorActive = jsonResponse.BoolOf("updateAuthor.active");
    updateAuthorTimeZone = jsonResponse.StringOf("updateAuthor.timeZone");
    created = jsonResponse.StringOf("created");
    updated = jsonResponse.StringOf("updated");
    visibilityType = jsonResponse.StringOf("visibility.type");
    visibilityValue = jsonResponse.StringOf("visibility.value");

}

chilkatExample();

Sample JSON Response Body

{
  "self": "https://chilkat.atlassian.net/rest/api/2/issue/10014/comment/10019",
  "id": "10019",
  "author": {
    "self": "https://chilkat.atlassian.net/rest/api/2/user?username=admin",
    "name": "admin",
    "key": "admin",
    "accountId": "557058:be8b47b5-3bc0-43f6-b6b2-2cca0de12204",
    "emailAddress": "admin@chilkatsoft.com",
    "avatarUrls": {
      "48x48": "https://avatar-cdn.atlassian.com/16d54dcc6d4bef86fd7ee62a7cf6334a?s=48&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F16d54dcc6d4bef86fd7ee62a7cf6334a%3Fd%3Dmm%26s%3D48%26noRedirect%3Dtrue",
      "24x24": "https://avatar-cdn.atlassian.com/16d54dcc6d4bef86fd7ee62a7cf6334a?s=24&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F16d54dcc6d4bef86fd7ee62a7cf6334a%3Fd%3Dmm%26s%3D24%26noRedirect%3Dtrue",
      "16x16": "https://avatar-cdn.atlassian.com/16d54dcc6d4bef86fd7ee62a7cf6334a?s=16&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F16d54dcc6d4bef86fd7ee62a7cf6334a%3Fd%3Dmm%26s%3D16%26noRedirect%3Dtrue",
      "32x32": "https://avatar-cdn.atlassian.com/16d54dcc6d4bef86fd7ee62a7cf6334a?s=32&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F16d54dcc6d4bef86fd7ee62a7cf6334a%3Fd%3Dmm%26s%3D32%26noRedirect%3Dtrue"
    },
    "displayName": "Chilkat Admin",
    "active": true,
    "timeZone": "America/Chicago"
  },
  "body": "ABC Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.",
  "updateAuthor": {
    "self": "https://chilkat.atlassian.net/rest/api/2/user?username=admin",
    "name": "admin",
    "key": "admin",
    "accountId": "557058:be8b47b5-3bc0-43f6-b6b2-2cca0de12204",
    "emailAddress": "admin@chilkatsoft.com",
    "avatarUrls": {
      "48x48": "https://avatar-cdn.atlassian.com/16d54dcc6d4bef86fd7ee62a7cf6334a?s=48&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F16d54dcc6d4bef86fd7ee62a7cf6334a%3Fd%3Dmm%26s%3D48%26noRedirect%3Dtrue",
      "24x24": "https://avatar-cdn.atlassian.com/16d54dcc6d4bef86fd7ee62a7cf6334a?s=24&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F16d54dcc6d4bef86fd7ee62a7cf6334a%3Fd%3Dmm%26s%3D24%26noRedirect%3Dtrue",
      "16x16": "https://avatar-cdn.atlassian.com/16d54dcc6d4bef86fd7ee62a7cf6334a?s=16&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F16d54dcc6d4bef86fd7ee62a7cf6334a%3Fd%3Dmm%26s%3D16%26noRedirect%3Dtrue",
      "32x32": "https://avatar-cdn.atlassian.com/16d54dcc6d4bef86fd7ee62a7cf6334a?s=32&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F16d54dcc6d4bef86fd7ee62a7cf6334a%3Fd%3Dmm%26s%3D32%26noRedirect%3Dtrue"
    },
    "displayName": "Chilkat Admin",
    "active": true,
    "timeZone": "America/Chicago"
  },
  "created": "2018-04-14T10:14:41.741-0500",
  "updated": "2018-04-14T10:25:07.558-0500",
  "visibility": {
    "type": "role",
    "value": "Administrators"
  }
}