Swift Jira - Issues: Get an Issue

Back to Index

Returns a full representation of the issue for the given issue key or ID. This example returns the JSON for the issue with key = "SCRUM-15".

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

CURL Command

curl --user jira@example.com:JIRA_API_TOKEN \
  --header 'Accept: application/json' \
  --url 'https://your-domain.atlassian.net/rest/api/2/issue/SCRUM-15'

Swift Example


func chilkatTest() {
    let rest = CkoRest()
    var success: Bool

    //  URL: https://your-domain.atlassian.net/rest/api/2/issue/SCRUM-15
    var bTls: Bool = true
    var port: Int = 443
    var bAutoReconnect: Bool = true
    success = rest.Connect("your-domain.atlassian.net", port: port, tls: bTls, autoReconnect: bAutoReconnect)
    if success != true {
        print("ConnectFailReason: \(rest.ConnectFailReason.intValue)")
        print("\(rest.LastErrorText)")
        return
    }

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

    rest.AddHeader("Accept", value: "application/json")

    let sbResponseBody = CkoStringBuilder()
    success = rest.FullRequestNoBodySb("GET", uriPath: "/rest/api/2/issue/SCRUM-15", sb: sbResponseBody)
    if success != true {
        print("\(rest.LastErrorText)")
        return
    }

    var respStatusCode: Int = rest.ResponseStatusCode.intValue
    if respStatusCode >= 400 {
        print("Response Status Code = \(respStatusCode)")
        print("Response Header:")
        print("\(rest.ResponseHeader)")
        print("Response Body:")
        print("\(sbResponseBody.GetAsString())")
        return
    }

    let jsonResponse = CkoJsonObject()
    jsonResponse.LoadSb(sbResponseBody)

    var expand: String?
    var id: String?
    var self: String?
    var key: String?
    var fieldsIssuetypeSelf: String?
    var fieldsIssuetypeId: String?
    var fieldsIssuetypeDescription: String?
    var fieldsIssuetypeIconUrl: String?
    var fieldsIssuetypeName: String?
    var fieldsIssuetypeSubtask: Bool
    var fieldsTimespent: Bool
    var fieldsProjectSelf: String?
    var fieldsProjectId: String?
    var fieldsProjectKey: String?
    var fieldsProjectName: String?
    var fieldsProjectProjectTypeKey: String?
    var fieldsProjectAvatarUrls48x48: String?
    var fieldsProjectAvatarUrls24x24: String?
    var fieldsProjectAvatarUrls16x16: String?
    var fieldsProjectAvatarUrls32x32: String?
    var fieldsProjectProjectCategorySelf: String?
    var fieldsProjectProjectCategoryId: String?
    var fieldsProjectProjectCategoryDescription: String?
    var fieldsProjectProjectCategoryName: String?
    var fieldsAggregatetimespent: Bool
    var fieldsResolutionSelf: String?
    var fieldsResolutionId: String?
    var fieldsResolutionDescription: String?
    var fieldsResolutionName: String?
    var fieldsCustomfield_10027: String?
    var fieldsCustomfield_10028: String?
    var fieldsCustomfield_10029: String?
    var fieldsResolutiondate: String?
    var fieldsWorkratio: Int
    var fieldsWatchesSelf: String?
    var fieldsWatchesWatchCount: Int
    var fieldsWatchesIsWatching: Bool
    var fieldsLastViewed: String?
    var fieldsCreated: String?
    var fieldsCustomfield_10022: Bool
    var fieldsCustomfield_10023: String?
    var fieldsPrioritySelf: String?
    var fieldsPriorityIconUrl: String?
    var fieldsPriorityName: String?
    var fieldsPriorityId: String?
    var fieldsCustomfield_10024: String?
    var fieldsCustomfield_10025: String?
    var fieldsCustomfield_10026: String?
    var fieldsCustomfield_10017: Bool
    var fieldsCustomfield_10018: Bool
    var fieldsCustomfield_10019: Int
    var fieldsAggregatetimeoriginalestimate: Bool
    var fieldsTimeestimate: Bool
    var fieldsAssigneeSelf: String?
    var fieldsAssigneeName: String?
    var fieldsAssigneeKey: String?
    var fieldsAssigneeAccountId: String?
    var fieldsAssigneeEmailAddress: String?
    var fieldsAssigneeAvatarUrls48x48: String?
    var fieldsAssigneeAvatarUrls24x24: String?
    var fieldsAssigneeAvatarUrls16x16: String?
    var fieldsAssigneeAvatarUrls32x32: String?
    var fieldsAssigneeDisplayName: String?
    var fieldsAssigneeActive: Bool
    var fieldsAssigneeTimeZone: String?
    var fieldsUpdated: String?
    var fieldsStatusSelf: String?
    var fieldsStatusDescription: String?
    var fieldsStatusIconUrl: String?
    var fieldsStatusName: String?
    var fieldsStatusId: String?
    var fieldsStatusStatusCategorySelf: String?
    var fieldsStatusStatusCategoryId: Int
    var fieldsStatusStatusCategoryKey: String?
    var fieldsStatusStatusCategoryColorName: String?
    var fieldsStatusStatusCategoryName: String?
    var fieldsTimeoriginalestimate: Bool
    var fieldsDescription: Bool
    var fieldsCustomfield_10011: String?
    var fieldsCustomfield_10012: Bool
    var fieldsCustomfield_10013: String?
    var fieldsCustomfield_10014: Bool
    var fieldsCustomfield_10015: Bool
    var fieldsSecurity: Bool
    var fieldsCustomfield_10008: Bool
    var fieldsAggregatetimeestimate: Bool
    var fieldsCustomfield_10009: Bool
    var fieldsSummary: String?
    var fieldsCreatorSelf: String?
    var fieldsCreatorName: String?
    var fieldsCreatorKey: String?
    var fieldsCreatorAccountId: String?
    var fieldsCreatorEmailAddress: String?
    var fieldsCreatorAvatarUrls48x48: String?
    var fieldsCreatorAvatarUrls24x24: String?
    var fieldsCreatorAvatarUrls16x16: String?
    var fieldsCreatorAvatarUrls32x32: String?
    var fieldsCreatorDisplayName: String?
    var fieldsCreatorActive: Bool
    var fieldsCreatorTimeZone: String?
    var fieldsReporterSelf: String?
    var fieldsReporterName: String?
    var fieldsReporterKey: String?
    var fieldsReporterAccountId: String?
    var fieldsReporterEmailAddress: String?
    var fieldsReporterAvatarUrls48x48: String?
    var fieldsReporterAvatarUrls24x24: String?
    var fieldsReporterAvatarUrls16x16: String?
    var fieldsReporterAvatarUrls32x32: String?
    var fieldsReporterDisplayName: String?
    var fieldsReporterActive: Bool
    var fieldsReporterTimeZone: String?
    var fieldsCustomfield_10000: String?
    var fieldsAggregateprogressProgress: Int
    var fieldsAggregateprogressTotal: Int
    var fieldsCustomfield_10001: Bool
    var fieldsCustomfield_10002: Bool
    var fieldsCustomfield_10003: String?
    var fieldsCustomfield_10004: Bool
    var fieldsEnvironment: Bool
    var fieldsDuedate: Bool
    var fieldsProgressProgress: Int
    var fieldsProgressTotal: Int
    var fieldsVotesSelf: String?
    var fieldsVotesVotes: Int
    var fieldsVotesHasVoted: Bool
    var fieldsCommentMaxResults: Int
    var fieldsCommentTotal: Int
    var fieldsCommentStartAt: Int
    var fieldsWorklogStartAt: Int
    var fieldsWorklogMaxResults: Int
    var fieldsWorklogTotal: Int
    var i: Int
    var count_i: Int
    var strVal: String?
    var authorSelf: String?
    var authorName: String?
    var authorKey: String?
    var authorAccountId: String?
    var authorEmailAddress: String?
    var authorAvatarUrls48x48: String?
    var authorAvatarUrls24x24: String?
    var authorAvatarUrls16x16: String?
    var authorAvatarUrls32x32: String?
    var authorDisplayName: String?
    var authorActive: Bool
    var authorTimeZone: String?
    var body: String?
    var updateAuthorSelf: String?
    var updateAuthorName: String?
    var updateAuthorKey: String?
    var updateAuthorAccountId: String?
    var updateAuthorEmailAddress: String?
    var updateAuthorAvatarUrls48x48: String?
    var updateAuthorAvatarUrls24x24: String?
    var updateAuthorAvatarUrls16x16: String?
    var updateAuthorAvatarUrls32x32: String?
    var updateAuthorDisplayName: String?
    var updateAuthorActive: Bool
    var updateAuthorTimeZone: String?
    var created: String?
    var updated: String?

    expand = jsonResponse.StringOf("expand")
    id = jsonResponse.StringOf("id")
    self = jsonResponse.StringOf("self")
    key = jsonResponse.StringOf("key")
    fieldsIssuetypeSelf = jsonResponse.StringOf("fields.issuetype.self")
    fieldsIssuetypeId = jsonResponse.StringOf("fields.issuetype.id")
    fieldsIssuetypeDescription = jsonResponse.StringOf("fields.issuetype.description")
    fieldsIssuetypeIconUrl = jsonResponse.StringOf("fields.issuetype.iconUrl")
    fieldsIssuetypeName = jsonResponse.StringOf("fields.issuetype.name")
    fieldsIssuetypeSubtask = jsonResponse.BoolOf("fields.issuetype.subtask")
    fieldsTimespent = jsonResponse.IsNullOf("fields.timespent")
    fieldsProjectSelf = jsonResponse.StringOf("fields.project.self")
    fieldsProjectId = jsonResponse.StringOf("fields.project.id")
    fieldsProjectKey = jsonResponse.StringOf("fields.project.key")
    fieldsProjectName = jsonResponse.StringOf("fields.project.name")
    fieldsProjectProjectTypeKey = jsonResponse.StringOf("fields.project.projectTypeKey")
    fieldsProjectAvatarUrls48x48 = jsonResponse.StringOf("fields.project.avatarUrls.48x48")
    fieldsProjectAvatarUrls24x24 = jsonResponse.StringOf("fields.project.avatarUrls.24x24")
    fieldsProjectAvatarUrls16x16 = jsonResponse.StringOf("fields.project.avatarUrls.16x16")
    fieldsProjectAvatarUrls32x32 = jsonResponse.StringOf("fields.project.avatarUrls.32x32")
    fieldsProjectProjectCategorySelf = jsonResponse.StringOf("fields.project.projectCategory.self")
    fieldsProjectProjectCategoryId = jsonResponse.StringOf("fields.project.projectCategory.id")
    fieldsProjectProjectCategoryDescription = jsonResponse.StringOf("fields.project.projectCategory.description")
    fieldsProjectProjectCategoryName = jsonResponse.StringOf("fields.project.projectCategory.name")
    fieldsAggregatetimespent = jsonResponse.IsNullOf("fields.aggregatetimespent")
    fieldsResolutionSelf = jsonResponse.StringOf("fields.resolution.self")
    fieldsResolutionId = jsonResponse.StringOf("fields.resolution.id")
    fieldsResolutionDescription = jsonResponse.StringOf("fields.resolution.description")
    fieldsResolutionName = jsonResponse.StringOf("fields.resolution.name")
    fieldsCustomfield_10027 = jsonResponse.StringOf("fields.customfield_10027")
    fieldsCustomfield_10028 = jsonResponse.StringOf("fields.customfield_10028")
    fieldsCustomfield_10029 = jsonResponse.StringOf("fields.customfield_10029")
    fieldsResolutiondate = jsonResponse.StringOf("fields.resolutiondate")
    fieldsWorkratio = jsonResponse.IntOf("fields.workratio").intValue
    fieldsWatchesSelf = jsonResponse.StringOf("fields.watches.self")
    fieldsWatchesWatchCount = jsonResponse.IntOf("fields.watches.watchCount").intValue
    fieldsWatchesIsWatching = jsonResponse.BoolOf("fields.watches.isWatching")
    fieldsLastViewed = jsonResponse.StringOf("fields.lastViewed")
    fieldsCreated = jsonResponse.StringOf("fields.created")
    fieldsCustomfield_10022 = jsonResponse.IsNullOf("fields.customfield_10022")
    fieldsCustomfield_10023 = jsonResponse.StringOf("fields.customfield_10023")
    fieldsPrioritySelf = jsonResponse.StringOf("fields.priority.self")
    fieldsPriorityIconUrl = jsonResponse.StringOf("fields.priority.iconUrl")
    fieldsPriorityName = jsonResponse.StringOf("fields.priority.name")
    fieldsPriorityId = jsonResponse.StringOf("fields.priority.id")
    fieldsCustomfield_10024 = jsonResponse.StringOf("fields.customfield_10024")
    fieldsCustomfield_10025 = jsonResponse.StringOf("fields.customfield_10025")
    fieldsCustomfield_10026 = jsonResponse.StringOf("fields.customfield_10026")
    fieldsCustomfield_10017 = jsonResponse.IsNullOf("fields.customfield_10017")
    fieldsCustomfield_10018 = jsonResponse.IsNullOf("fields.customfield_10018")
    fieldsCustomfield_10019 = jsonResponse.IntOf("fields.customfield_10019").intValue
    fieldsAggregatetimeoriginalestimate = jsonResponse.IsNullOf("fields.aggregatetimeoriginalestimate")
    fieldsTimeestimate = jsonResponse.IsNullOf("fields.timeestimate")
    fieldsAssigneeSelf = jsonResponse.StringOf("fields.assignee.self")
    fieldsAssigneeName = jsonResponse.StringOf("fields.assignee.name")
    fieldsAssigneeKey = jsonResponse.StringOf("fields.assignee.key")
    fieldsAssigneeAccountId = jsonResponse.StringOf("fields.assignee.accountId")
    fieldsAssigneeEmailAddress = jsonResponse.StringOf("fields.assignee.emailAddress")
    fieldsAssigneeAvatarUrls48x48 = jsonResponse.StringOf("fields.assignee.avatarUrls.48x48")
    fieldsAssigneeAvatarUrls24x24 = jsonResponse.StringOf("fields.assignee.avatarUrls.24x24")
    fieldsAssigneeAvatarUrls16x16 = jsonResponse.StringOf("fields.assignee.avatarUrls.16x16")
    fieldsAssigneeAvatarUrls32x32 = jsonResponse.StringOf("fields.assignee.avatarUrls.32x32")
    fieldsAssigneeDisplayName = jsonResponse.StringOf("fields.assignee.displayName")
    fieldsAssigneeActive = jsonResponse.BoolOf("fields.assignee.active")
    fieldsAssigneeTimeZone = jsonResponse.StringOf("fields.assignee.timeZone")
    fieldsUpdated = jsonResponse.StringOf("fields.updated")
    fieldsStatusSelf = jsonResponse.StringOf("fields.status.self")
    fieldsStatusDescription = jsonResponse.StringOf("fields.status.description")
    fieldsStatusIconUrl = jsonResponse.StringOf("fields.status.iconUrl")
    fieldsStatusName = jsonResponse.StringOf("fields.status.name")
    fieldsStatusId = jsonResponse.StringOf("fields.status.id")
    fieldsStatusStatusCategorySelf = jsonResponse.StringOf("fields.status.statusCategory.self")
    fieldsStatusStatusCategoryId = jsonResponse.IntOf("fields.status.statusCategory.id").intValue
    fieldsStatusStatusCategoryKey = jsonResponse.StringOf("fields.status.statusCategory.key")
    fieldsStatusStatusCategoryColorName = jsonResponse.StringOf("fields.status.statusCategory.colorName")
    fieldsStatusStatusCategoryName = jsonResponse.StringOf("fields.status.statusCategory.name")
    fieldsTimeoriginalestimate = jsonResponse.IsNullOf("fields.timeoriginalestimate")
    fieldsDescription = jsonResponse.IsNullOf("fields.description")
    fieldsCustomfield_10011 = jsonResponse.StringOf("fields.customfield_10011")
    fieldsCustomfield_10012 = jsonResponse.IsNullOf("fields.customfield_10012")
    fieldsCustomfield_10013 = jsonResponse.StringOf("fields.customfield_10013")
    fieldsCustomfield_10014 = jsonResponse.IsNullOf("fields.customfield_10014")
    fieldsCustomfield_10015 = jsonResponse.IsNullOf("fields.customfield_10015")
    fieldsSecurity = jsonResponse.IsNullOf("fields.security")
    fieldsCustomfield_10008 = jsonResponse.IsNullOf("fields.customfield_10008")
    fieldsAggregatetimeestimate = jsonResponse.IsNullOf("fields.aggregatetimeestimate")
    fieldsCustomfield_10009 = jsonResponse.IsNullOf("fields.customfield_10009")
    fieldsSummary = jsonResponse.StringOf("fields.summary")
    fieldsCreatorSelf = jsonResponse.StringOf("fields.creator.self")
    fieldsCreatorName = jsonResponse.StringOf("fields.creator.name")
    fieldsCreatorKey = jsonResponse.StringOf("fields.creator.key")
    fieldsCreatorAccountId = jsonResponse.StringOf("fields.creator.accountId")
    fieldsCreatorEmailAddress = jsonResponse.StringOf("fields.creator.emailAddress")
    fieldsCreatorAvatarUrls48x48 = jsonResponse.StringOf("fields.creator.avatarUrls.48x48")
    fieldsCreatorAvatarUrls24x24 = jsonResponse.StringOf("fields.creator.avatarUrls.24x24")
    fieldsCreatorAvatarUrls16x16 = jsonResponse.StringOf("fields.creator.avatarUrls.16x16")
    fieldsCreatorAvatarUrls32x32 = jsonResponse.StringOf("fields.creator.avatarUrls.32x32")
    fieldsCreatorDisplayName = jsonResponse.StringOf("fields.creator.displayName")
    fieldsCreatorActive = jsonResponse.BoolOf("fields.creator.active")
    fieldsCreatorTimeZone = jsonResponse.StringOf("fields.creator.timeZone")
    fieldsReporterSelf = jsonResponse.StringOf("fields.reporter.self")
    fieldsReporterName = jsonResponse.StringOf("fields.reporter.name")
    fieldsReporterKey = jsonResponse.StringOf("fields.reporter.key")
    fieldsReporterAccountId = jsonResponse.StringOf("fields.reporter.accountId")
    fieldsReporterEmailAddress = jsonResponse.StringOf("fields.reporter.emailAddress")
    fieldsReporterAvatarUrls48x48 = jsonResponse.StringOf("fields.reporter.avatarUrls.48x48")
    fieldsReporterAvatarUrls24x24 = jsonResponse.StringOf("fields.reporter.avatarUrls.24x24")
    fieldsReporterAvatarUrls16x16 = jsonResponse.StringOf("fields.reporter.avatarUrls.16x16")
    fieldsReporterAvatarUrls32x32 = jsonResponse.StringOf("fields.reporter.avatarUrls.32x32")
    fieldsReporterDisplayName = jsonResponse.StringOf("fields.reporter.displayName")
    fieldsReporterActive = jsonResponse.BoolOf("fields.reporter.active")
    fieldsReporterTimeZone = jsonResponse.StringOf("fields.reporter.timeZone")
    fieldsCustomfield_10000 = jsonResponse.StringOf("fields.customfield_10000")
    fieldsAggregateprogressProgress = jsonResponse.IntOf("fields.aggregateprogress.progress").intValue
    fieldsAggregateprogressTotal = jsonResponse.IntOf("fields.aggregateprogress.total").intValue
    fieldsCustomfield_10001 = jsonResponse.IsNullOf("fields.customfield_10001")
    fieldsCustomfield_10002 = jsonResponse.IsNullOf("fields.customfield_10002")
    fieldsCustomfield_10003 = jsonResponse.StringOf("fields.customfield_10003")
    fieldsCustomfield_10004 = jsonResponse.IsNullOf("fields.customfield_10004")
    fieldsEnvironment = jsonResponse.IsNullOf("fields.environment")
    fieldsDuedate = jsonResponse.IsNullOf("fields.duedate")
    fieldsProgressProgress = jsonResponse.IntOf("fields.progress.progress").intValue
    fieldsProgressTotal = jsonResponse.IntOf("fields.progress.total").intValue
    fieldsVotesSelf = jsonResponse.StringOf("fields.votes.self")
    fieldsVotesVotes = jsonResponse.IntOf("fields.votes.votes").intValue
    fieldsVotesHasVoted = jsonResponse.BoolOf("fields.votes.hasVoted")
    fieldsCommentMaxResults = jsonResponse.IntOf("fields.comment.maxResults").intValue
    fieldsCommentTotal = jsonResponse.IntOf("fields.comment.total").intValue
    fieldsCommentStartAt = jsonResponse.IntOf("fields.comment.startAt").intValue
    fieldsWorklogStartAt = jsonResponse.IntOf("fields.worklog.startAt").intValue
    fieldsWorklogMaxResults = jsonResponse.IntOf("fields.worklog.maxResults").intValue
    fieldsWorklogTotal = jsonResponse.IntOf("fields.worklog.total").intValue
    i = 0
    count_i = jsonResponse.SizeOfArray("fields.fixVersions").intValue
    while i < count_i {
        jsonResponse.I = i
        i = i + 1
    }

    i = 0
    count_i = jsonResponse.SizeOfArray("fields.labels").intValue
    while i < count_i {
        jsonResponse.I = i
        i = i + 1
    }

    i = 0
    count_i = jsonResponse.SizeOfArray("fields.customfield_10016").intValue
    while i < count_i {
        jsonResponse.I = i
        i = i + 1
    }

    i = 0
    count_i = jsonResponse.SizeOfArray("fields.versions").intValue
    while i < count_i {
        jsonResponse.I = i
        i = i + 1
    }

    i = 0
    count_i = jsonResponse.SizeOfArray("fields.issuelinks").intValue
    while i < count_i {
        jsonResponse.I = i
        i = i + 1
    }

    i = 0
    count_i = jsonResponse.SizeOfArray("fields.components").intValue
    while i < count_i {
        jsonResponse.I = i
        i = i + 1
    }

    i = 0
    count_i = jsonResponse.SizeOfArray("fields.customfield_10010").intValue
    while i < count_i {
        jsonResponse.I = i
        strVal = jsonResponse.StringOf("fields.customfield_10010[i]")
        i = i + 1
    }

    i = 0
    count_i = jsonResponse.SizeOfArray("fields.attachment").intValue
    while i < count_i {
        jsonResponse.I = i
        i = i + 1
    }

    i = 0
    count_i = jsonResponse.SizeOfArray("fields.subtasks").intValue
    while i < count_i {
        jsonResponse.I = i
        i = i + 1
    }

    i = 0
    count_i = jsonResponse.SizeOfArray("fields.comment.comments").intValue
    while i < count_i {
        jsonResponse.I = i
        self = jsonResponse.StringOf("fields.comment.comments[i].self")
        id = jsonResponse.StringOf("fields.comment.comments[i].id")
        authorSelf = jsonResponse.StringOf("fields.comment.comments[i].author.self")
        authorName = jsonResponse.StringOf("fields.comment.comments[i].author.name")
        authorKey = jsonResponse.StringOf("fields.comment.comments[i].author.key")
        authorAccountId = jsonResponse.StringOf("fields.comment.comments[i].author.accountId")
        authorEmailAddress = jsonResponse.StringOf("fields.comment.comments[i].author.emailAddress")
        authorAvatarUrls48x48 = jsonResponse.StringOf("fields.comment.comments[i].author.avatarUrls.48x48")
        authorAvatarUrls24x24 = jsonResponse.StringOf("fields.comment.comments[i].author.avatarUrls.24x24")
        authorAvatarUrls16x16 = jsonResponse.StringOf("fields.comment.comments[i].author.avatarUrls.16x16")
        authorAvatarUrls32x32 = jsonResponse.StringOf("fields.comment.comments[i].author.avatarUrls.32x32")
        authorDisplayName = jsonResponse.StringOf("fields.comment.comments[i].author.displayName")
        authorActive = jsonResponse.BoolOf("fields.comment.comments[i].author.active")
        authorTimeZone = jsonResponse.StringOf("fields.comment.comments[i].author.timeZone")
        body = jsonResponse.StringOf("fields.comment.comments[i].body")
        updateAuthorSelf = jsonResponse.StringOf("fields.comment.comments[i].updateAuthor.self")
        updateAuthorName = jsonResponse.StringOf("fields.comment.comments[i].updateAuthor.name")
        updateAuthorKey = jsonResponse.StringOf("fields.comment.comments[i].updateAuthor.key")
        updateAuthorAccountId = jsonResponse.StringOf("fields.comment.comments[i].updateAuthor.accountId")
        updateAuthorEmailAddress = jsonResponse.StringOf("fields.comment.comments[i].updateAuthor.emailAddress")
        updateAuthorAvatarUrls48x48 = jsonResponse.StringOf("fields.comment.comments[i].updateAuthor.avatarUrls.48x48")
        updateAuthorAvatarUrls24x24 = jsonResponse.StringOf("fields.comment.comments[i].updateAuthor.avatarUrls.24x24")
        updateAuthorAvatarUrls16x16 = jsonResponse.StringOf("fields.comment.comments[i].updateAuthor.avatarUrls.16x16")
        updateAuthorAvatarUrls32x32 = jsonResponse.StringOf("fields.comment.comments[i].updateAuthor.avatarUrls.32x32")
        updateAuthorDisplayName = jsonResponse.StringOf("fields.comment.comments[i].updateAuthor.displayName")
        updateAuthorActive = jsonResponse.BoolOf("fields.comment.comments[i].updateAuthor.active")
        updateAuthorTimeZone = jsonResponse.StringOf("fields.comment.comments[i].updateAuthor.timeZone")
        created = jsonResponse.StringOf("fields.comment.comments[i].created")
        updated = jsonResponse.StringOf("fields.comment.comments[i].updated")
        i = i + 1
    }

    i = 0
    count_i = jsonResponse.SizeOfArray("fields.worklog.worklogs").intValue
    while i < count_i {
        jsonResponse.I = i
        i = i + 1
    }


}

