Visual Basic 6.0 Jira - Issues: Add a Comment

Back to Index

Adds a new comment to an issue. This example adds a comment for the issue with key = "SCRUM-15".

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

CURL Command

curl --user jira@example.com:JIRA_API_TOKEN \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '
    {
      "body": "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'

Visual Basic 6.0 Example

Dim rest As New ChilkatRest
Dim success As Long

'  URL: https://your-domain.atlassian.net/rest/api/2/issue/SCRUM-15/comment
Dim bTls As Long
bTls = 1
Dim port As Long
port = 443
Dim bAutoReconnect As Long
bAutoReconnect = 1
success = rest.Connect("your-domain.atlassian.net",port,bTls,bAutoReconnect)
If (success <> 1) Then
    Debug.Print "ConnectFailReason: " & rest.ConnectFailReason
    Debug.Print rest.LastErrorText
    Exit Sub
End If

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

Dim json As New ChilkatJsonObject
success = json.UpdateString("body","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.")
success = json.UpdateString("visibility.type","role")
success = json.UpdateString("visibility.value","Administrators")

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

Dim sbRequestBody As New ChilkatStringBuilder
success = json.EmitSb(sbRequestBody)
Dim sbResponseBody As New ChilkatStringBuilder
success = rest.FullRequestSb("POST","/rest/api/2/issue/SCRUM-15/comment",sbRequestBody,sbResponseBody)
If (success <> 1) Then
    Debug.Print rest.LastErrorText
    Exit Sub
End If

Dim respStatusCode As Long
respStatusCode = rest.ResponseStatusCode
If (respStatusCode >= 400) Then
    Debug.Print "Response Status Code = " & respStatusCode
    Debug.Print "Response Header:"
    Debug.Print rest.ResponseHeader
    Debug.Print "Response Body:"
    Debug.Print sbResponseBody.GetAsString()
    Exit Sub
End If

Dim jsonResponse As New ChilkatJsonObject
success = jsonResponse.LoadSb(sbResponseBody)

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

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": "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:14:41.741-0500",
  "visibility": {
    "type": "role",
    "value": "Administrators"
  }
}