DataFlex 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'

DataFlex Example

Use ChilkatAx-9.5.0-win32.pkg

Procedure Test
    Handle hoRest
    Boolean iSuccess
    Boolean iBTls
    Integer iPort
    Boolean iBAutoReconnect
    Variant vSbResponseBody
    Handle hoSbResponseBody
    Integer iRespStatusCode
    Handle hoJsonResponse
    String sExpand
    String sId
    String sSelf
    String sKey
    String sFieldsIssuetypeSelf
    String sFieldsIssuetypeId
    String sFieldsIssuetypeDescription
    String sFieldsIssuetypeIconUrl
    String sFieldsIssuetypeName
    Boolean iFieldsIssuetypeSubtask
    Boolean iFieldsTimespent
    String sFieldsProjectSelf
    String sFieldsProjectId
    String sFieldsProjectKey
    String sFieldsProjectName
    String sFieldsProjectProjectTypeKey
    String sFieldsProjectAvatarUrls48x48
    String sFieldsProjectAvatarUrls24x24
    String sFieldsProjectAvatarUrls16x16
    String sFieldsProjectAvatarUrls32x32
    String sFieldsProjectProjectCategorySelf
    String sFieldsProjectProjectCategoryId
    String sFieldsProjectProjectCategoryDescription
    String sFieldsProjectProjectCategoryName
    Boolean iFieldsAggregatetimespent
    String sFieldsResolutionSelf
    String sFieldsResolutionId
    String sFieldsResolutionDescription
    String sFieldsResolutionName
    String sFieldsCustomfield_10027
    String sFieldsCustomfield_10028
    String sFieldsCustomfield_10029
    String sFieldsResolutiondate
    Integer iFieldsWorkratio
    String sFieldsWatchesSelf
    Integer iFieldsWatchesWatchCount
    Boolean iFieldsWatchesIsWatching
    String sFieldsLastViewed
    String sFieldsCreated
    Boolean iFieldsCustomfield_10022
    String sFieldsCustomfield_10023
    String sFieldsPrioritySelf
    String sFieldsPriorityIconUrl
    String sFieldsPriorityName
    String sFieldsPriorityId
    String sFieldsCustomfield_10024
    String sFieldsCustomfield_10025
    String sFieldsCustomfield_10026
    Boolean iFieldsCustomfield_10017
    Boolean iFieldsCustomfield_10018
    Integer iFieldsCustomfield_10019
    Boolean iFieldsAggregatetimeoriginalestimate
    Boolean iFieldsTimeestimate
    String sFieldsAssigneeSelf
    String sFieldsAssigneeName
    String sFieldsAssigneeKey
    String sFieldsAssigneeAccountId
    String sFieldsAssigneeEmailAddress
    String sFieldsAssigneeAvatarUrls48x48
    String sFieldsAssigneeAvatarUrls24x24
    String sFieldsAssigneeAvatarUrls16x16
    String sFieldsAssigneeAvatarUrls32x32
    String sFieldsAssigneeDisplayName
    Boolean iFieldsAssigneeActive
    String sFieldsAssigneeTimeZone
    String sFieldsUpdated
    String sFieldsStatusSelf
    String sFieldsStatusDescription
    String sFieldsStatusIconUrl
    String sFieldsStatusName
    String sFieldsStatusId
    String sFieldsStatusStatusCategorySelf
    Integer iFieldsStatusStatusCategoryId
    String sFieldsStatusStatusCategoryKey
    String sFieldsStatusStatusCategoryColorName
    String sFieldsStatusStatusCategoryName
    Boolean iFieldsTimeoriginalestimate
    Boolean iFieldsDescription
    String sFieldsCustomfield_10011
    Boolean iFieldsCustomfield_10012
    String sFieldsCustomfield_10013
    Boolean iFieldsCustomfield_10014
    Boolean iFieldsCustomfield_10015
    Boolean iFieldsSecurity
    Boolean iFieldsCustomfield_10008
    Boolean iFieldsAggregatetimeestimate
    Boolean iFieldsCustomfield_10009
    String sFieldsSummary
    String sFieldsCreatorSelf
    String sFieldsCreatorName
    String sFieldsCreatorKey
    String sFieldsCreatorAccountId
    String sFieldsCreatorEmailAddress
    String sFieldsCreatorAvatarUrls48x48
    String sFieldsCreatorAvatarUrls24x24
    String sFieldsCreatorAvatarUrls16x16
    String sFieldsCreatorAvatarUrls32x32
    String sFieldsCreatorDisplayName
    Boolean iFieldsCreatorActive
    String sFieldsCreatorTimeZone
    String sFieldsReporterSelf
    String sFieldsReporterName
    String sFieldsReporterKey
    String sFieldsReporterAccountId
    String sFieldsReporterEmailAddress
    String sFieldsReporterAvatarUrls48x48
    String sFieldsReporterAvatarUrls24x24
    String sFieldsReporterAvatarUrls16x16
    String sFieldsReporterAvatarUrls32x32
    String sFieldsReporterDisplayName
    Boolean iFieldsReporterActive
    String sFieldsReporterTimeZone
    String sFieldsCustomfield_10000
    Integer iFieldsAggregateprogressProgress
    Integer iFieldsAggregateprogressTotal
    Boolean iFieldsCustomfield_10001
    Boolean iFieldsCustomfield_10002
    String sFieldsCustomfield_10003
    Boolean iFieldsCustomfield_10004
    Boolean iFieldsEnvironment
    Boolean iFieldsDuedate
    Integer iFieldsProgressProgress
    Integer iFieldsProgressTotal
    String sFieldsVotesSelf
    Integer iFieldsVotesVotes
    Boolean iFieldsVotesHasVoted
    Integer iFieldsCommentMaxResults
    Integer iFieldsCommentTotal
    Integer iFieldsCommentStartAt
    Integer iFieldsWorklogStartAt
    Integer iFieldsWorklogMaxResults
    Integer iFieldsWorklogTotal
    Integer i
    Integer iCount_i
    String sStrVal
    String sAuthorSelf
    String sAuthorName
    String sAuthorKey
    String sAuthorAccountId
    String sAuthorEmailAddress
    String sAuthorAvatarUrls48x48
    String sAuthorAvatarUrls24x24
    String sAuthorAvatarUrls16x16
    String sAuthorAvatarUrls32x32
    String sAuthorDisplayName
    Boolean iAuthorActive
    String sAuthorTimeZone
    String sBody
    String sUpdateAuthorSelf
    String sUpdateAuthorName
    String sUpdateAuthorKey
    String sUpdateAuthorAccountId
    String sUpdateAuthorEmailAddress
    String sUpdateAuthorAvatarUrls48x48
    String sUpdateAuthorAvatarUrls24x24
    String sUpdateAuthorAvatarUrls16x16
    String sUpdateAuthorAvatarUrls32x32
    String sUpdateAuthorDisplayName
    Boolean iUpdateAuthorActive
    String sUpdateAuthorTimeZone
    String sCreated
    String sUpdated
    String sTemp1
    Integer iTemp1

    Get Create (RefClass(cComChilkatRest)) To hoRest
    If (Not(IsComObjectCreated(hoRest))) Begin
        Send CreateComObject of hoRest
    End

    //  URL: https://your-domain.atlassian.net/rest/api/2/issue/SCRUM-15
    Move True To iBTls
    Move 443 To iPort
    Move True To iBAutoReconnect
    Get ComConnect Of hoRest "your-domain.atlassian.net" iPort iBTls iBAutoReconnect To iSuccess
    If (iSuccess <> True) Begin
        Get ComConnectFailReason Of hoRest To iTemp1
        Showln "ConnectFailReason: " iTemp1
        Get ComLastErrorText Of hoRest To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComSetAuthBasic Of hoRest "jira@example.com" "JIRA_API_TOKEN" To iSuccess

    Get ComAddHeader Of hoRest "Accept" "application/json" To iSuccess

    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponseBody
    If (Not(IsComObjectCreated(hoSbResponseBody))) Begin
        Send CreateComObject of hoSbResponseBody
    End
    Get pvComObject of hoSbResponseBody to vSbResponseBody
    Get ComFullRequestNoBodySb Of hoRest "GET" "/rest/api/2/issue/SCRUM-15" vSbResponseBody To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoRest To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComResponseStatusCode Of hoRest To iRespStatusCode
    If (iRespStatusCode >= 400) Begin
        Showln "Response Status Code = " iRespStatusCode
        Showln "Response Header:"
        Get ComResponseHeader Of hoRest To sTemp1
        Showln sTemp1
        Showln "Response Body:"
        Get ComGetAsString Of hoSbResponseBody To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatJsonObject)) To hoJsonResponse
    If (Not(IsComObjectCreated(hoJsonResponse))) Begin
        Send CreateComObject of hoJsonResponse
    End
    Get pvComObject of hoSbResponseBody to vSbResponseBody
    Get ComLoadSb Of hoJsonResponse vSbResponseBody To iSuccess

    Get ComStringOf Of hoJsonResponse "expand" To sExpand
    Get ComStringOf Of hoJsonResponse "id" To sId
    Get ComStringOf Of hoJsonResponse "self" To sSelf
    Get ComStringOf Of hoJsonResponse "key" To sKey
    Get ComStringOf Of hoJsonResponse "fields.issuetype.self" To sFieldsIssuetypeSelf
    Get ComStringOf Of hoJsonResponse "fields.issuetype.id" To sFieldsIssuetypeId
    Get ComStringOf Of hoJsonResponse "fields.issuetype.description" To sFieldsIssuetypeDescription
    Get ComStringOf Of hoJsonResponse "fields.issuetype.iconUrl" To sFieldsIssuetypeIconUrl
    Get ComStringOf Of hoJsonResponse "fields.issuetype.name" To sFieldsIssuetypeName
    Get ComBoolOf Of hoJsonResponse "fields.issuetype.subtask" To iFieldsIssuetypeSubtask
    Get ComIsNullOf Of hoJsonResponse "fields.timespent" To iFieldsTimespent
    Get ComStringOf Of hoJsonResponse "fields.project.self" To sFieldsProjectSelf
    Get ComStringOf Of hoJsonResponse "fields.project.id" To sFieldsProjectId
    Get ComStringOf Of hoJsonResponse "fields.project.key" To sFieldsProjectKey
    Get ComStringOf Of hoJsonResponse "fields.project.name" To sFieldsProjectName
    Get ComStringOf Of hoJsonResponse "fields.project.projectTypeKey" To sFieldsProjectProjectTypeKey
    Get ComStringOf Of hoJsonResponse "fields.project.avatarUrls.48x48" To sFieldsProjectAvatarUrls48x48
    Get ComStringOf Of hoJsonResponse "fields.project.avatarUrls.24x24" To sFieldsProjectAvatarUrls24x24
    Get ComStringOf Of hoJsonResponse "fields.project.avatarUrls.16x16" To sFieldsProjectAvatarUrls16x16
    Get ComStringOf Of hoJsonResponse "fields.project.avatarUrls.32x32" To sFieldsProjectAvatarUrls32x32
    Get ComStringOf Of hoJsonResponse "fields.project.projectCategory.self" To sFieldsProjectProjectCategorySelf
    Get ComStringOf Of hoJsonResponse "fields.project.projectCategory.id" To sFieldsProjectProjectCategoryId
    Get ComStringOf Of hoJsonResponse "fields.project.projectCategory.description" To sFieldsProjectProjectCategoryDescription
    Get ComStringOf Of hoJsonResponse "fields.project.projectCategory.name" To sFieldsProjectProjectCategoryName
    Get ComIsNullOf Of hoJsonResponse "fields.aggregatetimespent" To iFieldsAggregatetimespent
    Get ComStringOf Of hoJsonResponse "fields.resolution.self" To sFieldsResolutionSelf
    Get ComStringOf Of hoJsonResponse "fields.resolution.id" To sFieldsResolutionId
    Get ComStringOf Of hoJsonResponse "fields.resolution.description" To sFieldsResolutionDescription
    Get ComStringOf Of hoJsonResponse "fields.resolution.name" To sFieldsResolutionName
    Get ComStringOf Of hoJsonResponse "fields.customfield_10027" To sFieldsCustomfield_10027
    Get ComStringOf Of hoJsonResponse "fields.customfield_10028" To sFieldsCustomfield_10028
    Get ComStringOf Of hoJsonResponse "fields.customfield_10029" To sFieldsCustomfield_10029
    Get ComStringOf Of hoJsonResponse "fields.resolutiondate" To sFieldsResolutiondate
    Get ComIntOf Of hoJsonResponse "fields.workratio" To iFieldsWorkratio
    Get ComStringOf Of hoJsonResponse "fields.watches.self" To sFieldsWatchesSelf
    Get ComIntOf Of hoJsonResponse "fields.watches.watchCount" To iFieldsWatchesWatchCount
    Get ComBoolOf Of hoJsonResponse "fields.watches.isWatching" To iFieldsWatchesIsWatching
    Get ComStringOf Of hoJsonResponse "fields.lastViewed" To sFieldsLastViewed
    Get ComStringOf Of hoJsonResponse "fields.created" To sFieldsCreated
    Get ComIsNullOf Of hoJsonResponse "fields.customfield_10022" To iFieldsCustomfield_10022
    Get ComStringOf Of hoJsonResponse "fields.customfield_10023" To sFieldsCustomfield_10023
    Get ComStringOf Of hoJsonResponse "fields.priority.self" To sFieldsPrioritySelf
    Get ComStringOf Of hoJsonResponse "fields.priority.iconUrl" To sFieldsPriorityIconUrl
    Get ComStringOf Of hoJsonResponse "fields.priority.name" To sFieldsPriorityName
    Get ComStringOf Of hoJsonResponse "fields.priority.id" To sFieldsPriorityId
    Get ComStringOf Of hoJsonResponse "fields.customfield_10024" To sFieldsCustomfield_10024
    Get ComStringOf Of hoJsonResponse "fields.customfield_10025" To sFieldsCustomfield_10025
    Get ComStringOf Of hoJsonResponse "fields.customfield_10026" To sFieldsCustomfield_10026
    Get ComIsNullOf Of hoJsonResponse "fields.customfield_10017" To iFieldsCustomfield_10017
    Get ComIsNullOf Of hoJsonResponse "fields.customfield_10018" To iFieldsCustomfield_10018
    Get ComIntOf Of hoJsonResponse "fields.customfield_10019" To iFieldsCustomfield_10019
    Get ComIsNullOf Of hoJsonResponse "fields.aggregatetimeoriginalestimate" To iFieldsAggregatetimeoriginalestimate
    Get ComIsNullOf Of hoJsonResponse "fields.timeestimate" To iFieldsTimeestimate
    Get ComStringOf Of hoJsonResponse "fields.assignee.self" To sFieldsAssigneeSelf
    Get ComStringOf Of hoJsonResponse "fields.assignee.name" To sFieldsAssigneeName
    Get ComStringOf Of hoJsonResponse "fields.assignee.key" To sFieldsAssigneeKey
    Get ComStringOf Of hoJsonResponse "fields.assignee.accountId" To sFieldsAssigneeAccountId
    Get ComStringOf Of hoJsonResponse "fields.assignee.emailAddress" To sFieldsAssigneeEmailAddress
    Get ComStringOf Of hoJsonResponse "fields.assignee.avatarUrls.48x48" To sFieldsAssigneeAvatarUrls48x48
    Get ComStringOf Of hoJsonResponse "fields.assignee.avatarUrls.24x24" To sFieldsAssigneeAvatarUrls24x24
    Get ComStringOf Of hoJsonResponse "fields.assignee.avatarUrls.16x16" To sFieldsAssigneeAvatarUrls16x16
    Get ComStringOf Of hoJsonResponse "fields.assignee.avatarUrls.32x32" To sFieldsAssigneeAvatarUrls32x32
    Get ComStringOf Of hoJsonResponse "fields.assignee.displayName" To sFieldsAssigneeDisplayName
    Get ComBoolOf Of hoJsonResponse "fields.assignee.active" To iFieldsAssigneeActive
    Get ComStringOf Of hoJsonResponse "fields.assignee.timeZone" To sFieldsAssigneeTimeZone
    Get ComStringOf Of hoJsonResponse "fields.updated" To sFieldsUpdated
    Get ComStringOf Of hoJsonResponse "fields.status.self" To sFieldsStatusSelf
    Get ComStringOf Of hoJsonResponse "fields.status.description" To sFieldsStatusDescription
    Get ComStringOf Of hoJsonResponse "fields.status.iconUrl" To sFieldsStatusIconUrl
    Get ComStringOf Of hoJsonResponse "fields.status.name" To sFieldsStatusName
    Get ComStringOf Of hoJsonResponse "fields.status.id" To sFieldsStatusId
    Get ComStringOf Of hoJsonResponse "fields.status.statusCategory.self" To sFieldsStatusStatusCategorySelf
    Get ComIntOf Of hoJsonResponse "fields.status.statusCategory.id" To iFieldsStatusStatusCategoryId
    Get ComStringOf Of hoJsonResponse "fields.status.statusCategory.key" To sFieldsStatusStatusCategoryKey
    Get ComStringOf Of hoJsonResponse "fields.status.statusCategory.colorName" To sFieldsStatusStatusCategoryColorName
    Get ComStringOf Of hoJsonResponse "fields.status.statusCategory.name" To sFieldsStatusStatusCategoryName
    Get ComIsNullOf Of hoJsonResponse "fields.timeoriginalestimate" To iFieldsTimeoriginalestimate
    Get ComIsNullOf Of hoJsonResponse "fields.description" To iFieldsDescription
    Get ComStringOf Of hoJsonResponse "fields.customfield_10011" To sFieldsCustomfield_10011
    Get ComIsNullOf Of hoJsonResponse "fields.customfield_10012" To iFieldsCustomfield_10012
    Get ComStringOf Of hoJsonResponse "fields.customfield_10013" To sFieldsCustomfield_10013
    Get ComIsNullOf Of hoJsonResponse "fields.customfield_10014" To iFieldsCustomfield_10014
    Get ComIsNullOf Of hoJsonResponse "fields.customfield_10015" To iFieldsCustomfield_10015
    Get ComIsNullOf Of hoJsonResponse "fields.security" To iFieldsSecurity
    Get ComIsNullOf Of hoJsonResponse "fields.customfield_10008" To iFieldsCustomfield_10008
    Get ComIsNullOf Of hoJsonResponse "fields.aggregatetimeestimate" To iFieldsAggregatetimeestimate
    Get ComIsNullOf Of hoJsonResponse "fields.customfield_10009" To iFieldsCustomfield_10009
    Get ComStringOf Of hoJsonResponse "fields.summary" To sFieldsSummary
    Get ComStringOf Of hoJsonResponse "fields.creator.self" To sFieldsCreatorSelf
    Get ComStringOf Of hoJsonResponse "fields.creator.name" To sFieldsCreatorName
    Get ComStringOf Of hoJsonResponse "fields.creator.key" To sFieldsCreatorKey
    Get ComStringOf Of hoJsonResponse "fields.creator.accountId" To sFieldsCreatorAccountId
    Get ComStringOf Of hoJsonResponse "fields.creator.emailAddress" To sFieldsCreatorEmailAddress
    Get ComStringOf Of hoJsonResponse "fields.creator.avatarUrls.48x48" To sFieldsCreatorAvatarUrls48x48
    Get ComStringOf Of hoJsonResponse "fields.creator.avatarUrls.24x24" To sFieldsCreatorAvatarUrls24x24
    Get ComStringOf Of hoJsonResponse "fields.creator.avatarUrls.16x16" To sFieldsCreatorAvatarUrls16x16
    Get ComStringOf Of hoJsonResponse "fields.creator.avatarUrls.32x32" To sFieldsCreatorAvatarUrls32x32
    Get ComStringOf Of hoJsonResponse "fields.creator.displayName" To sFieldsCreatorDisplayName
    Get ComBoolOf Of hoJsonResponse "fields.creator.active" To iFieldsCreatorActive
    Get ComStringOf Of hoJsonResponse "fields.creator.timeZone" To sFieldsCreatorTimeZone
    Get ComStringOf Of hoJsonResponse "fields.reporter.self" To sFieldsReporterSelf
    Get ComStringOf Of hoJsonResponse "fields.reporter.name" To sFieldsReporterName
    Get ComStringOf Of hoJsonResponse "fields.reporter.key" To sFieldsReporterKey
    Get ComStringOf Of hoJsonResponse "fields.reporter.accountId" To sFieldsReporterAccountId
    Get ComStringOf Of hoJsonResponse "fields.reporter.emailAddress" To sFieldsReporterEmailAddress
    Get ComStringOf Of hoJsonResponse "fields.reporter.avatarUrls.48x48" To sFieldsReporterAvatarUrls48x48
    Get ComStringOf Of hoJsonResponse "fields.reporter.avatarUrls.24x24" To sFieldsReporterAvatarUrls24x24
    Get ComStringOf Of hoJsonResponse "fields.reporter.avatarUrls.16x16" To sFieldsReporterAvatarUrls16x16
    Get ComStringOf Of hoJsonResponse "fields.reporter.avatarUrls.32x32" To sFieldsReporterAvatarUrls32x32
    Get ComStringOf Of hoJsonResponse "fields.reporter.displayName" To sFieldsReporterDisplayName
    Get ComBoolOf Of hoJsonResponse "fields.reporter.active" To iFieldsReporterActive
    Get ComStringOf Of hoJsonResponse "fields.reporter.timeZone" To sFieldsReporterTimeZone
    Get ComStringOf Of hoJsonResponse "fields.customfield_10000" To sFieldsCustomfield_10000
    Get ComIntOf Of hoJsonResponse "fields.aggregateprogress.progress" To iFieldsAggregateprogressProgress
    Get ComIntOf Of hoJsonResponse "fields.aggregateprogress.total" To iFieldsAggregateprogressTotal
    Get ComIsNullOf Of hoJsonResponse "fields.customfield_10001" To iFieldsCustomfield_10001
    Get ComIsNullOf Of hoJsonResponse "fields.customfield_10002" To iFieldsCustomfield_10002
    Get ComStringOf Of hoJsonResponse "fields.customfield_10003" To sFieldsCustomfield_10003
    Get ComIsNullOf Of hoJsonResponse "fields.customfield_10004" To iFieldsCustomfield_10004
    Get ComIsNullOf Of hoJsonResponse "fields.environment" To iFieldsEnvironment
    Get ComIsNullOf Of hoJsonResponse "fields.duedate" To iFieldsDuedate
    Get ComIntOf Of hoJsonResponse "fields.progress.progress" To iFieldsProgressProgress
    Get ComIntOf Of hoJsonResponse "fields.progress.total" To iFieldsProgressTotal
    Get ComStringOf Of hoJsonResponse "fields.votes.self" To sFieldsVotesSelf
    Get ComIntOf Of hoJsonResponse "fields.votes.votes" To iFieldsVotesVotes
    Get ComBoolOf Of hoJsonResponse "fields.votes.hasVoted" To iFieldsVotesHasVoted
    Get ComIntOf Of hoJsonResponse "fields.comment.maxResults" To iFieldsCommentMaxResults
    Get ComIntOf Of hoJsonResponse "fields.comment.total" To iFieldsCommentTotal
    Get ComIntOf Of hoJsonResponse "fields.comment.startAt" To iFieldsCommentStartAt
    Get ComIntOf Of hoJsonResponse "fields.worklog.startAt" To iFieldsWorklogStartAt
    Get ComIntOf Of hoJsonResponse "fields.worklog.maxResults" To iFieldsWorklogMaxResults
    Get ComIntOf Of hoJsonResponse "fields.worklog.total" To iFieldsWorklogTotal
    Move 0 To i
    Get ComSizeOfArray Of hoJsonResponse "fields.fixVersions" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJsonResponse To i
        Move i + 1 To i
    Loop

    Move 0 To i
    Get ComSizeOfArray Of hoJsonResponse "fields.labels" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJsonResponse To i
        Move i + 1 To i
    Loop

    Move 0 To i
    Get ComSizeOfArray Of hoJsonResponse "fields.customfield_10016" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJsonResponse To i
        Move i + 1 To i
    Loop

    Move 0 To i
    Get ComSizeOfArray Of hoJsonResponse "fields.versions" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJsonResponse To i
        Move i + 1 To i
    Loop

    Move 0 To i
    Get ComSizeOfArray Of hoJsonResponse "fields.issuelinks" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJsonResponse To i
        Move i + 1 To i
    Loop

    Move 0 To i
    Get ComSizeOfArray Of hoJsonResponse "fields.components" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJsonResponse To i
        Move i + 1 To i
    Loop

    Move 0 To i
    Get ComSizeOfArray Of hoJsonResponse "fields.customfield_10010" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJsonResponse To i
        Get ComStringOf Of hoJsonResponse "fields.customfield_10010[i]" To sStrVal
        Move i + 1 To i
    Loop

    Move 0 To i
    Get ComSizeOfArray Of hoJsonResponse "fields.attachment" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJsonResponse To i
        Move i + 1 To i
    Loop

    Move 0 To i
    Get ComSizeOfArray Of hoJsonResponse "fields.subtasks" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJsonResponse To i
        Move i + 1 To i
    Loop

    Move 0 To i
    Get ComSizeOfArray Of hoJsonResponse "fields.comment.comments" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJsonResponse To i
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].self" To sSelf
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].id" To sId
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].author.self" To sAuthorSelf
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].author.name" To sAuthorName
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].author.key" To sAuthorKey
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].author.accountId" To sAuthorAccountId
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].author.emailAddress" To sAuthorEmailAddress
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].author.avatarUrls.48x48" To sAuthorAvatarUrls48x48
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].author.avatarUrls.24x24" To sAuthorAvatarUrls24x24
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].author.avatarUrls.16x16" To sAuthorAvatarUrls16x16
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].author.avatarUrls.32x32" To sAuthorAvatarUrls32x32
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].author.displayName" To sAuthorDisplayName
        Get ComBoolOf Of hoJsonResponse "fields.comment.comments[i].author.active" To iAuthorActive
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].author.timeZone" To sAuthorTimeZone
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].body" To sBody
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].updateAuthor.self" To sUpdateAuthorSelf
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].updateAuthor.name" To sUpdateAuthorName
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].updateAuthor.key" To sUpdateAuthorKey
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].updateAuthor.accountId" To sUpdateAuthorAccountId
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].updateAuthor.emailAddress" To sUpdateAuthorEmailAddress
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].updateAuthor.avatarUrls.48x48" To sUpdateAuthorAvatarUrls48x48
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].updateAuthor.avatarUrls.24x24" To sUpdateAuthorAvatarUrls24x24
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].updateAuthor.avatarUrls.16x16" To sUpdateAuthorAvatarUrls16x16
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].updateAuthor.avatarUrls.32x32" To sUpdateAuthorAvatarUrls32x32
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].updateAuthor.displayName" To sUpdateAuthorDisplayName
        Get ComBoolOf Of hoJsonResponse "fields.comment.comments[i].updateAuthor.active" To iUpdateAuthorActive
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].updateAuthor.timeZone" To sUpdateAuthorTimeZone
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].created" To sCreated
        Get ComStringOf Of hoJsonResponse "fields.comment.comments[i].updated" To sUpdated
        Move i + 1 To i
    Loop

    Move 0 To i
    Get ComSizeOfArray Of hoJsonResponse "fields.worklog.worklogs" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJsonResponse To i
        Move i + 1 To i
    Loop



End_Procedure

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": [
      ]
    }
  }
}