Jira · Schema

Jira Project

A Jira project used to organize and track issues. Projects can be software, service desk, or business type and may be team-managed (next-gen) or company-managed (classic).

AgileIssue TrackingITSMProject ManagementService Management

Properties

Name Type Description
self string The URL of the project in the Jira REST API.
id string The unique identifier of the project.
key string The project key used as a prefix for issue keys (e.g., PROJ).
name string The name of the project.
description stringnull A description of the project.
url stringnull A URL associated with the project.
lead object
projectTypeKey string The type of the project.
simplified boolean Whether the project uses simplified (team-managed/next-gen) configuration.
style string The project style indicating its management model.
archived boolean Whether the project is archived.
deleted boolean Whether the project is in the trash.
assigneeType string The default assignee type when creating issues in this project.
components array The components defined in the project.
issueTypes array The issue types available in the project.
versions array The versions (releases) defined in the project.
roles object A mapping of role names to their REST API URLs.
avatarUrls object
projectCategory object
insight object
permissions object
properties object Entity properties stored on the project.
View JSON Schema on GitHub

JSON Schema

jira-project-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.atlassian.com/schemas/jira/project.json",
  "title": "Jira Project",
  "description": "A Jira project used to organize and track issues. Projects can be software, service desk, or business type and may be team-managed (next-gen) or company-managed (classic).",
  "type": "object",
  "required": ["id", "key", "name"],
  "properties": {
    "self": {
      "type": "string",
      "format": "uri",
      "description": "The URL of the project in the Jira REST API."
    },
    "id": {
      "type": "string",
      "description": "The unique identifier of the project."
    },
    "key": {
      "type": "string",
      "description": "The project key used as a prefix for issue keys (e.g., PROJ).",
      "pattern": "^[A-Z][A-Z0-9_]+$"
    },
    "name": {
      "type": "string",
      "description": "The name of the project.",
      "minLength": 1
    },
    "description": {
      "type": ["string", "null"],
      "description": "A description of the project."
    },
    "url": {
      "type": ["string", "null"],
      "format": "uri",
      "description": "A URL associated with the project."
    },
    "lead": {
      "$ref": "#/$defs/User"
    },
    "projectTypeKey": {
      "type": "string",
      "description": "The type of the project.",
      "enum": ["software", "service_desk", "business"]
    },
    "simplified": {
      "type": "boolean",
      "description": "Whether the project uses simplified (team-managed/next-gen) configuration."
    },
    "style": {
      "type": "string",
      "description": "The project style indicating its management model.",
      "enum": ["classic", "next-gen"]
    },
    "archived": {
      "type": "boolean",
      "description": "Whether the project is archived."
    },
    "deleted": {
      "type": "boolean",
      "description": "Whether the project is in the trash."
    },
    "assigneeType": {
      "type": "string",
      "description": "The default assignee type when creating issues in this project.",
      "enum": ["PROJECT_LEAD", "UNASSIGNED"]
    },
    "components": {
      "type": "array",
      "description": "The components defined in the project.",
      "items": {
        "$ref": "#/$defs/Component"
      }
    },
    "issueTypes": {
      "type": "array",
      "description": "The issue types available in the project.",
      "items": {
        "$ref": "#/$defs/IssueType"
      }
    },
    "versions": {
      "type": "array",
      "description": "The versions (releases) defined in the project.",
      "items": {
        "$ref": "#/$defs/Version"
      }
    },
    "roles": {
      "type": "object",
      "description": "A mapping of role names to their REST API URLs.",
      "additionalProperties": {
        "type": "string",
        "format": "uri"
      }
    },
    "avatarUrls": {
      "$ref": "#/$defs/AvatarUrls"
    },
    "projectCategory": {
      "$ref": "#/$defs/ProjectCategory"
    },
    "insight": {
      "$ref": "#/$defs/ProjectInsight"
    },
    "permissions": {
      "$ref": "#/$defs/ProjectPermissions"
    },
    "properties": {
      "type": "object",
      "description": "Entity properties stored on the project.",
      "additionalProperties": true
    }
  },
  "$defs": {
    "User": {
      "type": "object",
      "description": "A Jira Cloud user.",
      "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"
        },
        "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 used to group issues within a project.",
      "properties": {
        "self": {
          "type": "string",
          "format": "uri"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "The name of the component."
        },
        "description": {
          "type": ["string", "null"],
          "description": "A description of the component."
        },
        "lead": {
          "$ref": "#/$defs/User"
        },
        "assigneeType": {
          "type": "string",
          "description": "The default assignee type for issues in this component.",
          "enum": ["PROJECT_DEFAULT", "COMPONENT_LEAD", "PROJECT_LEAD", "UNASSIGNED"]
        },
        "assignee": {
          "$ref": "#/$defs/User"
        },
        "realAssigneeType": {
          "type": "string",
          "description": "The actual assignee type used after resolution of fallbacks.",
          "enum": ["PROJECT_DEFAULT", "COMPONENT_LEAD", "PROJECT_LEAD", "UNASSIGNED"]
        },
        "realAssignee": {
          "$ref": "#/$defs/User"
        },
        "project": {
          "type": "string",
          "description": "The project key."
        },
        "projectId": {
          "type": "integer",
          "description": "The project ID."
        },
        "isAssigneeTypeValid": {
          "type": "boolean"
        }
      }
    },
    "IssueType": {
      "type": "object",
      "description": "An issue type available in the project.",
      "properties": {
        "self": {
          "type": "string",
          "format": "uri"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "The name of the issue type (e.g., Bug, Story, Task, Epic, Sub-task)."
        },
        "description": {
          "type": "string"
        },
        "iconUrl": {
          "type": "string",
          "format": "uri"
        },
        "subtask": {
          "type": "boolean",
          "description": "Whether this issue type is used to create sub-tasks."
        },
        "avatarId": {
          "type": "integer"
        },
        "hierarchyLevel": {
          "type": "integer",
          "description": "The hierarchy level of the issue type."
        },
        "scope": {
          "$ref": "#/$defs/Scope"
        }
      }
    },
    "Version": {
      "type": "object",
      "description": "A project version (release).",
      "properties": {
        "self": {
          "type": "string",
          "format": "uri"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "The name of the version."
        },
        "description": {
          "type": ["string", "null"]
        },
        "archived": {
          "type": "boolean",
          "description": "Whether the version is archived."
        },
        "released": {
          "type": "boolean",
          "description": "Whether the version has been released."
        },
        "releaseDate": {
          "type": "string",
          "format": "date",
          "description": "The release date in YYYY-MM-DD format."
        },
        "startDate": {
          "type": "string",
          "format": "date",
          "description": "The start date in YYYY-MM-DD format."
        },
        "overdue": {
          "type": "boolean",
          "description": "Whether the version is overdue."
        },
        "projectId": {
          "type": "integer"
        },
        "userReleaseDate": {
          "type": "string",
          "description": "The release date in the user's locale format."
        },
        "userStartDate": {
          "type": "string",
          "description": "The start date in the user's locale format."
        }
      }
    },
    "ProjectCategory": {
      "type": "object",
      "description": "A category for organizing projects.",
      "properties": {
        "self": {
          "type": "string",
          "format": "uri"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "The name of the project category."
        },
        "description": {
          "type": "string"
        }
      }
    },
    "ProjectInsight": {
      "type": "object",
      "description": "Insight data about the project.",
      "properties": {
        "totalIssueCount": {
          "type": "integer",
          "description": "The total number of issues in the project."
        },
        "lastIssueUpdateTime": {
          "type": "string",
          "format": "date-time",
          "description": "The date and time the most recent issue was updated."
        }
      }
    },
    "ProjectPermissions": {
      "type": "object",
      "description": "The permissions the current user has for this project.",
      "properties": {
        "canEdit": {
          "type": "boolean",
          "description": "Whether the user can edit the project."
        }
      }
    },
    "Scope": {
      "type": "object",
      "description": "The scope of an issue type.",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["PROJECT", "TEMPLATE"]
        },
        "project": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "key": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          }
        }
      }
    },
    "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"
        }
      }
    }
  }
}