Open Context Protocol is live! 🚀 Read the launch post
getProjectComponents

getProjectComponents

Get project components

Details

  • Method: GET
  • Path: /rest/api/3/project/{projectIdOrKey}/components
  • Operation ID: getProjectComponents

Parameters

{
  "projectIdOrKey": {
    "description": "The project ID or project key (case sensitive).",
    "required": true,
    "location": "path",
    "type": "string"
  },
  "componentSource": {
    "description": "The source of the components to return. Can be `jira` (default), `compass` or `auto`. When `auto` is specified, the API will return connected Compass components if the project is opted into Compass, otherwise it will return Jira components. Defaults to `jira`.",
    "required": false,
    "location": "query",
    "type": "string",
    "enum": [
      "jira",
      "compass",
      "auto"
    ]
  }
}

Response Schema

{
  "items": {
    "additionalProperties": false,
    "description": "Details about a project component.",
    "properties": {
      "ari": {
        "description": "Compass component's ID. Can't be updated. Not required for creating a Project Component.",
        "readOnly": true,
        "type": "string"
      },
      "assignee": {
        "allOf": [
          {
            "$ref": "#/components/schemas/User"
          }
        ],
        "description": "The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component.",
        "readOnly": true
      },
      "assigneeType": {
        "description": "The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Can take the following values:\n\n *  `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in.\n *  `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component.\n *  `UNASSIGNED` an assignee is not set for issues created with this component.\n *  `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in.\n\nDefault value: `PROJECT_DEFAULT`.  \nOptional when creating or updating a component.",
        "enum": [
          "PROJECT_DEFAULT",
          "COMPONENT_LEAD",
          "PROJECT_LEAD",
          "UNASSIGNED"
        ],
        "type": "string"
      },
      "description": {
        "description": "The description for the component. Optional when creating or updating a component.",
        "type": "string"
      },
      "id": {
        "description": "The unique identifier for the component.",
        "readOnly": true,
        "type": "string"
      },
      "isAssigneeTypeValid": {
        "description": "Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned.",
        "readOnly": true,
        "type": "boolean"
      },
      "lead": {
        "allOf": [
          {
            "$ref": "#/components/schemas/User"
          }
        ],
        "description": "The user details for the component's lead user.",
        "readOnly": true
      },
      "leadAccountId": {
        "description": "The accountId of the component's lead user. The accountId uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.",
        "maxLength": 128,
        "type": "string",
        "writeOnly": true
      },
      "leadUserName": {
        "description": "This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.",
        "type": "string"
      },
      "metadata": {
        "additionalProperties": {
          "readOnly": true,
          "type": "string"
        },
        "description": "Compass component's metadata. Can't be updated. Not required for creating a Project Component.",
        "readOnly": true,
        "type": "object"
      },
      "name": {
        "description": "The unique name for the component in the project. Required when creating a component. Optional when updating a component. The maximum length is 255 characters.",
        "type": "string"
      },
      "project": {
        "description": "The key of the project the component is assigned to. Required when creating a component. Can't be updated.",
        "type": "string"
      },
      "projectId": {
        "description": "The ID of the project the component is assigned to.",
        "format": "int64",
        "readOnly": true,
        "type": "integer"
      },
      "realAssignee": {
        "allOf": [
          {
            "$ref": "#/components/schemas/User"
          }
        ],
        "description": "The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee.",
        "readOnly": true
      },
      "realAssigneeType": {
        "description": "The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values:\n\n *  `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in.\n *  `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in.\n *  `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues.\n *  `PROJECT_DEFAULT` when none of the preceding cases are true.",
        "enum": [
          "PROJECT_DEFAULT",
          "COMPONENT_LEAD",
          "PROJECT_LEAD",
          "UNASSIGNED"
        ],
        "readOnly": true,
        "type": "string"
      },
      "self": {
        "description": "The URL of the component.",
        "format": "uri",
        "readOnly": true,
        "type": "string"
      }
    },
    "type": "object",
    "xml": {
      "name": "component"
    }
  },
  "type": "array"
}

Usage

from ocp_agent import OCPAgent

agent = OCPAgent()
await agent.register_api('jira')

# Call this tool
result = await agent.call_tool('getProjectComponents', {
    # Add required parameters here
})