{
  "schema": "aaes/capability-pack/1",
  "provider": "jira",
  "version": "1.1.0",
  "description": "Read, create, edit, and delete Jira Cloud issues in one site.",
  "notes": "The endpoint host 'your-site.atlassian.net.invalid' is a placeholder under the reserved .invalid name, so an unsubstituted pack resolves nowhere and fails closed: replace it with your site's own atlassian.net host before enabling, in the endpoints, the resource locator and the egress allowlist. ISSUE_KEY in the read, update and delete endpoints is a placeholder too: Jira's Get, Edit and Delete issue operations target one issue as /rest/api/3/issue/{issueIdOrKey}, so each capability must name the issue it is bound to.\n\nVersioning: every capability carries 1.1.0 because the .invalid placeholder host (all four endpoints) and the ISSUE_KEY path segment (read, update and delete) changed their registered endpoints on 2026-10-22; a capability's version is the pack version in which its registration last changed.",
  "credential": {
    "secret_ref_id": "secret-ref-jira-api-token",
    "custody": "customer_vault",
    "inject": "header",
    "inject_name": "Authorization",
    "note": "An Atlassian API token or an OAuth 2.0 access token held in the client's own secret manager. The stored material must be the complete Authorization header value (scheme included). Jira Cloud scopes are a starting point: review them against the projects this integration actually touches."
  },
  "capabilities": [
    {
      "capability_id": "jira.issue.read",
      "version": "1.1.0",
      "kind": "tool",
      "risk_tier": "R0",
      "owner": "REPLACE-WITH-ACCOUNTABLE-HUMAN",
      "data_class": "internal",
      "egress_allowlist": [
        "your-site.atlassian.net.invalid"
      ],
      "endpoint": "https://your-site.atlassian.net.invalid/rest/api/3/issue/ISSUE_KEY",
      "method": "GET",
      "connector": "http",
      "custody": "customer_vault",
      "secret_ref_id": "secret-ref-jira-api-token",
      "inject": "header",
      "inject_name": "Authorization",
      "actions": [
        "read"
      ],
      "resource_id": "jira-site",
      "description": "Read an issue by ID or key (Get issue).",
      "requires_review": true
    },
    {
      "capability_id": "jira.issue.create",
      "version": "1.1.0",
      "kind": "tool",
      "risk_tier": "R2",
      "owner": "REPLACE-WITH-ACCOUNTABLE-HUMAN",
      "data_class": "internal",
      "egress_allowlist": [
        "your-site.atlassian.net.invalid"
      ],
      "endpoint": "https://your-site.atlassian.net.invalid/rest/api/3/issue",
      "method": "POST",
      "connector": "http",
      "custody": "customer_vault",
      "secret_ref_id": "secret-ref-jira-api-token",
      "inject": "header",
      "inject_name": "Authorization",
      "actions": [
        "create"
      ],
      "resource_id": "jira-site",
      "description": "Create an issue.",
      "requires_review": true
    },
    {
      "capability_id": "jira.issue.update",
      "version": "1.1.0",
      "kind": "tool",
      "risk_tier": "R2",
      "owner": "REPLACE-WITH-ACCOUNTABLE-HUMAN",
      "data_class": "internal",
      "egress_allowlist": [
        "your-site.atlassian.net.invalid"
      ],
      "endpoint": "https://your-site.atlassian.net.invalid/rest/api/3/issue/ISSUE_KEY",
      "method": "PUT",
      "connector": "http",
      "custody": "customer_vault",
      "secret_ref_id": "secret-ref-jira-api-token",
      "inject": "header",
      "inject_name": "Authorization",
      "actions": [
        "update"
      ],
      "resource_id": "jira-site",
      "description": "Edit an issue's fields.",
      "requires_review": true
    },
    {
      "capability_id": "jira.issue.delete",
      "version": "1.1.0",
      "kind": "tool",
      "risk_tier": "R3",
      "owner": "REPLACE-WITH-ACCOUNTABLE-HUMAN",
      "data_class": "internal",
      "egress_allowlist": [
        "your-site.atlassian.net.invalid"
      ],
      "endpoint": "https://your-site.atlassian.net.invalid/rest/api/3/issue/ISSUE_KEY",
      "method": "DELETE",
      "connector": "http",
      "custody": "customer_vault",
      "secret_ref_id": "secret-ref-jira-api-token",
      "inject": "header",
      "inject_name": "Authorization",
      "actions": [
        "delete"
      ],
      "resource_id": "jira-site",
      "description": "Delete an issue. Delete is one of the designated actions requiring human approval, so it carries the minimum R3 tier.",
      "requires_review": true
    }
  ],
  "resources": [
    {
      "resource_id": "jira-site",
      "kind": "api",
      "locator": "https://your-site.atlassian.net.invalid",
      "data_class": "internal",
      "owner": "REPLACE-WITH-ACCOUNTABLE-HUMAN"
    }
  ],
  "review": {
    "state": "library",
    "date": "2026-10-22",
    "sources": [
      "https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/ (retrieved 2026-09-20)",
      "https://developer.atlassian.com/cloud/jira/platform/basic-auth-for-rest-apis/ (retrieved 2026-09-20)"
    ],
    "reviewer_id": "owner-delegated"
  }
}
