{
  "service": "jira",
  "displayName": "Jira",
  "categories": [
    "Productivity",
    "Developer Tools"
  ],
  "authTypes": [
    "oauth2"
  ],
  "auth": [
    {
      "type": "oauth2",
      "authorizationUrl": "https://auth.atlassian.com/authorize",
      "tokenUrl": "https://auth.atlassian.com/oauth/token",
      "scopes": [
        "read:jira-work",
        "read:jira-user",
        "write:jira-work",
        "offline_access"
      ],
      "tokenEndpointAuthMethod": "client_secret_post",
      "tokenRequestFormat": "json",
      "authorizationParams": {
        "audience": "api.atlassian.com",
        "prompt": "consent"
      }
    }
  ],
  "homepageUrl": "https://www.atlassian.com/software/jira",
  "actions": [
    {
      "id": "jira.add_comment",
      "service": "jira",
      "name": "add_comment",
      "description": "Add a comment to one Jira issue.",
      "requiredScopes": [
        "write:jira-work"
      ],
      "providerPermissions": [
        "write:jira-work"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "issueIdOrKey": {
            "type": "string",
            "minLength": 1,
            "description": "Jira issue ID or key."
          },
          "bodyText": {
            "type": "string",
            "minLength": 1,
            "description": "Plain text comment body converted to ADF."
          },
          "body": {
            "type": "object",
            "properties": {
              "type": {
                "const": "doc",
                "type": "string",
                "description": "ADF root node type."
              },
              "version": {
                "type": "integer",
                "description": "ADF document version."
              },
              "content": {
                "type": "array",
                "items": {
                  "description": "ADF top-level node."
                },
                "description": "ADF content nodes."
              }
            },
            "additionalProperties": true,
            "required": [
              "type",
              "version",
              "content"
            ],
            "description": "Atlassian Document Format document."
          }
        },
        "additionalProperties": false,
        "required": [
          "issueIdOrKey"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "comment": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Jira comment ID."
              },
              "body": {
                "type": "object",
                "properties": {
                  "type": {
                    "const": "doc",
                    "type": "string",
                    "description": "ADF root node type."
                  },
                  "version": {
                    "type": "integer",
                    "description": "ADF document version."
                  },
                  "content": {
                    "type": "array",
                    "items": {
                      "description": "ADF top-level node."
                    },
                    "description": "ADF content nodes."
                  }
                },
                "additionalProperties": true,
                "required": [
                  "type",
                  "version",
                  "content"
                ],
                "description": "Atlassian Document Format document."
              },
              "raw": {
                "type": "object",
                "additionalProperties": true,
                "description": "Jira API object."
              }
            },
            "additionalProperties": true,
            "description": "Jira comment."
          }
        },
        "additionalProperties": false,
        "required": [
          "comment"
        ],
        "description": "Jira action output."
      }
    },
    {
      "id": "jira.create_issue",
      "service": "jira",
      "name": "create_issue",
      "description": "Create a Jira issue and return the normalized issue detail.",
      "requiredScopes": [
        "write:jira-work"
      ],
      "providerPermissions": [
        "write:jira-work"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectKey": {
            "type": "string",
            "minLength": 1,
            "description": "Jira project key."
          },
          "projectId": {
            "type": "string",
            "minLength": 1,
            "description": "Jira project ID."
          },
          "issueTypeId": {
            "type": "string",
            "minLength": 1,
            "description": "Jira issue type ID."
          },
          "issueTypeName": {
            "type": "string",
            "minLength": 1,
            "description": "Jira issue type name."
          },
          "summary": {
            "type": "string",
            "minLength": 1,
            "description": "Jira issue summary."
          },
          "descriptionText": {
            "type": "string",
            "minLength": 1,
            "description": "Plain text description converted to ADF."
          },
          "description": {
            "type": "object",
            "properties": {
              "type": {
                "const": "doc",
                "type": "string",
                "description": "ADF root node type."
              },
              "version": {
                "type": "integer",
                "description": "ADF document version."
              },
              "content": {
                "type": "array",
                "items": {
                  "description": "ADF top-level node."
                },
                "description": "ADF content nodes."
              }
            },
            "additionalProperties": true,
            "required": [
              "type",
              "version",
              "content"
            ],
            "description": "Atlassian Document Format document."
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Jira labels.",
            "minItems": 1
          },
          "assigneeAccountId": {
            "type": "string",
            "minLength": 1,
            "description": "Assignee account ID."
          },
          "priorityId": {
            "type": "string",
            "minLength": 1,
            "description": "Jira priority ID."
          },
          "dueDate": {
            "type": "string",
            "description": "Jira due date in YYYY-MM-DD format.",
            "format": "date"
          },
          "parentIssueKey": {
            "type": "string",
            "minLength": 1,
            "description": "Parent issue key for subtasks."
          },
          "extraFields": {
            "type": "object",
            "additionalProperties": true,
            "description": "Jira API object."
          }
        },
        "additionalProperties": false,
        "required": [
          "summary"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "issue": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Jira issue ID."
              },
              "key": {
                "type": "string",
                "description": "Jira issue key."
              },
              "summary": {
                "type": "string",
                "description": "Jira issue summary."
              },
              "fields": {
                "type": "object",
                "additionalProperties": true,
                "description": "Jira API object."
              },
              "raw": {
                "type": "object",
                "additionalProperties": true,
                "description": "Jira API object."
              }
            },
            "additionalProperties": true,
            "description": "Jira issue."
          }
        },
        "additionalProperties": false,
        "required": [
          "issue"
        ],
        "description": "Jira action output."
      }
    },
    {
      "id": "jira.get_issue",
      "service": "jira",
      "name": "get_issue",
      "description": "Get one Jira issue by issue ID or key.",
      "requiredScopes": [
        "read:jira-work",
        "read:jira-user"
      ],
      "providerPermissions": [
        "read:jira-work",
        "read:jira-user"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "issueIdOrKey": {
            "type": "string",
            "minLength": 1,
            "description": "Jira issue ID or key."
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "Jira field ID or name."
            },
            "description": "Additional Jira issue fields.",
            "minItems": 1
          },
          "expand": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "Jira expand token."
            },
            "description": "Additional Jira expand tokens.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "issueIdOrKey"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "issue": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Jira issue ID."
              },
              "key": {
                "type": "string",
                "description": "Jira issue key."
              },
              "summary": {
                "type": "string",
                "description": "Jira issue summary."
              },
              "fields": {
                "type": "object",
                "additionalProperties": true,
                "description": "Jira API object."
              },
              "raw": {
                "type": "object",
                "additionalProperties": true,
                "description": "Jira API object."
              }
            },
            "additionalProperties": true,
            "description": "Jira issue."
          }
        },
        "additionalProperties": false,
        "required": [
          "issue"
        ],
        "description": "Jira action output."
      }
    },
    {
      "id": "jira.get_project",
      "service": "jira",
      "name": "get_project",
      "description": "Get one Jira project by project ID or key.",
      "requiredScopes": [
        "read:jira-work",
        "read:jira-user"
      ],
      "providerPermissions": [
        "read:jira-work",
        "read:jira-user"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectIdOrKey": {
            "type": "string",
            "minLength": 1,
            "description": "Jira project ID or key."
          },
          "expand": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "Jira expand token."
            },
            "description": "Additional Jira expand tokens.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "projectIdOrKey"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "project": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Jira project ID."
              },
              "key": {
                "type": "string",
                "description": "Jira project key."
              },
              "name": {
                "type": "string",
                "description": "Jira project name."
              },
              "raw": {
                "type": "object",
                "additionalProperties": true,
                "description": "Jira API object."
              }
            },
            "additionalProperties": true,
            "description": "Jira project."
          }
        },
        "additionalProperties": false,
        "required": [
          "project"
        ],
        "description": "Jira action output."
      }
    },
    {
      "id": "jira.list_issue_comments",
      "service": "jira",
      "name": "list_issue_comments",
      "description": "List comments for one Jira issue.",
      "requiredScopes": [
        "read:jira-work",
        "read:jira-user"
      ],
      "providerPermissions": [
        "read:jira-work",
        "read:jira-user"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "issueIdOrKey": {
            "type": "string",
            "minLength": 1,
            "description": "Jira issue ID or key."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum items to return in one Jira page."
          },
          "cursor": {
            "type": "string",
            "pattern": "^\\d+$",
            "description": "StartAt pagination cursor as a non-negative integer string."
          },
          "expand": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "Jira expand token."
            },
            "description": "Additional Jira expand tokens.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "issueIdOrKey"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "comments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Jira comment ID."
                },
                "body": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "const": "doc",
                      "type": "string",
                      "description": "ADF root node type."
                    },
                    "version": {
                      "type": "integer",
                      "description": "ADF document version."
                    },
                    "content": {
                      "type": "array",
                      "items": {
                        "description": "ADF top-level node."
                      },
                      "description": "ADF content nodes."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "type",
                    "version",
                    "content"
                  ],
                  "description": "Atlassian Document Format document."
                },
                "raw": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Jira API object."
                }
              },
              "additionalProperties": true,
              "description": "Jira comment."
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextCursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Cursor for the next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextCursor"
            ],
            "description": "Jira pagination metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "comments",
          "pagination"
        ],
        "description": "Jira action output."
      }
    },
    {
      "id": "jira.list_projects",
      "service": "jira",
      "name": "list_projects",
      "description": "List Jira projects available to the connected Jira site.",
      "requiredScopes": [
        "read:jira-work",
        "read:jira-user"
      ],
      "providerPermissions": [
        "read:jira-work",
        "read:jira-user"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum items to return in one Jira page."
          },
          "cursor": {
            "type": "string",
            "pattern": "^\\d+$",
            "description": "StartAt pagination cursor as a non-negative integer string."
          },
          "expand": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "Jira expand token."
            },
            "description": "Additional Jira expand tokens.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projects": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Jira project ID."
                },
                "key": {
                  "type": "string",
                  "description": "Jira project key."
                },
                "name": {
                  "type": "string",
                  "description": "Jira project name."
                },
                "raw": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Jira API object."
                }
              },
              "additionalProperties": true,
              "description": "Jira project."
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextCursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Cursor for the next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextCursor"
            ],
            "description": "Jira pagination metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "projects",
          "pagination"
        ],
        "description": "Jira action output."
      }
    },
    {
      "id": "jira.search_issues",
      "service": "jira",
      "name": "search_issues",
      "description": "Search Jira issues with JQL on the connected Jira site.",
      "requiredScopes": [
        "read:jira-work",
        "read:jira-user"
      ],
      "providerPermissions": [
        "read:jira-work",
        "read:jira-user"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "jql": {
            "type": "string",
            "minLength": 1,
            "description": "Jira Query Language string."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum items to return in one Jira page."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Opaque pagination cursor returned by Jira."
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "Jira field ID or name."
            },
            "description": "Additional Jira issue fields.",
            "minItems": 1
          },
          "expand": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "Jira expand token."
            },
            "description": "Additional Jira expand tokens.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "jql"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "issues": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Jira issue ID."
                },
                "key": {
                  "type": "string",
                  "description": "Jira issue key."
                },
                "summary": {
                  "type": "string",
                  "description": "Jira issue summary."
                },
                "fields": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Jira API object."
                },
                "raw": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Jira API object."
                }
              },
              "additionalProperties": true,
              "description": "Jira issue."
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextCursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Cursor for the next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextCursor"
            ],
            "description": "Jira pagination metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "issues",
          "pagination"
        ],
        "description": "Jira action output."
      }
    }
  ]
}
