Atlassian Jira Issue Type API
The Atlassian Jira Issue Type API enables managing issue types for organizing and categorizing work within Jira.
The Atlassian Jira Issue Type API enables managing issue types for organizing and categorizing work within Jira.
components:
schemas:
IssueTypeDetails:
additionalProperties: false
description: Details about an issue type.
properties:
avatarId:
description: The ID of the issue type's avatar.
format: int64
readOnly: true
type: integer
description:
description: The description of the issue type.
readOnly: true
type: string
entityId:
description: Unique ID for next-gen projects.
format: uuid
readOnly: true
type: string
hierarchyLevel:
description: Hierarchy level of the issue type.
format: int32
readOnly: true
type: integer
iconUrl:
description: The URL of the issue type's avatar.
readOnly: true
type: string
id:
description: The ID of the issue type.
readOnly: true
type: string
name:
description: The name of the issue type.
readOnly: true
type: string
scope:
allOf:
- $ref: '#/components/schemas/Scope'
description: Details of the next-gen projects the issue type is available in.
readOnly: true
self:
description: The URL of these issue type details.
readOnly: true
type: string
subtask:
description: Whether this issue type is used to create subtasks.
readOnly: true
type: boolean
type: object
PropertyKeys:
additionalProperties: false
description: List of property keys.
properties:
keys:
description: Property key details.
items:
$ref: '#/components/schemas/PropertyKey'
readOnly: true
type: array
type: object
EntityProperty:
additionalProperties: false
description: >-
An entity property, for more information see [Entity
properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).
properties:
key:
description: The key of the property. Required on create and update.
type: string
value:
description: The value of the property. Required on create and update.
type: object
externalDocs:
description: Find out more about Atlassian products and services.
url: http://www.atlassian.com
info:
contact:
email: [email protected]
description: Needs description.
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
termsOfService: http://atlassian.com/terms/
title: 'Atlassian rest/api/3/issuetype/'
version: 1001.0.0-SNAPSHOT-67b5c6e5f3598d7ec1649016d026468ab2838a77
openapi: 3.0.1
paths:
/rest/api/3/issuetype/project:
get:
deprecated: false
description: >-
Returns issue types for a project.<br><br>This operation can be accessed
anonymously.<br><br>**[Permissions](#permissions) required:** *Browse
projects* [project
permission](https://confluence.atlassian.com/x/yodKLg) in the relevant
project or *Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianGetissuetypesforproject
parameters:
- description: The ID of the project.
in: query
name: projectId
required: true
schema:
format: int64
type: integer
- description: |-
The level of the issue type to filter by. Use:
* `-1` for Subtask.
* `0` for Base.
* `1` for Epic.
in: query
name: level
schema:
format: int32
type: integer
responses:
'200':
content:
application/json:
example: >-
[{"avatarId":10002,"description":"A problem with the
software.","entityId":"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2","hierarchyLevel":0,"iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\",","id":"1","name":"Bug","scope":{"project":{"id":"10000"},"type":"PROJECT"},"self":"https://your-domain.atlassian.net/rest/api/3/issueType/1","subtask":false},{"avatarId":1,"description":"A
task that needs to be
done.","hierarchyLevel":0,"iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",","id":"3","name":"Task","scope":{"project":{"id":"10000"},"type":"PROJECT"},"self":"https://your-domain.atlassian.net/rest/api/3/issueType/3","subtask":false}]
schema:
items:
$ref: '#/components/schemas/IssueTypeDetails'
type: array
description: Returned if the request is successful.
'400':
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'404':
description: |-
Returned if:
* the project is not found.
* the user does not have the necessary permission.
security:
- basicAuth: []
- OAuth2:
- read:jira-work
- {}
summary: Atlassian Get Issue Types For Project
tags:
- Issue Types
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:issue-type:jira
- read:avatar:jira
- read:project-category:jira
- read:project:jira
state: Beta
x-experimental: true
x-atlassian-connect-scope: READ
/rest/api/3/issuetype/{id}:
delete:
deprecated: false
description: >-
Deletes the issue type. If the issue type is in use, all uses are
updated with the alternative issue type (`alternativeIssueTypeId`). A
list of alternative issue types are obtained from the [Get alternative
issue types](#api-rest-api-3-issuetype-id-alternatives-get)
resource.<br><br>**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianDeleteissuetype
parameters:
- description: The ID of the issue type.
in: path
name: id
required: true
schema:
type: string
- description: The ID of the replacement issue type.
in: query
name: alternativeIssueTypeId
schema:
type: string
responses:
'204':
description: Returned if the request is successful.
'400':
description: >-
Returned if any issues cannot be updated with the alternative issue
type.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
description: Returned if the user does not have the necessary permission.
'404':
description: |-
Returned if:
* the issue type is in use and an alternative issue type is not specified.
* the issue type or alternative issue type is not found.
'409':
description: |-
Returned if the issue type is in use and:
* also specified as the alternative issue type.
* is a *standard* issue type and the alternative issue type is a *subtask*.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
- {}
summary: Atlassian Delete Issue Type
tags:
- Issue Types
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- delete:issue-type:jira
state: Beta
x-atlassian-connect-scope: ADMIN
get:
deprecated: false
description: >-
Returns an issue type.<br><br>This operation can be accessed
anonymously.<br><br>**[Permissions](#permissions) required:** *Browse
projects* [project
permission](https://confluence.atlassian.com/x/yodKLg) in a project the
issue type is associated with or *Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianGetissuetype
parameters:
- description: The ID of the issue type.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example: >-
{"avatarId":1,"description":"A task that needs to be
done.","hierarchyLevel":0,"iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",","id":"3","name":"Task","self":"https://your-domain.atlassian.net/rest/api/3/issueType/3","subtask":false}
schema:
$ref: '#/components/schemas/IssueTypeDetails'
description: Returned if the request is successful.
'400':
description: Returned if the issue type ID is invalid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'404':
description: |-
Returned if:
* the issue type is not found.
* the user does not have the required permissions.
security:
- basicAuth: []
- OAuth2:
- read:jira-work
- {}
summary: Atlassian Get Issue Type
tags:
- Issue Types
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:issue-type:jira
- read:avatar:jira
- read:project-category:jira
- read:project:jira
state: Beta
x-atlassian-connect-scope: READ
put:
deprecated: false
description: >-
Updates the issue type.<br><br>**[Permissions](#permissions) required:**
*Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianUpdateissuetype
parameters:
- description: The ID of the issue type.
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
avatarId: 1
description: description
name: name
schema:
$ref: '#/components/schemas/IssueTypeUpdateBean'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/IssueTypeDetails'
description: Returned if the request is successful.
'400':
description: |-
Returned if the request is invalid because:
* no content is sent.
* the issue type name exceeds 60 characters.
* the avatar is not associated with this issue type.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
description: Returned if the user does not have the necessary permission.
'404':
description: Returned if the issue type is not found.
'409':
description: Returned if the issue type name is in use.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
- {}
summary: Atlassian Update Issue Type
tags:
- Issue Types
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:issue-type:jira
- read:avatar:jira
- read:issue-type:jira
- read:project-category:jira
- read:project:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/issuetype/{id}/alternatives:
get:
deprecated: false
description: >-
Returns a list of issue types that can be used to replace the issue
type. The alternative issue types are those assigned to the same
workflow scheme, field configuration scheme, and screen
scheme.<br><br>This operation can be accessed
anonymously.<br><br>**[Permissions](#permissions) required:** None.
operationId: atlassianGetalternativeissuetypes
parameters:
- description: The ID of the issue type.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example: >-
[{"avatarId":1,"description":"A task that needs to be
done.","hierarchyLevel":0,"iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",","id":"3","name":"Task","self":"https://your-domain.atlassian.net/rest/api/3/issueType/3","subtask":false},{"avatarId":10002,"description":"A
problem with the
software.","entityId":"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2","hierarchyLevel":0,"iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\",","id":"1","name":"Bug","scope":{"project":{"id":"10000"},"type":"PROJECT"},"self":"https://your-domain.atlassian.net/rest/api/3/issueType/1","subtask":false}]
schema:
items:
$ref: '#/components/schemas/IssueTypeDetails'
type: array
description: Returned if the request is successful.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'404':
description: |-
Returned if:
* the issue type is not found.
* the user does not have the required permissions.
security:
- basicAuth: []
- OAuth2:
- read:jira-work
- {}
summary: Atlassian Get Alternative Issue Types
tags:
- Issue Types
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:issue-type:jira
- read:project-category:jira
- read:project:jira
- read:avatar:jira
state: Beta
x-atlassian-connect-scope: READ
/rest/api/3/issuetype/{id}/avatar2:
post:
deprecated: false
description: >-
Loads an avatar for the issue type.<br><br>Specify the avatar's local
file location in the body of the request. Also, include the following
headers:<br><br> * `X-Atlassian-Token: no-check` To prevent XSRF
protection blocking the request, for more information see [Special
Headers](#special-request-headers).<br> * `Content-Type: image/image
type` Valid image types are JPEG, GIF, or PNG.<br><br>For example: <br>`curl --request POST \ --user [email protected]: \ --header
'X-Atlassian-Token: no-check' \ --header 'Content-Type: image/' \
--data-binary "" \ --url
'https://your-domain.atlassian.net/rest/api/3/issuetype/{issueTypeId}'This`<br><br>The
avatar is cropped to a square. If no crop parameters are specified, the
square originates at the top left of the image. The length of the
square's sides is set to the smaller of the height or width of the
image.<br><br>The cropped image is then used to create avatars of 16x16,
24x24, 32x32, and 48x48 in size.<br><br>After creating the avatar, use [
Update issue type](#api-rest-api-3-issuetype-id-put) to set it as the
issue type's displayed avatar.<br><br>**[Permissions](#permissions)
required:** *Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianCreateissuetypeavatar
parameters:
- description: The ID of the issue type.
in: path
name: id
required: true
schema:
type: string
- description: The X coordinate of the top-left corner of the crop region.
in: query
name: x
schema:
default: 0
format: int32
type: integer
- description: The Y coordinate of the top-left corner of the crop region.
in: query
name: 'y'
schema:
default: 0
format: int32
type: integer
- description: The length of each side of the crop region.
in: query
name: size
required: true
schema:
format: int32
type: integer
requestBody:
content:
'*/*':
schema: {}
required: true
responses:
'201':
content:
application/json:
example: >-
{"id":"1000","isDeletable":false,"isSelected":false,"isSystemAvatar":true,"urls":{"16x16":"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project","24x24":"/secure/useravatar?size=small&avatarId=10040&avatarType=project","32x32":"/secure/useravatar?size=medium&avatarId=10040&avatarType=project","48x48":"/secure/useravatar?avatarId=10040&avatarType=project"}}
schema:
$ref: '#/components/schemas/Avatar'
description: Returned if the request is successful.
'400':
description: |-
Returned if:
* an image isn't included in the request.
* the image type is unsupported.
* the crop parameters extend the crop area beyond the edge of the image.
* `cropSize` is missing.
* the issue type ID is invalid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
description: Returned if the user does not have the necessary permission.
'404':
description: Returned if the issue type is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
- {}
summary: Atlassian Load Issue Type Avatar
tags:
- Issue Types
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:avatar:jira
- write:issue-type:jira
- read:avatar:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/issuetype/{issueTypeId}/properties:
get:
deprecated: false
description: >-
Returns all the [issue type
property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties)
keys of the issue type.<br><br>This operation can be accessed
anonymously.<br><br>**[Permissions](#permissions) required:**<br><br> * *Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg) to get the
property keys of any issue type.<br> * *Browse projects* [project
permission](https://confluence.atlassian.com/x/yodKLg) to get the
property keys of any issue types associated with the projects the user
has permission to browse.
operationId: atlassianGetissuetypepropertykeys
parameters:
- description: The ID of the issue type.
in: path
name: issueTypeId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example: >-
{"keys":[{"key":"issue.support","self":"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support"}]}
schema:
$ref: '#/components/schemas/PropertyKeys'
description: Returned if the request is successful.
'400':
description: Returned if the issue type ID is invalid.
'404':
description: |-
Returned if:
* the issue type is not found.
* the user does not have the required permissions.
security:
- basicAuth: []
- OAuth2:
- read:jira-work
- {}
summary: Atlassian Get Issue Type Property Keys
tags:
- Issue Type Properties
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:issue-type.property:jira
state: Beta
x-atlassian-connect-scope: READ
/rest/api/3/issuetype/{issueTypeId}/properties/{propertyKey}:
delete:
deprecated: false
description: >-
Deletes the [issue type
property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).<br><br>**[Permissions](#permissions)
required:** *Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianDeleteissuetypeproperty
parameters:
- description: The ID of the issue type.
in: path
name: issueTypeId
required: true
schema:
type: string
- description: >-
The key of the property. Use [Get issue type property
keys](#api-rest-api-3-issuetype-issueTypeId-properties-get) to get a
list of all issue type property keys.
in: path
name: propertyKey
required: true
schema:
type: string
responses:
'204':
description: Returned if the issue type property is deleted.
'400':
description: Returned if the issue type ID is invalid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
description: Returned if the user does not have the necessary permission.
'404':
description: Returned if the issue type or property is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
- {}
summary: Atlassian Delete Issue Type Property
tags:
- Issue Type Properties
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- delete:issue-type.property:jira
state: Beta
x-atlassian-connect-scope: ADMIN
get:
deprecated: false
description: >-
Returns the key and value of the [issue type
property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).<br><br>This
operation can be accessed
anonymously.<br><br>**[Permissions](#permissions) required:**<br><br> * *Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg) to get the
details of any issue type.<br> * *Browse projects* [project
permission](https://confluence.atlassian.com/x/yodKLg) to get the
details of any issue types associated with the projects the user has
permission to browse.
operationId: atlassianGetissuetypeproperty
parameters:
- description: The ID of the issue type.
in: path
name: issueTypeId
required: true
schema:
type: string
- description: >-
The key of the property. Use [Get issue type property
keys](#api-rest-api-3-issuetype-issueTypeId-properties-get) to get a
list of all issue type property keys.
in: path
name: propertyKey
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example: >-
{"key":"issue.support","value":{"system.conversation.id":"b1bf38be-5e94-4b40-a3b8-9278735ee1e6","system.support.time":"1m"}}
schema:
$ref: '#/components/schemas/EntityProperty'
description: Returned if the request is successful.
'400':
description: Returned if the issue type ID is invalid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'404':
description: >-
Returned if the issue type or property is not found or the user does
not have the required permissions.
security:
- basicAuth: []
- OAuth2:
- read:jira-work
- {}
summary: Atlassian Get Issue Type Property
tags:
- Issue Type Properties
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:issue-type.property:jira
state: Beta
x-atlassian-connect-scope: READ
put:
deprecated: false
description: >-
Creates or updates the value of the [issue type
property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
Use this resource to store and update data against an issue
type.<br><br>The value of the request body must be a
[valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
maximum length is 32768 characters.<br><br>**[Permissions](#permissions)
required:** *Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianSetissuetypeproperty
parameters:
- description: The ID of the issue type.
in: path
name: issueTypeId
required: true
schema:
type: string
- description: >-
The key of the issue type property. The maximum length is 255
characters.
in: path
name: propertyKey
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
number: 5
string: string-value
schema: {}
description: >-
The value of the property. The value has to be a valid, non-empty
[JSON](https://tools.ietf.org/html/rfc4627) value. The maximum length
of the property value is 32768 bytes.
required: true
responses:
'200':
content:
application/json:
schema: {}
description: Returned if the issue type property is updated.
'201':
content:
application/json:
schema: {}
description: Returned if the issue type property is created.
'400':
description: |-
Returned if:
* the issue type ID is invalid.
* a property value is not provided.
* the property value JSON content is invalid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
description: >-
Returned if the user does not have permission to modify the issue
type.
'404':
description: |-
Returned if:
* the issue type is not found.
* the user does not have the permission view the issue type.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
- {}
summary: Atlassian Set Issue Type Property
tags:
- Issue Type Properties
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:issue-type.property:jira
state: Beta
x-atlassian-connect-scope: ADMIN
servers:
- url: https://your-domain.atlassian.net
tags:
- name: Issue Type Properties
- name: Issue Types
x-atlassian-narrative:
documents:
- anchor: about
body: >-
The Jira REST API enables you to interact with Jira programmatically.
Use this API to
[build
apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/),
script interactions with
Jira, or develop any other type of integration. This page documents the
REST resources available in Jira Cloud, including
the HTTP response codes and example requests and responses.
title: About
- anchor: version
body: >
This documentation is for **version 3** of the Jira Cloud platform REST
API, which is the latest version
but is in **beta**. [Version
2](https://developer.atlassian.com/cloud/jira/platform/rest/v2/) and
version 3 of the API offer the same collection of operations. However,
version 3 provides support for
the [Atlassian Document
Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/)
(ADF) in:
- `body` in comments, including where comments are used in issue, issue
link, and transition resources.
- `comment` in worklogs.
- `description` and `environment` fields in issues.
- `textarea` type custom fields (multi-line text fields) in issues.
Single line custom fields
(`textfield`) accept a string and don't handle Atlassian Document Format content.
However, these new features are under development and may change.
title: Version
- anchor: authentication
body: >
### Forge apps
For Forge apps, [REST API
scopes](https://developer.atlassian.com/cloud/jira/platform/scopes-for-oauth-2-3LO-and-forge-apps/)
are used when authenticating with Jira Cloud platform. See [Add scopes
to call an Atlassian REST
API](https://developer.atlassian.com/platform/forge/add-scopes-to-call-an-atlassian-rest-api/)
for more details.
The URIs for Forge app REST API calls have this structure:
`/rest/api/3/<resource-name>`
For example, `/rest/api/3/issue/DEMO-1`
### Connect apps
For Connect apps, authentication (JWT-based) is built into the Connect
libraries. Authorization is implemented using either
scopes (shown as _App scope required_ for operations on this page) or
user impersonation. See
[Security for Connect
apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)
for details.
The URIs for Connect app REST API calls have this structure:
`https://<site-url>/rest/api/3/<resource-name
# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/openapi/atlassian-rest-api-3-issuetype--openapi-original.yml