Jira · Schema
Jira Issue
A Jira issue representing a unit of work such as a bug, story, task, epic, or sub-task tracked within a Jira project.
AgileIssue TrackingITSMProject ManagementService Management
Properties
| Name | Type | Description |
|---|---|---|
| id | string | The unique identifier of the issue. |
| key | string | The key of the issue in PROJECT-NUMBER format (e.g., PROJ-123). |
| self | string | The URL of the issue in the Jira REST API. |
| expand | string | The expand options applied to the issue response. |
| fields | object | |
| renderedFields | object | HTML-rendered versions of applicable issue fields. |
| names | object | A mapping of field IDs to their human-readable names. |
| schema | object | JSON Schema definitions for each field on the issue. |
| transitions | array | The list of workflow transitions available for the issue. |
| changelog | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://developer.atlassian.com/schemas/jira/issue.json",
"title": "Jira Issue",
"description": "A Jira issue representing a unit of work such as a bug, story, task, epic, or sub-task tracked within a Jira project.",
"type": "object",
"required": ["id", "key", "fields"],
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the issue."
},
"key": {
"type": "string",
"description": "The key of the issue in PROJECT-NUMBER format (e.g., PROJ-123).",
"pattern": "^[A-Z][A-Z0-9_]+-[0-9]+$"
},
"self": {
"type": "string",
"format": "uri",
"description": "The URL of the issue in the Jira REST API."
},
"expand": {
"type": "string",
"description": "The expand options applied to the issue response."
},
"fields": {
"$ref": "#/$defs/IssueFields"
},
"renderedFields": {
"type": "object",
"description": "HTML-rendered versions of applicable issue fields.",
"additionalProperties": true
},
"names": {
"type": "object",
"description": "A mapping of field IDs to their human-readable names.",
"additionalProperties": {
"type": "string"
}
},
"schema": {
"type": "object",
"description": "JSON Schema definitions for each field on the issue.",
"additionalProperties": true
},
"transitions": {
"type": "array",
"description": "The list of workflow transitions available for the issue.",
"items": {
"$ref": "#/$defs/Transition"
}
},
"changelog": {
"$ref": "#/$defs/Changelog"
}
},
"$defs": {
"IssueFields": {
"type": "object",
"description": "The core and custom fields of a Jira issue.",
"properties": {
"summary": {
"type": "string",
"description": "The summary (title) of the issue.",
"minLength": 1
},
"description": {
"description": "The description of the issue in Atlassian Document Format (ADF). In API v3 this is a structured JSON object; in v2 it is a plain string.",
"oneOf": [
{ "$ref": "#/$defs/AtlassianDocumentFormat" },
{ "type": "null" }
]
},
"issuetype": {
"$ref": "#/$defs/IssueType"
},
"project": {
"$ref": "#/$defs/ProjectRef"
},
"status": {
"$ref": "#/$defs/Status"
},
"priority": {
"$ref": "#/$defs/Priority"
},
"resolution": {
"oneOf": [
{ "$ref": "#/$defs/Resolution" },
{ "type": "null" }
],
"description": "The resolution of the issue, if resolved."
},
"assignee": {
"oneOf": [
{ "$ref": "#/$defs/User" },
{ "type": "null" }
],
"description": "The user assigned to the issue."
},
"reporter": {
"$ref": "#/$defs/User"
},
"creator": {
"$ref": "#/$defs/User"
},
"labels": {
"type": "array",
"description": "Labels applied to the issue.",
"items": {
"type": "string"
}
},
"components": {
"type": "array",
"description": "Project components associated with the issue.",
"items": {
"$ref": "#/$defs/Component"
}
},
"fixVersions": {
"type": "array",
"description": "The versions in which this issue is fixed.",
"items": {
"$ref": "#/$defs/Version"
}
},
"versions": {
"type": "array",
"description": "The versions affected by this issue.",
"items": {
"$ref": "#/$defs/Version"
}
},
"environment": {
"description": "The environment in which the issue was discovered, in ADF.",
"oneOf": [
{ "$ref": "#/$defs/AtlassianDocumentFormat" },
{ "type": "null" }
]
},
"duedate": {
"type": ["string", "null"],
"format": "date",
"description": "The due date of the issue in YYYY-MM-DD format."
},
"created": {
"type": "string",
"format": "date-time",
"description": "The date and time the issue was created."
},
"updated": {
"type": "string",
"format": "date-time",
"description": "The date and time the issue was last updated."
},
"resolutiondate": {
"type": ["string", "null"],
"format": "date-time",
"description": "The date and time the issue was resolved."
},
"watches": {
"$ref": "#/$defs/Watches"
},
"votes": {
"$ref": "#/$defs/Votes"
},
"comment": {
"$ref": "#/$defs/PageOfComments"
},
"worklog": {
"$ref": "#/$defs/PageOfWorklogs"
},
"subtasks": {
"type": "array",
"description": "Sub-tasks of the issue.",
"items": {
"$ref": "#/$defs/IssueRef"
}
},
"parent": {
"oneOf": [
{ "$ref": "#/$defs/IssueRef" },
{ "type": "null" }
],
"description": "The parent issue, if this is a sub-task or child issue."
},
"issuelinks": {
"type": "array",
"description": "Links between this issue and other issues.",
"items": {
"$ref": "#/$defs/IssueLink"
}
},
"attachment": {
"type": "array",
"description": "Attachments on the issue.",
"items": {
"$ref": "#/$defs/Attachment"
}
},
"timetracking": {
"$ref": "#/$defs/TimeTracking"
}
},
"additionalProperties": true
},
"IssueType": {
"type": "object",
"description": "An issue type in Jira (e.g., Bug, Story, Task, Epic, Sub-task).",
"properties": {
"self": {
"type": "string",
"format": "uri"
},
"id": {
"type": "string"
},
"name": {
"type": "string",
"description": "The name of the issue type."
},
"description": {
"type": "string"
},
"iconUrl": {
"type": "string",
"format": "uri"
},
"subtask": {
"type": "boolean",
"description": "Whether this issue type represents a sub-task."
},
"hierarchyLevel": {
"type": "integer",
"description": "The hierarchy level of the issue type (e.g., 0 for base, -1 for sub-task, 1 for epic)."
}
}
},
"ProjectRef": {
"type": "object",
"description": "A reference to a Jira project.",
"properties": {
"self": {
"type": "string",
"format": "uri"
},
"id": {
"type": "string"
},
"key": {
"type": "string",
"description": "The project key (e.g., PROJ)."
},
"name": {
"type": "string"
},
"projectTypeKey": {
"type": "string",
"enum": ["software", "service_desk", "business"]
},
"avatarUrls": {
"$ref": "#/$defs/AvatarUrls"
}
}
},
"Status": {
"type": "object",
"description": "A workflow status in Jira.",
"properties": {
"self": {
"type": "string",
"format": "uri"
},
"id": {
"type": "string"
},
"name": {
"type": "string",
"description": "The name of the status (e.g., To Do, In Progress, Done)."
},
"description": {
"type": "string"
},
"iconUrl": {
"type": "string",
"format": "uri"
},
"statusCategory": {
"$ref": "#/$defs/StatusCategory"
}
}
},
"StatusCategory": {
"type": "object",
"description": "A status category grouping related statuses (e.g., To Do, In Progress, Done).",
"properties": {
"self": {
"type": "string",
"format": "uri"
},
"id": {
"type": "integer"
},
"key": {
"type": "string",
"enum": ["new", "indeterminate", "done", "undefined"]
},
"colorName": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"Priority": {
"type": "object",
"description": "An issue priority level.",
"properties": {
"self": {
"type": "string",
"format": "uri"
},
"id": {
"type": "string"
},
"name": {
"type": "string",
"description": "The name of the priority (e.g., Highest, High, Medium, Low, Lowest)."
},
"iconUrl": {
"type": "string",
"format": "uri"
}
}
},
"Resolution": {
"type": "object",
"description": "An issue resolution.",
"properties": {
"self": {
"type": "string",
"format": "uri"
},
"id": {
"type": "string"
},
"name": {
"type": "string",
"description": "The name of the resolution (e.g., Fixed, Won't Fix, Duplicate, Cannot Reproduce, Done)."
},
"description": {
"type": "string"
}
}
},
"User": {
"type": "object",
"description": "A Jira Cloud user identified by account ID.",
"properties": {
"self": {
"type": "string",
"format": "uri"
},
"accountId": {
"type": "string",
"description": "The unique account ID for the user across all Atlassian products.",
"maxLength": 128
},
"emailAddress": {
"type": "string",
"format": "email",
"description": "The email address of the user (availability depends on privacy settings)."
},
"displayName": {
"type": "string",
"description": "The display name of the user."
},
"active": {
"type": "boolean",
"description": "Whether the user account is active."
},
"timeZone": {
"type": "string"
},
"accountType": {
"type": "string",
"enum": ["atlassian", "app", "customer"]
},
"avatarUrls": {
"$ref": "#/$defs/AvatarUrls"
}
}
},
"Component": {
"type": "object",
"description": "A project component.",
"properties": {
"self": {
"type": "string",
"format": "uri"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
}
}
},
"Version": {
"type": "object",
"description": "A project version.",
"properties": {
"self": {
"type": "string",
"format": "uri"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"archived": {
"type": "boolean"
},
"released": {
"type": "boolean"
},
"releaseDate": {
"type": "string",
"format": "date"
}
}
},
"IssueRef": {
"type": "object",
"description": "A reference to another issue.",
"properties": {
"id": {
"type": "string"
},
"key": {
"type": "string"
},
"self": {
"type": "string",
"format": "uri"
},
"fields": {
"type": "object",
"properties": {
"summary": {
"type": "string"
},
"status": {
"$ref": "#/$defs/Status"
},
"priority": {
"$ref": "#/$defs/Priority"
},
"issuetype": {
"$ref": "#/$defs/IssueType"
}
}
}
}
},
"IssueLink": {
"type": "object",
"description": "A link between two issues.",
"properties": {
"id": {
"type": "string"
},
"self": {
"type": "string",
"format": "uri"
},
"type": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"inward": {
"type": "string",
"description": "The inward link description (e.g., is blocked by)."
},
"outward": {
"type": "string",
"description": "The outward link description (e.g., blocks)."
}
}
},
"inwardIssue": {
"$ref": "#/$defs/IssueRef"
},
"outwardIssue": {
"$ref": "#/$defs/IssueRef"
}
}
},
"Attachment": {
"type": "object",
"description": "An attachment on an issue.",
"properties": {
"self": {
"type": "string",
"format": "uri"
},
"id": {
"type": "string"
},
"filename": {
"type": "string"
},
"author": {
"$ref": "#/$defs/User"
},
"created": {
"type": "string",
"format": "date-time"
},
"size": {
"type": "integer",
"description": "The size of the attachment in bytes."
},
"mimeType": {
"type": "string"
},
"content": {
"type": "string",
"format": "uri",
"description": "The URL to download the attachment content."
},
"thumbnail": {
"type": "string",
"format": "uri"
}
}
},
"TimeTracking": {
"type": "object",
"description": "Time tracking information for an issue.",
"properties": {
"originalEstimate": {
"type": "string",
"description": "The original time estimate (e.g., 2d 4h)."
},
"remainingEstimate": {
"type": "string",
"description": "The remaining time estimate."
},
"timeSpent": {
"type": "string",
"description": "The total time spent."
},
"originalEstimateSeconds": {
"type": "integer"
},
"remainingEstimateSeconds": {
"type": "integer"
},
"timeSpentSeconds": {
"type": "integer"
}
}
},
"Watches": {
"type": "object",
"description": "The watchers of an issue.",
"properties": {
"self": {
"type": "string",
"format": "uri"
},
"watchCount": {
"type": "integer",
"minimum": 0
},
"isWatching": {
"type": "boolean"
}
}
},
"Votes": {
"type": "object",
"description": "The votes for an issue.",
"properties": {
"self": {
"type": "string",
"format": "uri"
},
"votes": {
"type": "integer",
"minimum": 0
},
"hasVoted": {
"type": "boolean"
}
}
},
"PageOfComments": {
"type": "object",
"description": "A paginated list of comments.",
"properties": {
"startAt": {
"type": "integer"
},
"maxResults": {
"type": "integer"
},
"total": {
"type": "integer"
},
"comments": {
"type": "array",
"items": {
"$ref": "#/$defs/Comment"
}
}
}
},
"Comment": {
"type": "object",
"description": "A comment on an issue.",
"properties": {
"self": {
"type": "string",
"format": "uri"
},
"id": {
"type": "string"
},
"author": {
"$ref": "#/$defs/User"
},
"body": {
"$ref": "#/$defs/AtlassianDocumentFormat"
},
"updateAuthor": {
"$ref": "#/$defs/User"
},
"created": {
"type": "string",
"format": "date-time"
},
"updated": {
"type": "string",
"format": "date-time"
},
"visibility": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["group", "role"]
},
"value": {
"type": "string"
}
}
}
}
},
"PageOfWorklogs": {
"type": "object",
"description": "A paginated list of worklogs.",
"properties": {
"startAt": {
"type": "integer"
},
"maxResults": {
"type": "integer"
},
"total": {
"type": "integer"
},
"worklogs": {
"type": "array",
"items": {
"$ref": "#/$defs/Worklog"
}
}
}
},
"Worklog": {
"type": "object",
"description": "A worklog entry recording time spent on an issue.",
"properties": {
"self": {
"type": "string",
"format": "uri"
},
"id": {
"type": "string"
},
"author": {
"$ref": "#/$defs/User"
},
"updateAuthor": {
"$ref": "#/$defs/User"
},
"timeSpent": {
"type": "string"
},
"timeSpentSeconds": {
"type": "integer"
},
"started": {
"type": "string",
"format": "date-time"
},
"created": {
"type": "string",
"format": "date-time"
},
"updated": {
"type": "string",
"format": "date-time"
}
}
},
"Transition": {
"type": "object",
"description": "A workflow transition available for an issue.",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"to": {
"$ref": "#/$defs/Status"
},
"hasScreen": {
"type": "boolean"
},
"isGlobal": {
"type": "boolean"
},
"isInitial": {
"type": "boolean"
},
"isConditional": {
"type": "boolean"
}
}
},
"Changelog": {
"type": "object",
"description": "A paginated history of changes to the issue.",
"properties": {
"startAt": {
"type": "integer"
},
"maxResults": {
"type": "integer"
},
"total": {
"type": "integer"
},
"histories": {
"type": "array",
"items": {
"$ref": "#/$defs/ChangeHistory"
}
}
}
},
"ChangeHistory": {
"type": "object",
"description": "A single changelog entry recording field changes.",
"properties": {
"id": {
"type": "string"
},
"author": {
"$ref": "#/$defs/User"
},
"created": {
"type": "string",
"format": "date-time"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string"
},
"fieldtype": {
"type": "string"
},
"fieldId": {
"type": "string"
},
"from": {
"type": ["string", "null"]
},
"fromString": {
"type": ["string", "null"]
},
"to": {
"type": ["string", "null"]
},
"toString": {
"type": ["string", "null"]
}
}
}
}
}
},
"AvatarUrls": {
"type": "object",
"description": "Avatar image URLs in multiple sizes.",
"properties": {
"16x16": {
"type": "string",
"format": "uri"
},
"24x24": {
"type": "string",
"format": "uri"
},
"32x32": {
"type": "string",
"format": "uri"
},
"48x48": {
"type": "string",
"format": "uri"
}
}
},
"AtlassianDocumentFormat": {
"type": "object",
"description": "Atlassian Document Format (ADF) representing rich text content used in Jira Cloud v3 API.",
"required": ["type", "version", "content"],
"properties": {
"type": {
"type": "string",
"const": "doc"
},
"version": {
"type": "integer",
"const": 1
},
"content": {
"type": "array",
"description": "The block-level content nodes of the document.",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The block node type (e.g., paragraph, heading, bulletList, orderedList, codeBlock, blockquote, table, rule, mediaSingle)."
},
"content": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"attrs": {
"type": "object",
"additionalProperties": true
}
},
"additionalProperties": true
}
}
}
}
}
}