Returns a paginated list of all updates of an issue, sorted by date, starting from the oldest. This example gets the change log for the issue with key = "SCRUM-15".
curl --user jira@example.com:JIRA_API_TOKEN \
--header 'Accept: application/json' \
--url 'https://your-domain.atlassian.net/rest/api/2/issue/SCRUM-15/changelog'
LOCAL loRest
LOCAL lnSuccess
LOCAL lnBTls
LOCAL lnPort
LOCAL lnBAutoReconnect
LOCAL loSbResponseBody
LOCAL lnRespStatusCode
LOCAL loJsonResponse
LOCAL lcSelf
LOCAL lnMaxResults
LOCAL lnStartAt
LOCAL lnTotal
LOCAL lnIsLast
LOCAL i
LOCAL lnCount_i
LOCAL lcId
LOCAL lcAuthorSelf
LOCAL lcAuthorName
LOCAL lcAuthorKey
LOCAL lcAuthorAccountId
LOCAL lcAuthorEmailAddress
LOCAL lcAuthorAvatarUrls48x48
LOCAL lcAuthorAvatarUrls24x24
LOCAL lcAuthorAvatarUrls16x16
LOCAL lcAuthorAvatarUrls32x32
LOCAL lcAuthorDisplayName
LOCAL lnAuthorActive
LOCAL lcAuthorTimeZone
LOCAL lcCreated
LOCAL lcHistoryMetadataType
LOCAL lcHistoryMetadataDescription
LOCAL lcHistoryMetadataDescriptionKey
LOCAL lcHistoryMetadataActivityDescription
LOCAL lcHistoryMetadataActivityDescriptionKey
LOCAL lcHistoryMetadataActorId
LOCAL lcHistoryMetadataActorDisplayName
LOCAL lcHistoryMetadataActorType
LOCAL lcHistoryMetadataActorAvatarUrl
LOCAL lcHistoryMetadataActorUrl
LOCAL lcHistoryMetadataGeneratorId
LOCAL lcHistoryMetadataGeneratorType
LOCAL lcHistoryMetadataCauseId
LOCAL lcHistoryMetadataCauseType
LOCAL lcHistoryMetadataExtraDataKeyvalue
LOCAL lcHistoryMetadataExtraDataGoes
LOCAL j
LOCAL lnCount_j
LOCAL lcField
LOCAL lcFieldtype
LOCAL lcFrom
LOCAL lcFromString
LOCAL lcV_to
LOCAL lcToString
LOCAL lcFieldId
loRest = CreateObject('Chilkat_9_5_0.Rest')
* URL: https://your-domain.atlassian.net/rest/api/2/issue/SCRUM-15/changelog
lnBTls = 1
lnPort = 443
lnBAutoReconnect = 1
lnSuccess = loRest.Connect("your-domain.atlassian.net",lnPort,lnBTls,lnBAutoReconnect)
IF (lnSuccess <> 1) THEN
? "ConnectFailReason: " + STR(loRest.ConnectFailReason)
? loRest.LastErrorText
RELEASE loRest
CANCEL
ENDIF
loRest.SetAuthBasic("jira@example.com","JIRA_API_TOKEN")
loRest.AddHeader("Accept","application/json")
loSbResponseBody = CreateObject('Chilkat_9_5_0.StringBuilder')
lnSuccess = loRest.FullRequestNoBodySb("GET","/rest/api/2/issue/SCRUM-15/changelog",loSbResponseBody)
IF (lnSuccess <> 1) THEN
? loRest.LastErrorText
RELEASE loRest
RELEASE loSbResponseBody
CANCEL
ENDIF
lnRespStatusCode = loRest.ResponseStatusCode
IF (lnRespStatusCode >= 400) THEN
? "Response Status Code = " + STR(lnRespStatusCode)
? "Response Header:"
? loRest.ResponseHeader
? "Response Body:"
? loSbResponseBody.GetAsString()
RELEASE loRest
RELEASE loSbResponseBody
CANCEL
ENDIF
loJsonResponse = CreateObject('Chilkat_9_5_0.JsonObject')
loJsonResponse.LoadSb(loSbResponseBody)
lcSelf = loJsonResponse.StringOf("self")
lnMaxResults = loJsonResponse.IntOf("maxResults")
lnStartAt = loJsonResponse.IntOf("startAt")
lnTotal = loJsonResponse.IntOf("total")
lnIsLast = loJsonResponse.BoolOf("isLast")
i = 0
lnCount_i = loJsonResponse.SizeOfArray("values")
DO WHILE i < lnCount_i
loJsonResponse.I = i
lcId = loJsonResponse.StringOf("values[i].id")
lcAuthorSelf = loJsonResponse.StringOf("values[i].author.self")
lcAuthorName = loJsonResponse.StringOf("values[i].author.name")
lcAuthorKey = loJsonResponse.StringOf("values[i].author.key")
lcAuthorAccountId = loJsonResponse.StringOf("values[i].author.accountId")
lcAuthorEmailAddress = loJsonResponse.StringOf("values[i].author.emailAddress")
lcAuthorAvatarUrls48x48 = loJsonResponse.StringOf("values[i].author.avatarUrls.48x48")
lcAuthorAvatarUrls24x24 = loJsonResponse.StringOf("values[i].author.avatarUrls.24x24")
lcAuthorAvatarUrls16x16 = loJsonResponse.StringOf("values[i].author.avatarUrls.16x16")
lcAuthorAvatarUrls32x32 = loJsonResponse.StringOf("values[i].author.avatarUrls.32x32")
lcAuthorDisplayName = loJsonResponse.StringOf("values[i].author.displayName")
lnAuthorActive = loJsonResponse.BoolOf("values[i].author.active")
lcAuthorTimeZone = loJsonResponse.StringOf("values[i].author.timeZone")
lcCreated = loJsonResponse.StringOf("values[i].created")
lcHistoryMetadataType = loJsonResponse.StringOf("values[i].historyMetadata.type")
lcHistoryMetadataDescription = loJsonResponse.StringOf("values[i].historyMetadata.description")
lcHistoryMetadataDescriptionKey = loJsonResponse.StringOf("values[i].historyMetadata.descriptionKey")
lcHistoryMetadataActivityDescription = loJsonResponse.StringOf("values[i].historyMetadata.activityDescription")
lcHistoryMetadataActivityDescriptionKey = loJsonResponse.StringOf("values[i].historyMetadata.activityDescriptionKey")
lcHistoryMetadataActorId = loJsonResponse.StringOf("values[i].historyMetadata.actor.id")
lcHistoryMetadataActorDisplayName = loJsonResponse.StringOf("values[i].historyMetadata.actor.displayName")
lcHistoryMetadataActorType = loJsonResponse.StringOf("values[i].historyMetadata.actor.type")
lcHistoryMetadataActorAvatarUrl = loJsonResponse.StringOf("values[i].historyMetadata.actor.avatarUrl")
lcHistoryMetadataActorUrl = loJsonResponse.StringOf("values[i].historyMetadata.actor.url")
lcHistoryMetadataGeneratorId = loJsonResponse.StringOf("values[i].historyMetadata.generator.id")
lcHistoryMetadataGeneratorType = loJsonResponse.StringOf("values[i].historyMetadata.generator.type")
lcHistoryMetadataCauseId = loJsonResponse.StringOf("values[i].historyMetadata.cause.id")
lcHistoryMetadataCauseType = loJsonResponse.StringOf("values[i].historyMetadata.cause.type")
lcHistoryMetadataExtraDataKeyvalue = loJsonResponse.StringOf("values[i].historyMetadata.extraData.keyvalue")
lcHistoryMetadataExtraDataGoes = loJsonResponse.StringOf("values[i].historyMetadata.extraData.goes")
j = 0
lnCount_j = loJsonResponse.SizeOfArray("values[i].items")
DO WHILE j < lnCount_j
loJsonResponse.J = j
lcField = loJsonResponse.StringOf("values[i].items[j].field")
lcFieldtype = loJsonResponse.StringOf("values[i].items[j].fieldtype")
lcFrom = loJsonResponse.StringOf("values[i].items[j].from")
lcFromString = loJsonResponse.StringOf("values[i].items[j].fromString")
lcV_to = loJsonResponse.StringOf("values[i].items[j].to")
lcToString = loJsonResponse.StringOf("values[i].items[j].toString")
lcFieldId = loJsonResponse.StringOf("values[i].items[j].fieldId")
j = j + 1
ENDDO
i = i + 1
ENDDO
RELEASE loRest
RELEASE loSbResponseBody
RELEASE loJsonResponse
{
"self": "https://chilkat.atlassian.net/rest/api/2/issue/SCRUM-15/changelog?maxResults=100&startAt=0",
"maxResults": 100,
"startAt": 0,
"total": 7,
"isLast": true,
"values": [
{
"id": "10009",
"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"
},
"created": "2018-04-05T14:41:55.852-0500",
"items": [
{
"field": "status",
"fieldtype": "jira",
"from": "10000",
"fromString": "To Do",
"to": "3",
"toString": "In Progress"
}
]
},
{
"id": "10010",
"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"
},
"created": "2018-04-08T00:33:55.852-0500",
"items": [
{
"field": "status",
"fieldtype": "jira",
"from": "3",
"fromString": "In Progress",
"to": "10001",
"toString": "Done"
}
]
},
{
"id": "10033",
"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"
},
"created": "2018-04-12T20:07:08.107-0500",
"items": [
{
"field": "assignee",
"fieldtype": "jira",
"fieldId": "assignee",
"from": null,
"fromString": null,
"to": "matt",
"toString": "Matt of Chilkat"
}
]
},
{
"id": "10035",
"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"
},
"created": "2018-04-13T08:07:40.815-0500",
"items": [
{
"field": "summary",
"fieldtype": "jira",
"fieldId": "summary",
"from": null,
"fromString": "As a scrum master, I can see the progress of a sprint via the Burndown Chart >> Click \"Reports\" to view the Burndown Chart",
"to": null,
"toString": "Bug in business logic"
},
{
"field": "labels",
"fieldtype": "jira",
"fieldId": "labels",
"from": null,
"fromString": "",
"to": null,
"toString": "triaged"
}
],
"historyMetadata": {
"type": "myplugin:type",
"description": "text description",
"descriptionKey": "plugin.changereason.i18.key",
"activityDescription": "text description",
"activityDescriptionKey": "plugin.activity.i18.key",
"actor": {
"id": "tony",
"displayName": "Tony",
"type": "mysystem-user",
"avatarUrl": "http://mysystem/avatar/tony.jpg",
"url": "http://mysystem/users/tony"
},
"generator": {
"id": "mysystem-1",
"type": "mysystem-application"
},
"cause": {
"id": "myevent",
"type": "mysystem-event"
},
"extraData": {
"keyvalue": "extra data",
"goes": "here"
}
}
},
{
"id": "10036",
"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"
},
"created": "2018-04-13T09:11:35.151-0500",
"items": [
{
"field": "assignee",
"fieldtype": "jira",
"fieldId": "assignee",
"from": "matt",
"fromString": "Matt of Chilkat",
"to": "admin",
"toString": "Chilkat Admin"
}
]
},
{
"id": "10037",
"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"
},
"created": "2018-04-13T10:04:19.046-0500",
"items": [
{
"field": "Attachment",
"fieldtype": "jira",
"fieldId": "attachment",
"from": null,
"fromString": null,
"to": "10000",
"toString": "starfish.jpg"
}
]
},
{
"id": "10038",
"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"
},
"created": "2018-04-13T10:04:46.939-0500",
"items": [
{
"field": "Attachment",
"fieldtype": "jira",
"fieldId": "attachment",
"from": null,
"fromString": null,
"to": "10001",
"toString": "starfish.jpg"
},
{
"field": "Attachment",
"fieldtype": "jira",
"fieldId": "attachment",
"from": null,
"fromString": null,
"to": "10002",
"toString": "sample2.docx"
},
{
"field": "Attachment",
"fieldtype": "jira",
"fieldId": "attachment",
"from": null,
"fromString": null,
"to": "10003",
"toString": "sample.pdf"
}
]
}
]
}