Sample JSON Response Body

{
  "expand": "renderedFields,names,schema,operations,editmeta,changelog,versionedRepresentations",
  "id": "10014",
  "self": "https://chilkat.atlassian.net/rest/api/2/issue/10014",
  "key": "SCRUM-15",
  "fields": {
    "issuetype": {
      "self": "https://chilkat.atlassian.net/rest/api/2/issuetype/10001",
      "id": "10001",
      "description": "Stories track functionality or features expressed as user goals.",
      "iconUrl": "https://chilkat.atlassian.net/images/icons/issuetypes/story.svg",
      "name": "Story",
      "subtask": false
    },
    "timespent": null,
    "project": {
      "self": "https://chilkat.atlassian.net/rest/api/2/project/10000",
      "id": "10000",
      "key": "SCRUM",
      "name": "Scrumsoft",
      "projectTypeKey": "software",
      "avatarUrls": {
        "48x48": "https://chilkat.atlassian.net/secure/projectavatar?pid=10000&avatarId=10400",
        "24x24": "https://chilkat.atlassian.net/secure/projectavatar?size=small&pid=10000&avatarId=10400",
        "16x16": "https://chilkat.atlassian.net/secure/projectavatar?size=xsmall&pid=10000&avatarId=10400",
        "32x32": "https://chilkat.atlassian.net/secure/projectavatar?size=medium&pid=10000&avatarId=10400"
      },
      "projectCategory": {
        "self": "https://chilkat.atlassian.net/rest/api/2/projectCategory/10002",
        "id": "10002",
        "description": "Insane Projects",
        "name": "Insane"
      }
    },
    "fixVersions": [
    ],
    "aggregatetimespent": null,
    "resolution": {
      "self": "https://chilkat.atlassian.net/rest/api/2/resolution/10000",
      "id": "10000",
      "description": "Work has been completed on this issue.",
      "name": "Done"
    },
    "customfield_10027": "",
    "customfield_10028": "",
    "customfield_10029": "",
    "resolutiondate": "2018-04-08T00:33:55.852-0500",
    "workratio": -1,
    "watches": {
      "self": "https://chilkat.atlassian.net/rest/api/2/issue/SCRUM-15/watchers",
      "watchCount": 0,
      "isWatching": false
    },
    "lastViewed": "2018-04-12T20:07:08.181-0500",
    "created": "2018-04-03T09:57:55.852-0500",
    "customfield_10022": null,
    "customfield_10023": "",
    "priority": {
      "self": "https://chilkat.atlassian.net/rest/api/2/priority/3",
      "iconUrl": "https://chilkat.atlassian.net/images/icons/priorities/medium.svg",
      "name": "Medium",
      "id": "3"
    },
    "customfield_10024": "",
    "customfield_10025": "",
    "customfield_10026": "",
    "labels": [
    ],
    "customfield_10016": [
    ],
    "customfield_10017": null,
    "customfield_10018": null,
    "customfield_10019": 4.0,
    "aggregatetimeoriginalestimate": null,
    "timeestimate": null,
    "versions": [
    ],
    "issuelinks": [
    ],
    "assignee": {
      "self": "https://chilkat.atlassian.net/rest/api/2/user?username=matt",
      "name": "matt",
      "key": "matt",
      "accountId": "5acf82d7926ac92a7c0d7bd3",
      "emailAddress": "matt@@chilkat.io",
      "avatarUrls": {
        "48x48": "https://avatar-cdn.atlassian.com/ae220e85f283d0ecea372e06ad2261d3?s=48&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2Fae220e85f283d0ecea372e06ad2261d3%3Fd%3Dmm%26s%3D48%26noRedirect%3Dtrue",
        "24x24": "https://avatar-cdn.atlassian.com/ae220e85f283d0ecea372e06ad2261d3?s=24&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2Fae220e85f283d0ecea372e06ad2261d3%3Fd%3Dmm%26s%3D24%26noRedirect%3Dtrue",
        "16x16": "https://avatar-cdn.atlassian.com/ae220e85f283d0ecea372e06ad2261d3?s=16&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2Fae220e85f283d0ecea372e06ad2261d3%3Fd%3Dmm%26s%3D16%26noRedirect%3Dtrue",
        "32x32": "https://avatar-cdn.atlassian.com/ae220e85f283d0ecea372e06ad2261d3?s=32&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2Fae220e85f283d0ecea372e06ad2261d3%3Fd%3Dmm%26s%3D32%26noRedirect%3Dtrue"
      },
      "displayName": "Matt of Chilkat",
      "active": true,
      "timeZone": "America/Chicago"
    },
    "updated": "2018-04-12T20:07:08.104-0500",
    "status": {
      "self": "https://chilkat.atlassian.net/rest/api/2/status/10001",
      "description": "",
      "iconUrl": "https://chilkat.atlassian.net/",
      "name": "Done",
      "id": "10001",
      "statusCategory": {
        "self": "https://chilkat.atlassian.net/rest/api/2/statuscategory/3",
        "id": 3,
        "key": "done",
        "colorName": "green",
        "name": "Done"
      }
    },
    "components": [
    ],
    "timeoriginalestimate": null,
    "description": null,
    "customfield_10010": [
      "com.atlassian.greenhopper.service.sprint.Sprint@@3aaca4f7[id=1,rapidViewId=1,state=ACTIVE,name=Sample Sprint 2,goal=<null>,startDate=2018-04-03T14:57:57.335Z,endDate=2018-04-17T15:17:57.335Z,completeDate=<null>,sequence=1]"
    ],
    "customfield_10011": "0|i0000n:",
    "customfield_10012": null,
    "customfield_10013": "3_*:*_1_*:*_208320000_*|*_10000_*:*_1_*:*_189840000_*|*_10001_*:*_1_*:*_0",
    "customfield_10014": null,
    "customfield_10015": null,
    "timetracking": {},
    "security": null,
    "customfield_10008": null,
    "aggregatetimeestimate": null,
    "customfield_10009": null,
    "attachment": [
    ],
    "summary": "As a scrum master, I can see the progress of a sprint via the Burndown Chart >> Click \"Reports\" to view the Burndown Chart",
    "creator": {
      "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"
    },
    "subtasks": [
    ],
    "reporter": {
      "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"
    },
    "customfield_10000": "{}",
    "aggregateprogress": {
      "progress": 0,
      "total": 0
    },
    "customfield_10001": null,
    "customfield_10002": null,
    "customfield_10003": "",
    "customfield_10004": null,
    "environment": null,
    "duedate": null,
    "progress": {
      "progress": 0,
      "total": 0
    },
    "votes": {
      "self": "https://chilkat.atlassian.net/rest/api/2/issue/SCRUM-15/votes",
      "votes": 0,
      "hasVoted": false
    },
    "comment": {
      "comments": [
        {
          "self": "https://chilkat.atlassian.net/rest/api/2/issue/10014/comment/10006",
          "id": "10006",
          "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": "Joined Sample Sprint 2 7 days 9 hours 10 minutes ago",
          "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-08T00:33:55.852-0500",
          "updated": "2018-04-08T00:33:55.852-0500"
        },
        {
          "self": "https://chilkat.atlassian.net/rest/api/2/issue/10014/comment/10007",
          "id": "10007",
          "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": "To Do to In Progress 5 days 4 hours 26 minutes ago\r\nIn Progress to Done 2 days 18 hours 34 minutes ago",
          "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-08T00:33:55.852-0500",
          "updated": "2018-04-08T00:33:55.852-0500"
        }
      ],
      "maxResults": 2,
      "total": 2,
      "startAt": 0
    },
    "worklog": {
      "startAt": 0,
      "maxResults": 20,
      "total": 0,
      "worklogs": [
      ]
    }
  }
}