PHP Extension 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'

PHP Extension Example

<?php

// The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number.
// For example, if using Chilkat v9.5.0.48, then include as shown here:
include("chilkat_9_5_0.php");

$rest = new CkRest();

//  URL: https://your-domain.atlassian.net/rest/api/2/issue/SCRUM-15/comment/10019
$bTls = true;
$port = 443;
$bAutoReconnect = true;
$success = $rest->Connect('your-domain.atlassian.net',$port,$bTls,$bAutoReconnect);
if ($success != true) {
    print 'ConnectFailReason: ' . $rest->get_ConnectFailReason() . "\n";
    print $rest->lastErrorText() . "\n";
    exit;
}

$rest->SetAuthBasic('jira@example.com','JIRA_API_TOKEN');

$json = new CkJsonObject();
$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');

$sbRequestBody = new CkStringBuilder();
$json->EmitSb($sbRequestBody);
$sbResponseBody = new CkStringBuilder();
$success = $rest->FullRequestSb('PUT','/rest/api/2/issue/SCRUM-15/comment/10019',$sbRequestBody,$sbResponseBody);
if ($success != true) {
    print $rest->lastErrorText() . "\n";
    exit;
}

$respStatusCode = $rest->get_ResponseStatusCode();
if ($respStatusCode >= 400) {
    print 'Response Status Code = ' . $respStatusCode . "\n";
    print 'Response Header:' . "\n";
    print $rest->responseHeader() . "\n";
    print 'Response Body:' . "\n";
    print $sbResponseBody->getAsString() . "\n";
    exit;
}

$jsonResponse = new CkJsonObject();
$jsonResponse->LoadSb($sbResponseBody);

$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');

?>

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"
  }
}