Task Project Management

Task Project Management · Acciones GPT

Task Project Management

The missing AI companion for Jira.

  • PUT /api/board/issues/rankRankIssues

    Moves (ranks) issues before or after a given issue. At most 50 issues may be ranked at once.

  • GET /api/user/meUserDetail

    Current user detail

  • GET /api/user/searchFindUsers

    Upon returning multiple users, ask user to pick

  • POST /api/user/switchMultipleJiraSites

    Allow user to switch if multiple sites are connected, empty values returns all sites.

  • POST /api/project/createCreateJiraProject

    Create new Jira project. Very importmant must ask user if they would like a team-managed (next gen built-in 1 board, must have projectTemplateKey populated) vs company-managed (can have multiple boards). Infer remaining values on your own, default to team managed and inform user of the difference.

  • GET /api/project/{projectIdOrKey}/getGetProjectByIdOrKey

    Get project by ID or key including issue types

  • GET /api/project/searchFindProjects

    Find or get all projects if parameters are omitted

  • GET /api/project/recentGetRecentProjects

    Get recent projects

  • GET /api/project/typesGetProjectTemplateKeys

    Get projectTemplateKeys for projectTypeKey

  • GET /api/filter/{id}/getGetFilterById

    Get filter by ID

  • GET /api/filter/searchGetFilters

    Find or get all filters if parameters are omitted

  • POST /api/filter/createCreateFilter

    Create new filter

  • POST /api/board/createCreateBoard

    Creates a new board

  • GET /api/board/{boardId}/getGetBoardById

    Get board by ID

  • GET /api/board/searchFindBoards

    Find or get all boards if parameters are omitted

  • POST /api/sprint/createCreateSprint

    Creates a new sprint for the specified board

  • GET /api/sprint/board/{boardId}GetAllSprints

    Get all sprints for a board

  • PUT /api/sprint/{sprintId}/updateUpdateSprintById

    Update Sprint by ID

  • POST /api/jql/execExecuteJQL

    When user requests "list the epics I have with ${status} tickets," the JQL query should return tickets with the ${status{}, include their parent field, and omit the jql condition 'issuetype = Epic'.

  • GET /api/issue/creation/metadataGetIssueTypesByProjectId

    Gets issue types, fields, and allowed values for a project.

  • POST /api/issue/createCreateIssue

    Creates a new issue in the specified project, always add Epic via parent property with key to the Epic, always add Sprint when available. Call GetIssueTypesByProjectId to determine the payload and required fields.

  • PUT /api/issue/{issueIdOrKey}/editUpdateIssue

    When adding Epic use parent field with Epic key. Follow flow - 1. GetIssueTypesByProjectId to determine fields to update. 2. UpdateIssue. For transitions, use ExecuteJQL with ['transitions'] instead. Use update object when updating issueLinks

  • POST /api/issue/{issueIdOrKey}/transitionTransitionIssue

    Perform a transition on an issue

  • POST /api/issue/{issueIdOrKey}/comment/createAddCommentToIssue

    Add comment to an issue. When user(s) are mentioned by @<name>, search for user(s) and add accountId(s) to mentions array, don't modify @<name> in the comment body.

  • POST /int/rag/upsertupsertToUsersKnowledgeBase

    Add requirements to user's knowledge base

  • POST /int/rag/searchqueryUsersKnowledgeBase

    Leave blank to return all requirements from user's entire knowledge base, or only tags if text doesn't match.

  • GET /api/confluence/page/getGetConfluencePage

    Returns the content of a Confluence page

  • POST /api/confluence/page/createCreateConfluencePage

    Use SearchConfluence to get spaceId. Utilize HTML (<h3>,<h4>, <p>, <ol>, <ul>, <li>, <strong>) to structure content. Organize document with clear hierarchy using headings to define sections/sub-sections, paragraphs for text, ordered lists for numbered items, and unordered lists for bullet points.

  • GET /api/confluence/searchSearchConfluence

    Search results from Confluence. Also used for finding spaceId when creating a page, default to user's personal space

  • POST /api/confluence/page/updateUpdateConfluencePage
Esquema original API
{
  "openapi": "3.1.0",
  "info": {
    "title": "Task Project Management",
    "description": "The missing AI companion for Jira.",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://plugin.aperioflow.com"
    }
  ],
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "paths": {
    "/api/board/issues/rank": {
      "put": {
        "operationId": "RankIssues",
        "description": "Moves (ranks) issues before or after a given issue. At most 50 issues may be ranked at once.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RI"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/user/me": {
      "get": {
        "description": "Current user detail",
        "operationId": "UserDetail",
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/user/search": {
      "get": {
        "operationId": "FindUsers",
        "description": "Upon returning multiple users, ask user to pick",
        "parameters": [
          {
            "in": "query",
            "name": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "startAt",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "maxResults",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/user/switch": {
      "post": {
        "description": "Allow user to switch if multiple sites are connected, empty values returns all sites.",
        "operationId": "MultipleJiraSites",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Jira site ID to switch to"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/project/create": {
      "post": {
        "description": "Create new Jira project. Very importmant must ask user if they would like a team-managed (next gen built-in 1 board, must have projectTemplateKey populated) vs company-managed (can have multiple boards). Infer remaining values on your own, default to team managed and inform user of the difference.",
        "operationId": "CreateJiraProject",
        "requestBody": {
          "description": "Project details",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectDetails"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/project/{projectIdOrKey}/get": {
      "get": {
        "operationId": "GetProjectByIdOrKey",
        "description": "Get project by ID or key including issue types",
        "parameters": [
          {
            "in": "path",
            "name": "projectIdOrKey",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Always capitalize"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/project/search": {
      "get": {
        "operationId": "FindProjects",
        "description": "Find or get all projects if parameters are omitted",
        "parameters": [
          {
            "in": "query",
            "name": "startAt",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "maxResults",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter results by search"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/project/recent": {
      "get": {
        "operationId": "GetRecentProjects",
        "description": "Get recent projects",
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/project/types": {
      "get": {
        "operationId": "GetProjectTemplateKeys",
        "description": "Get projectTemplateKeys for projectTypeKey",
        "parameters": [
          {
            "in": "query",
            "name": "projectTypeKey",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/filter/{id}/get": {
      "get": {
        "operationId": "GetFilterById",
        "description": "Get filter by ID",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/filter/search": {
      "get": {
        "operationId": "GetFilters",
        "description": "Find or get all filters if parameters are omitted",
        "parameters": [
          {
            "in": "query",
            "name": "filterName",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "User ID matching filter owner"
          },
          {
            "in": "query",
            "name": "projectId",
            "schema": {
              "type": "number"
            },
            "description": "Project ID matching filters"
          },
          {
            "in": "query",
            "name": "startAt",
            "schema": {
              "type": "number"
            }
          },
          {
            "in": "query",
            "name": "maxResults",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/filter/create": {
      "post": {
        "operationId": "CreateFilter",
        "description": "Create new filter",
        "requestBody": {
          "description": "Filter details",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FD"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/board/create": {
      "post": {
        "operationId": "CreateBoard",
        "description": "Creates a new board",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BD"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/board/{boardId}/get": {
      "get": {
        "operationId": "GetBoardById",
        "description": "Get board by ID",
        "parameters": [
          {
            "in": "path",
            "name": "boardId",
            "schema": {
              "type": "integer"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/board/search": {
      "get": {
        "operationId": "FindBoards",
        "description": "Find or get all boards if parameters are omitted",
        "parameters": [
          {
            "in": "query",
            "name": "startAt",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "maxResults",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "projectKeyOrId",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "filterId",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/sprint/create": {
      "post": {
        "operationId": "CreateSprint",
        "description": "Creates a new sprint for the specified board",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CS"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/sprint/board/{boardId}": {
      "get": {
        "operationId": "GetAllSprints",
        "description": "Get all sprints for a board",
        "parameters": [
          {
            "in": "path",
            "name": "boardId",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "The ID of the board that contains the requested sprints"
          },
          {
            "in": "query",
            "name": "startAt",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "maxResults",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "state",
            "schema": {
              "type": "string"
            },
            "description": "Filters results, valid values future, active, closed. Multiple states separated by comma"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/sprint/{sprintId}/update": {
      "put": {
        "operationId": "UpdateSprintById",
        "description": "Update Sprint by ID",
        "parameters": [
          {
            "in": "path",
            "name": "sprintId",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/US"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/jql/exec": {
      "post": {
        "operationId": "ExecuteJQL",
        "description": "When user requests \"list the epics I have with ${status} tickets,\" the JQL query should return tickets with the ${status{}, include their parent field, and omit the jql condition 'issuetype = Epic'.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JQLR"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/issue/creation/metadata": {
      "get": {
        "operationId": "GetIssueTypesByProjectId",
        "description": "Gets issue types, fields, and allowed values for a project.",
        "parameters": [
          {
            "in": "query",
            "name": "projectIdOrKey",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "issueTypeName",
            "schema": {
              "type": "string"
            },
            "description": "If provided, acts as a filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/issue/create": {
      "post": {
        "operationId": "CreateIssue",
        "description": "Creates a new issue in the specified project, always add Epic via parent property with key to the Epic, always add Sprint when available. Call GetIssueTypesByProjectId to determine the payload and required fields.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CI"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/issue/{issueIdOrKey}/edit": {
      "put": {
        "operationId": "UpdateIssue",
        "description": "When adding Epic use parent field with Epic key. Follow flow - 1. GetIssueTypesByProjectId to determine fields to update. 2. UpdateIssue. For transitions, use ExecuteJQL with ['transitions'] instead. Use update object when updating issueLinks",
        "parameters": [
          {
            "in": "path",
            "name": "issueIdOrKey",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EI"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/issue/{issueIdOrKey}/transition": {
      "post": {
        "operationId": "TransitionIssue",
        "description": "Perform a transition on an issue",
        "parameters": [
          {
            "in": "path",
            "name": "issueIdOrKey",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TI"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/issue/{issueIdOrKey}/comment/create": {
      "post": {
        "operationId": "AddCommentToIssue",
        "description": "Add comment to an issue. When user(s) are mentioned by @<name>, search for user(s) and add accountId(s) to mentions array, don't modify @<name> in the comment body.",
        "parameters": [
          {
            "in": "path",
            "name": "issueIdOrKey",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/C"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/int/rag/upsert": {
      "post": {
        "operationId": "upsertToUsersKnowledgeBase",
        "description": "Add requirements to user's knowledge base",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RAG"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "err"
          }
        }
      }
    },
    "/int/rag/search": {
      "post": {
        "operationId": "queryUsersKnowledgeBase",
        "description": "Leave blank to return all requirements from user's entire knowledge base, or only tags if text doesn't match.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RAG"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/confluence/page/get": {
      "get": {
        "operationId": "GetConfluencePage",
        "description": "Returns the content of a Confluence page",
        "parameters": [
          {
            "in": "query",
            "name": "url",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/confluence/page/create": {
      "post": {
        "operationId": "CreateConfluencePage",
        "description": "Use SearchConfluence to get spaceId. Utilize HTML (<h3>,<h4>, <p>, <ol>, <ul>, <li>, <strong>) to structure content. Organize document with clear hierarchy using headings to define sections/sub-sections, paragraphs for text, ordered lists for numbered items, and unordered lists for bullet points.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/confluence/search": {
      "get": {
        "operationId": "SearchConfluence",
        "description": "Search results from Confluence. Also used for finding spaceId when creating a page, default to user's personal space",
        "parameters": [
          {
            "in": "query",
            "name": "cql",
            "schema": {
              "type": "string",
              "description": "Confluence Query Language. eg. text~\"Next.js\""
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    },
    "/api/confluence/page/update": {
      "post": {
        "operationId": "UpdateConfluencePage",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Err"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ProjectDetails": {
        "type": "object",
        "description": "Project details",
        "properties": {
          "key": {
            "type": "string",
            "description": "Auto generate a new unique combination, as opposed to asking the user. Uppercase key, start with letter, max length 10."
          },
          "name": {
            "type": "string",
            "description": "name"
          },
          "description": {
            "type": "string",
            "description": "description"
          },
          "projectTypeKey": {
            "type": "string",
            "description": "Type, defines application-specific feature set. If projectTypeKey is software and projectTemplateKey not defined, project is company manged and can have more than one board."
          },
          "projectTemplateKey": {
            "description": "Project is deemed team managed (next gen) and cannot have more than one board",
            "type": "string",
            "enum": [
              "com.pyxis.greenhopper.jira:gh-simplified-agility-scrum",
              "com.pyxis.greenhopper.jira:gh-simplified-agility-kanban",
              "com.pyxis.greenhopper.jira:gh-simplified-basic",
              "com.pyxis.greenhopper.jira:gh-cross-team-template",
              "com.pyxis.greenhopper.jira:gh-simplified-kanban-classic",
              "com.pyxis.greenhopper.jira:gh-simplified-scrum-classic"
            ]
          }
        },
        "required": [
          "key",
          "name",
          "projectTypeKey"
        ]
      },
      "UpdateFilter": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "owner": {
            "type": "object"
          },
          "jql": {
            "type": "string"
          },
          "favourite": {
            "type": "boolean"
          },
          "accountId": {
            "type": "string",
            "description": "User Id to share the filter with"
          },
          "projectId": {
            "type": "number",
            "description": "Project Id not Key to share the filter with"
          }
        }
      },
      "FD": {
        "type": "object",
        "required": [
          "name",
          "jql"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique name"
          },
          "description": {
            "type": "string"
          },
          "jql": {
            "type": "string",
            "description": "JQL query"
          },
          "favourite": {
            "type": "boolean"
          }
        }
      },
      "BD": {
        "required": [
          "name",
          "type"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "enum": [
              "scrum",
              "kanban"
            ],
            "type": "string"
          },
          "filterId": {
            "type": "number"
          },
          "location": {
            "type": "object",
            "properties": {
              "type": {
                "enum": [
                  "project",
                  "user"
                ],
                "type": "string"
              },
              "projectKeyOrId": {
                "type": "string"
              }
            }
          }
        }
      },
      "CS": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "30 characters or less"
          },
          "originBoardId": {
            "type": "number"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "goal": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "originBoardId"
        ]
      },
      "US": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "completedDate": {
            "type": "string"
          },
          "originBoardId": {
            "type": "number"
          },
          "createdDate": {
            "type": "string"
          },
          "goal": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "enum": [
              "future",
              "active",
              "closed"
            ]
          }
        },
        "required": [
          "name",
          "state"
        ]
      },
      "JQLR": {
        "type": "object",
        "properties": {
          "expand": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": " - names: Returns the display name of each field. - schema: Returns the schema describing a field type. - transitions: Returns all possible transitions for the issue. - operations: Returns all possible operations for the issue. - editmeta: Returns information about how each field can be edited. - changelog: Returns a list of recent updates to an issue, sorted by date, starting from the most recent. - versionedRepresentations: Returns versionedRepresentations, a JSON array containing each version of a fields value, with the highest numbered item representing the most recent version."
          },
          "fields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Insturctions: Don't include if assignee = current user, good to add summary and description to get issue specifics. When searching for 1 issue, always use *all. When listing epics use parent field and list parents as epics. options include: - *all: Returns all fields. - Any issue field, prefixed with a minus to exclude.\n"
          },
          "jql": {
            "type": "string",
            "description": "A JQL expression. Use currentUser() to search for issues assigned to the current user.",
            "example": "project=SSP order by created desc"
          },
          "maxResults": {
            "type": "number"
          },
          "startAt": {
            "type": "integer"
          },
          "shouldTruncate": {
            "type": "boolean",
            "description": "Default true, truncates description to 100 characters and adds ellipsis. If ellipsis encountered, ask user to view full description."
          }
        },
        "required": [
          "fields",
          "jql"
        ]
      },
      "CI": {
        "type": "object",
        "description": "Issue details",
        "properties": {
          "fields": {
            "type": "object",
            "properties": {
              "summary": {
                "type": "string"
              },
              "project": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string"
                  }
                }
              },
              "issuetype": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  }
                }
              },
              "description": {
                "$ref": "#/components/schemas/Document"
              }
            },
            "required": [
              "project",
              "issuetype",
              "summary",
              "description"
            ],
            "additionalProperties": {}
          }
        }
      },
      "Document": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "content": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "version": {
            "type": "integer"
          }
        },
        "additionalProperties": true
      },
      "EI": {
        "type": "object",
        "description": "Edit Issue.",
        "properties": {
          "fields": {
            "type": "object",
            "properties": {
              "summary": {
                "type": "string"
              }
            },
            "additionalProperties": {}
          },
          "update": {
            "type": "object",
            "properties": {
              "issuelinks": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            },
            "additionalProperties": {}
          }
        }
      },
      "TI": {
        "type": "object",
        "description": "Transition Issue",
        "properties": {
          "transition": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The ID of the issue transition"
              }
            },
            "required": [
              "id"
            ]
          }
        }
      },
      "SJ": {
        "type": "object",
        "description": "Jira site",
        "properties": {
          "site": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "site id"
              }
            }
          }
        }
      },
      "C": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "mentions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "accountIds of users mentioned in the comment"
          }
        },
        "required": [
          "body"
        ]
      },
      "RAG": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "lowercase tags that summarize the requirement, fill in if not provided by user"
          }
        }
      },
      "UpdatePageRequest": {
        "type": "object",
        "description": "Get version from GetConfluencePage",
        "required": [
          "id",
          "status",
          "title",
          "body",
          "version"
        ],
        "properties": {
          "id": {
            "type": "integer"
          },
          "status": {
            "type": "string",
            "description": "Default to current.",
            "enum": [
              "current",
              "draft"
            ]
          },
          "title": {
            "type": "string"
          },
          "parentId": {
            "type": "integer",
            "description": "Allows the page to be moved under a different parent within the same space."
          },
          "ownerId": {
            "type": "integer",
            "description": "Allows page ownership transfer to another user."
          },
          "body": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/PageBodyWrite"
              },
              {
                "$ref": "#/components/schemas/PageNestedBodyWrite"
              }
            ]
          },
          "version": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "message": {
                "type": "string"
              }
            }
          }
        }
      },
      "CreatePageRequest": {
        "type": "object",
        "required": [
          "spaceId",
          "title"
        ],
        "properties": {
          "spaceId": {
            "type": "integer",
            "description": "ID of the space where the page is to be created."
          },
          "status": {
            "type": "string",
            "description": "either 'current' (published) or 'draft'. default to current.",
            "enum": [
              "current",
              "draft"
            ]
          },
          "title": {
            "type": "string"
          },
          "parentId": {
            "type": "integer",
            "description": "The ID of the parent page under which this page will be created."
          },
          "body": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/PageBodyWrite"
              },
              {
                "$ref": "#/components/schemas/PageNestedBodyWrite"
              }
            ]
          }
        }
      },
      "PageBodyWrite": {
        "type": "object",
        "properties": {
          "representation": {
            "type": "string",
            "description": "Type of content representation used for the value field.",
            "enum": [
              "storage",
              "atlas_doc_format",
              "wiki"
            ]
          },
          "value": {
            "type": "string",
            "description": "Body of the page, in the format specified in the representation field."
          }
        }
      },
      "PageNestedBodyWrite": {
        "type": "object",
        "properties": {
          "storage": {
            "$ref": "#/components/schemas/PageBodyWrite"
          },
          "atlas_doc_format": {
            "$ref": "#/components/schemas/PageBodyWrite"
          },
          "wiki": {
            "$ref": "#/components/schemas/PageBodyWrite"
          }
        }
      },
      "RI": {
        "type": "object",
        "properties": {
          "issues": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of issue identifiers to be ranked."
          },
          "rankBeforeIssue": {
            "type": "string",
            "description": "The identifier of the issue before which the listed issues should be ranked. If specified, ranks the issues before this issue."
          },
          "rankAfterIssue": {
            "type": "string"
          },
          "rankCustomFieldId": {
            "type": "integer",
            "description": "The custom field identifier to be used for ranking. If specified, ranks the issues according to this custom field."
          }
        },
        "required": [
          "issues"
        ],
        "description": "An object containing a list of issues to rank and information on where they should be ranked."
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  }
}