The following table(s) contains detailed examples of the metadata fields available from the Atlassian Jira Cloud API endpoints Worklytics leverages. In order to pseudonymize and sanitize PII and other potentially sensitive data, Worklytics provides access to a Data Loss Prevention (DLP) Proxy, which allows customers to pre-filter metadata, within customer infrastructure, before it is sent to Worklytics for processing.
These are the fields Worklytics recommends but the Worklytics DLP Proxy provides full field-level control and therefore any field may be removed or sanitized.
Field descriptions are taken from third party API documentation, these are maintained on a best effort basis and Worklytics can not guarantee their indefinite accuracy. Please refer to the source API site for the most up-to-date documentation.
How to read the "DLP Proxy" column in the table(s):
⭕ This field is transformed, usually partially redacted
🟡 This field is "pseudonymized" by the DLP Proxy: only a SHA256 hash of its value is sent to Worklytics; never the value itself
To see the full (unsanitized) version of this document, click here.
Worklytics requires access to the following API primary endpoints:
DLP Proxy docs: Atlassian Jira Cloud
DLP Proxy docs: Atlassian Jira Cloud
DLP Proxy docs: Atlassian Jira Cloud
API docs: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-group-issues
DLP Proxy docs: Atlassian Jira Cloud
DLP Proxy docs: Atlassian Jira Cloud
DLP Proxy docs: Atlassian Jira Cloud
Model | Description | API docs |
---|---|---|
DLP Proxy | Property Name | Type | Description |
---|---|---|---|
DLP Proxy | Property Name | Type | Description |
---|---|---|---|
DLP Proxy | Property Name | Type | Description |
---|---|---|---|
DLP Proxy | Property Name | Type | Description |
---|---|---|---|
DLP Proxy | Property Name | Type | Description |
---|---|---|---|
DLP Proxy | Property Name | Type | Description |
---|---|---|---|
Used to retrieve a list of comments for an issue
Used to retrieve a list of all users, including active users, inactive users and previously deleted users that have an Atlassian account
Used to retrieve a list of changelogs of an issue
Used to retrieve issues (individually or in bulk)
Used to retrieve a list of projects
Used to retrieve a list of groups
🟡 Pseudonymized
author
User
🟡 Pseudonymized
author.accountId
String
The account ID of the user, which uniquely identifies the user across all Atlassian products.
Raw example: 4831887
Sanitized example:
🟢 Allowed
author.accountType
String
🟢 Allowed
author.active
boolean
🟡 Pseudonymized
author.emailAddress
String
Raw example: alice@acme.com
Sanitized example:
🟢 Allowed
author.key
String
🟢 Allowed
author.locale
String
The locale of the user. Depending on the user's privacy setting, this may be returned as null.
🟢 Allowed
author.timeZone
String
The time zone specified in the user's profile. Depending on the user's privacy settings, this may be returned as null.
🟢 Allowed
created
Instant
🟡 Pseudonymized
id
String
🟢 Allowed
jsdAuthorCanSeeRequest
Boolean
🟢 Allowed
jsdPublic
Boolean
🟢 Allowed
updateAuthor
User
🟢 Allowed
updated
Instant
🟢 Allowed
visibility
Visibility
🟢 Allowed
visibility.identifier
String
🟢 Allowed
visibility.type
String
🟢 Allowed
visibility.value
String
🟡 Pseudonymized
accountId
String
The account ID of the user, which uniquely identifies the user across all Atlassian products.
Raw example: 4831887
Sanitized example:
🟢 Allowed
accountType
String
🟢 Allowed
active
boolean
🟡 Pseudonymized
emailAddress
String
Raw example: alice@acme.com
Sanitized example:
🟢 Allowed
key
String
🟢 Allowed
locale
String
The locale of the user. Depending on the user's privacy setting, this may be returned as null.
🟢 Allowed
timeZone
String
The time zone specified in the user's profile. Depending on the user's privacy settings, this may be returned as null.
🟡 Pseudonymized
author
User
🟡 Pseudonymized
author.accountId
String
The account ID of the user, which uniquely identifies the user across all Atlassian products.
Raw example: 4831887
Sanitized example:
🟢 Allowed
author.accountType
String
🟢 Allowed
author.active
boolean
🟡 Pseudonymized
author.emailAddress
String
Raw example: alice@acme.com
Sanitized example:
🟢 Allowed
author.key
String
🟢 Allowed
author.locale
String
The locale of the user. Depending on the user's privacy setting, this may be returned as null.
🟢 Allowed
author.timeZone
String
The time zone specified in the user's profile. Depending on the user's privacy settings, this may be returned as null.
🟢 Allowed
created
Instant
🟡 Pseudonymized
historyMetadata
HistoryMetadata
🟢 Allowed
historyMetadata.activityDescription
String
🟢 Allowed
historyMetadata.activityDescriptionKey
String
🟡 Pseudonymized
historyMetadata.actor
HistoryMetadataParticipant
🟡 Pseudonymized
historyMetadata.actor.id
String
🟢 Allowed
historyMetadata.actor.type
String
🟡 Pseudonymized
historyMetadata.cause
HistoryMetadataParticipant
🟡 Pseudonymized
historyMetadata.cause.id
String
🟢 Allowed
historyMetadata.cause.type
String
🟢 Allowed
historyMetadata.descriptionKey
String
🟢 Allowed
historyMetadata.emailDescription
String
🟢 Allowed
historyMetadata.emailDescriptionKey
String
🟡 Pseudonymized
historyMetadata.generator
HistoryMetadataParticipant
🟡 Pseudonymized
historyMetadata.generator.id
String
🟢 Allowed
historyMetadata.generator.type
String
🟢 Allowed
historyMetadata.type
String
🟢 Allowed
id
String
🟡 Pseudonymized
items[]
List of ChangeDetail
🟢 Allowed
items[].field
String
🟢 Allowed
items[].fieldId
String
🟢 Allowed
items[].fieldType
String
🟡 Pseudonymized
items[].tmpFromAccountId
String
🟡 Pseudonymized
items[].tmpToAccountId
String
🟢 Allowed
changelog
IssueChangelog
🟡 Pseudonymized
fields
Field
🟢 Allowed
fields.aggregateProgress
Progress
🟢 Allowed
fields.aggregateProgress.percent
Integer
🟢 Allowed
fields.aggregateProgress.progress
Integer
🟢 Allowed
fields.aggregateProgress.total
Integer
🟢 Allowed
fields.assignee
User
🟢 Allowed
fields.attachment[]
List of AttachmentMetadata
🟢 Allowed
fields.attachment[].author
User
🟢 Allowed
fields.attachment[].created
Instant
🟢 Allowed
fields.attachment[].id
String
🟢 Allowed
fields.attachment[].mimeType
String
🟢 Allowed
fields.attachment[].size
Long
🟢 Allowed
fields.attachment[].thumbnail
String
🟢 Allowed
fields.created
Instant
🟢 Allowed
fields.creator
User
🟢 Allowed
fields.dueDate
Instant
🟢 Allowed
fields.issueLinks[]
List of IssueLink
🟢 Allowed
fields.issueType
IssueType
🟢 Allowed
fields.issueType.avatarId
Long
🟢 Allowed
fields.issueType.hierarchyLevel
Integer
🟢 Allowed
fields.issueType.id
String
🟢 Allowed
fields.issueType.subtask
Boolean
🟢 Allowed
fields.lastViewed
Instant
🟡 Pseudonymized
fields.parent
Issue
🟡 Pseudonymized
fields.parent.changelog
IssueChangelog
🟡 Pseudonymized
fields.parent.changelog.histories[]
List of Changelog
🟡 Pseudonymized
fields.parent.changelog.histories[].author
User
🟡 Pseudonymized
fields.parent.changelog.histories[].author.accountId
String
The account ID of the user, which uniquely identifies the user across all Atlassian products.
Raw example: 4831887
Sanitized example:
🟢 Allowed
fields.parent.changelog.histories[].author.accountType
String
🟢 Allowed
fields.parent.changelog.histories[].author.active
boolean
🟡 Pseudonymized
fields.parent.changelog.histories[].author.emailAddress
String
Raw example: alice@acme.com
Sanitized example:
🟢 Allowed
fields.parent.changelog.histories[].author.key
String
🟢 Allowed
fields.parent.changelog.histories[].author.locale
String
The locale of the user. Depending on the user's privacy setting, this may be returned as null.
🟢 Allowed
fields.parent.changelog.histories[].author.timeZone
String
The time zone specified in the user's profile. Depending on the user's privacy settings, this may be returned as null.
🟢 Allowed
fields.parent.changelog.histories[].created
Instant
🟡 Pseudonymized
fields.parent.changelog.histories[].historyMetadata
HistoryMetadata
🟢 Allowed
fields.parent.changelog.histories[].historyMetadata.activityDescription
String
🟢 Allowed
fields.parent.changelog.histories[].historyMetadata.activityDescriptionKey
String
🟡 Pseudonymized
fields.parent.changelog.histories[].historyMetadata.actor
HistoryMetadataParticipant
🟡 Pseudonymized
fields.parent.changelog.histories[].historyMetadata.actor.id
String
🟢 Allowed
fields.parent.changelog.histories[].historyMetadata.actor.type
String
🟢 Allowed
fields.parent.changelog.histories[].historyMetadata.cause
HistoryMetadataParticipant
🟢 Allowed
fields.parent.changelog.histories[].historyMetadata.descriptionKey
String
🟢 Allowed
fields.parent.changelog.histories[].historyMetadata.emailDescription
String
🟢 Allowed
fields.parent.changelog.histories[].historyMetadata.emailDescriptionKey
String
🟢 Allowed
fields.parent.changelog.histories[].historyMetadata.generator
HistoryMetadataParticipant
🟢 Allowed
fields.parent.changelog.histories[].historyMetadata.type
String
🟢 Allowed
fields.parent.changelog.histories[].id
String
🟡 Pseudonymized
fields.parent.changelog.histories[].items[]
List of ChangeDetail
🟢 Allowed
fields.parent.changelog.histories[].items[].field
String
🟢 Allowed
fields.parent.changelog.histories[].items[].fieldId
String
🟢 Allowed
fields.parent.changelog.histories[].items[].fieldType
String
🟡 Pseudonymized
fields.parent.changelog.histories[].items[].tmpFromAccountId
String
🟡 Pseudonymized
fields.parent.changelog.histories[].items[].tmpToAccountId
String
🟢 Allowed
fields.parent.fields
Field
🟡 Pseudonymized
fields.parent.id
String
Raw example: 4831887
Sanitized example:
🟢 Allowed
fields.parent.key
String
🟢 Allowed
fields.priority
Priority
🟢 Allowed
fields.priority.iconUrl
String
🟢 Allowed
fields.priority.id
String
🟢 Allowed
fields.priority.name
String
🟢 Allowed
fields.priority.self
String
🟢 Allowed
fields.progress
Progress
🟢 Allowed
fields.progress.percent
Integer
🟢 Allowed
fields.progress.progress
Integer
🟢 Allowed
fields.progress.total
Integer
🟡 Pseudonymized
fields.project
Project
🟢 Allowed
fields.project.archived
boolean
🟢 Allowed
fields.project.archivedBy
User
🟢 Allowed
fields.project.archivedDate
Instant
🟢 Allowed
fields.project.assigneeType
String
🟢 Allowed
fields.project.cloudId
String
🟡 Pseudonymized
fields.project.components
ProjectComponent
🟢 Allowed
fields.project.components.assignee
User
🟢 Allowed
fields.project.components.assigneeType
String
🟡 Pseudonymized
fields.project.components.id
String
🟢 Allowed
fields.project.components.isAssigneeTypeValid
boolean
🟢 Allowed
fields.project.components.lead
User
🟢 Allowed
fields.project.components.leadAccountId
String
🟢 Allowed
fields.project.components.realAssignee
User
🟢 Allowed
fields.project.components.realAssigneeType
String
🟢 Allowed
fields.project.deleted
boolean
🟢 Allowed
fields.project.deletedBy
User
🟢 Allowed
fields.project.deletedDate
Instant
🟢 Allowed
fields.project.favourite
boolean
🟡 Pseudonymized
fields.project.id
String
🟢 Allowed
fields.project.insight
ProjectInsight
🟢 Allowed
fields.project.insight.lastIssueUpdateTime
Instant
🟢 Allowed
fields.project.insight.totalIssueCount
Integer
🟢 Allowed
fields.project.isPrivate
boolean
🟢 Allowed
fields.project.key
String
🟢 Allowed
fields.project.lead
User
🟡 Pseudonymized
fields.project.projectCategory
ProjectCategory
🟡 Pseudonymized
fields.project.projectCategory.id
String
🟢 Allowed
fields.project.simplified
Boolean
🟢 Allowed
fields.project.style
String
🟢 Allowed
fields.reporter
User
🟢 Allowed
fields.resolutionDate
Instant
🟢 Allowed
fields.status
Status
🟢 Allowed
fields.status.id
String
🟢 Allowed
fields.status.statusCategory
StatusCategory
🟢 Allowed
fields.status.statusCategory.colorName
String
🟢 Allowed
fields.status.statusCategory.id
Integer
🟢 Allowed
fields.status.statusCategory.key
String
🟢 Allowed
fields.statusCategoryChangeDate
Instant
🟢 Allowed
fields.sub-tasks[]
List of IssueLink
🟢 Allowed
fields.sub-tasks[].id
String
🟢 Allowed
fields.sub-tasks[].inwardIssue
Issue
🟢 Allowed
fields.sub-tasks[].outwardIssue
Issue
🟢 Allowed
fields.sub-tasks[].type
IssueLinkType
🟢 Allowed
fields.sub-tasks[].type.id
String
🟢 Allowed
fields.sub-tasks[].type.inward
String
🟢 Allowed
fields.sub-tasks[].type.outward
String
🟢 Allowed
fields.timeSpent
String
🟢 Allowed
fields.timeTracking
TimeTracking
🟢 Allowed
fields.timeTracking.originalEstimate
String
🟢 Allowed
fields.timeTracking.originalEstimateSeconds
Integer
🟢 Allowed
fields.timeTracking.remainingEstimate
String
🟢 Allowed
fields.timeTracking.remainingEstimateSeconds
Integer
🟢 Allowed
fields.timeTracking.timeSpent
String
🟢 Allowed
fields.timeTracking.timeSpentSeconds
Integer
🟢 Allowed
fields.updated
Instant
🟢 Allowed
fields.votes
Votes
🟢 Allowed
fields.votes.hasVoted
Boolean
🟢 Allowed
fields.votes.votes
Integer
🟢 Allowed
fields.watcher
Watcher
🟢 Allowed
fields.watcher.isWatching
Boolean
🟢 Allowed
fields.watcher.watchCount
Integer
🟢 Allowed
fields.watcher.watchers[]
List of User
🟢 Allowed
fields.watches
Watches
🟢 Allowed
fields.watches.isWatching
Boolean
🟢 Allowed
fields.watches.watchCount
Integer
🟢 Allowed
fields.worklog[]
List of Worklog
🟢 Allowed
fields.worklog[].author
User
🟢 Allowed
fields.worklog[].comment
Body
🟢 Allowed
fields.worklog[].comment.content[]
List of Content
🟢 Allowed
fields.worklog[].comment.content[].content[]
List of BodyContent
🟢 Allowed
fields.worklog[].comment.content[].content[].attrs
Attributes
🟢 Allowed
fields.worklog[].comment.content[].content[].attrs.accessLevel
String
🟢 Allowed
fields.worklog[].comment.content[].content[].attrs.id
String
🟢 Allowed
fields.worklog[].comment.content[].content[].type
String
🟢 Allowed
fields.worklog[].comment.content[].type
String
🟢 Allowed
fields.worklog[].comment.type
String
🟢 Allowed
fields.worklog[].comment.version
Integer
🟢 Allowed
fields.worklog[].created
Instant
🟢 Allowed
fields.worklog[].id
String
🟢 Allowed
fields.worklog[].issueId
String
🟢 Allowed
fields.worklog[].self
String
🟢 Allowed
fields.worklog[].started
Instant
🟢 Allowed
fields.worklog[].timeSpent
String
🟢 Allowed
fields.worklog[].timeSpentSeconds
Integer
🟢 Allowed
fields.worklog[].updateAuthor
User
🟢 Allowed
fields.worklog[].updated
Instant
🟢 Allowed
fields.worklog[].visibility
Visibility
🟢 Allowed
fields.worklog[].visibility.identifier
String
🟢 Allowed
fields.worklog[].visibility.type
String
🟢 Allowed
fields.worklog[].visibility.value
String
🟡 Pseudonymized
id
String
Raw example: 4831887
Sanitized example:
🟢 Allowed
key
String
🟢 Allowed
archived
boolean
🟡 Pseudonymized
archivedBy
User
🟡 Pseudonymized
archivedBy.accountId
String
The account ID of the user, which uniquely identifies the user across all Atlassian products.
Raw example: 4831887
Sanitized example:
🟢 Allowed
archivedBy.accountType
String
🟢 Allowed
archivedBy.active
boolean
🟡 Pseudonymized
archivedBy.emailAddress
String
Raw example: alice@acme.com
Sanitized example:
🟢 Allowed
archivedBy.key
String
🟢 Allowed
archivedBy.locale
String
The locale of the user. Depending on the user's privacy setting, this may be returned as null.
🟢 Allowed
archivedBy.timeZone
String
The time zone specified in the user's profile. Depending on the user's privacy settings, this may be returned as null.
🟢 Allowed
archivedDate
Instant
🟢 Allowed
assigneeType
String
🟢 Allowed
cloudId
String
🟡 Pseudonymized
components
ProjectComponent
🟢 Allowed
components.assignee
User
🟢 Allowed
components.assigneeType
String
🟡 Pseudonymized
components.id
String
🟢 Allowed
components.isAssigneeTypeValid
boolean
🟢 Allowed
components.lead
User
🟢 Allowed
components.leadAccountId
String
🟢 Allowed
components.realAssignee
User
🟢 Allowed
components.realAssigneeType
String
🟢 Allowed
deleted
boolean
🟢 Allowed
deletedBy
User
🟢 Allowed
deletedDate
Instant
🟢 Allowed
favourite
boolean
🟡 Pseudonymized
id
String
🟢 Allowed
insight
ProjectInsight
🟢 Allowed
insight.lastIssueUpdateTime
Instant
🟢 Allowed
insight.totalIssueCount
Integer
🟢 Allowed
isPrivate
boolean
🟢 Allowed
key
String
🟢 Allowed
lead
User
🟡 Pseudonymized
projectCategory
ProjectCategory
🟡 Pseudonymized
projectCategory.id
String
🟢 Allowed
simplified
Boolean
🟢 Allowed
style
String
🟢 Allowed
cloudId
String
🟢 Allowed
groupId
String