Atlassian: Create component
Atlassian projectComponents.createComponent: arguments, response, policy and SDK examples.
← Project components operations · Get started
Operation atlassian.createcomponent
Provider route: POST /{cloudId}/rest/api/3/component. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/atlassian with npm, or alter-sdk-atlassian with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { AtlassianIntegration } from "@alter-ai/atlassian";
async function execute(input: Parameters<AtlassianIntegration["projectComponents"]["createComponent"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new AtlassianIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.projectComponents.createComponent(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_atlassian import AtlassianIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = AtlassianIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.project_components.create_component(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.cloudId | string | Required within parent | Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ |
body | Model | Required within parent | Expand Create component — request body — body |
Referenced models: Create component — request body — body
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Get component — response body |
Referenced models: Get component — response body
Schemas
Section titled “Schemas”14 more schemas are linked from the tables above, on the schema pages.
Get component — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Details about a project component. |
ari | JSON | Optional | |
ari (anyOf 1) | string | Alternative | Compass component's ID. Can't be updated. Not required for creating a Project Component. Read only: true |
ari (anyOf 2) | null | Alternative | |
assignee | JSON | Optional | |
assignee (anyOf 1) | Model | Alternative | Expand Get user — response body The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component. Read only: true |
assignee (anyOf 2) | null | Alternative | |
assigneeType | JSON | Optional | |
assigneeType (anyOf 1) | string | Alternative | 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: * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in. * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component. * `UNASSIGNED` an assignee is not set for issues created with this component. * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in. Default value: `PROJECT_DEFAULT`. Optional when creating or updating a component. Known values: PROJECT_DEFAULT, COMPONENT_LEAD, PROJECT_LEAD, UNASSIGNED |
assigneeType (anyOf 2) | null | Alternative | |
description | JSON | Optional | |
description (anyOf 1) | string | Alternative | The description for the component. Optional when creating or updating a component. |
description (anyOf 2) | null | Alternative | |
id | JSON | Optional | |
id (anyOf 1) | string | Alternative | The unique identifier for the component. Read only: true |
id (anyOf 2) | null | Alternative | |
isAssigneeTypeValid | JSON | Optional | |
isAssigneeTypeValid (anyOf 1) | boolean | Alternative | 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. Read only: true |
isAssigneeTypeValid (anyOf 2) | null | Alternative | |
lead | JSON | Optional | |
lead (anyOf 1) | Model | Alternative | Expand Get user — response body The user details for the component's lead user. Read only: true |
lead (anyOf 2) | null | Alternative | |
leadAccountId | JSON | Optional | |
leadAccountId (anyOf 1) | string | Alternative | The accountId of the component's lead user. The accountId uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Maximum length: 128 write Only: true |
leadAccountId (anyOf 2) | null | Alternative | |
leadUserName | JSON | Optional | |
leadUserName (anyOf 1) | string | Alternative | 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. |
leadUserName (anyOf 2) | null | Alternative | |
metadata | JSON | Optional | |
metadata (anyOf 1) | object | Alternative | Compass component's metadata. Can't be updated. Not required for creating a Project Component. Read only: true Additional keys: see wildcard field |
metadata (anyOf 1).* | string | Additional keys | Read only: true |
metadata (anyOf 2) | null | Alternative | |
name | JSON | Optional | |
name (anyOf 1) | string | Alternative | 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. |
name (anyOf 2) | null | Alternative | |
project | JSON | Optional | |
project (anyOf 1) | string | Alternative | The key of the project the component is assigned to. Required when creating a component. Can't be updated. |
project (anyOf 2) | null | Alternative | |
projectId | JSON | Optional | |
projectId (anyOf 1) | JSON | Alternative | |
projectId (anyOf 1) (anyOf 1) | integer | Alternative | The ID of the project the component is assigned to. Format: int64 Read only: true |
projectId (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
projectId (anyOf 2) | null | Alternative | |
realAssignee | JSON | Optional | |
realAssignee (anyOf 1) | Model | Alternative | Expand Get user — response body The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee. Read only: true |
realAssignee (anyOf 2) | null | Alternative | |
realAssigneeType | JSON | Optional | |
realAssigneeType (anyOf 1) | string | Alternative | 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: * `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. * `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. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true. Known values: PROJECT_DEFAULT, COMPONENT_LEAD, PROJECT_LEAD, UNASSIGNED Read only: true |
realAssigneeType (anyOf 2) | null | Alternative | |
self | JSON | Optional | |
self (anyOf 1) | string | Alternative | The URL of the component. Format: uri Read only: true |
self (anyOf 2) | null | Alternative |
Referenced models: Get user — response body
Create component — request body — body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Details about a project component. Additional keys: not allowed |
ari | string | Optional | Compass component's ID. Can't be updated. Not required for creating a Project Component. Read only: true |
assignee | Model | Optional | Expand Assign issue — request body — body The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component. Read only: true |
assigneeType | string | Optional | 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: * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in. * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component. * `UNASSIGNED` an assignee is not set for issues created with this component. * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in. Default value: `PROJECT_DEFAULT`. Optional when creating or updating a component. One of: PROJECT_DEFAULT, COMPONENT_LEAD, PROJECT_LEAD, UNASSIGNED |
description | string | Optional | The description for the component. Optional when creating or updating a component. |
id | string | Optional | The unique identifier for the component. Read only: true |
isAssigneeTypeValid | boolean | Optional | 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. Read only: true |
lead | Model | Optional | Expand Assign issue — request body — body The user details for the component's lead user. Read only: true |
leadAccountId | string | Optional | The accountId of the component's lead user. The accountId uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Maximum length: 128 write Only: true |
leadUserName | string | Optional | 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. |
metadata | object | Optional | Compass component's metadata. Can't be updated. Not required for creating a Project Component. Read only: true Additional keys: see wildcard field |
metadata.* | string | Additional keys | Read only: true |
name | string | Optional | 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. |
project | string | Optional | The key of the project the component is assigned to. Required when creating a component. Can't be updated. |
projectId | integer | Optional | The ID of the project the component is assigned to. Format: int64 Read only: true |
realAssignee | Model | Optional | Expand Assign issue — request body — body The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee. Read only: true |
realAssigneeType | string | Optional | 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: * `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. * `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. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true. One of: PROJECT_DEFAULT, COMPONENT_LEAD, PROJECT_LEAD, UNASSIGNED Read only: true |
self | string | Optional | The URL of the component. Format: uri Read only: true |
Referenced models: Assign issue — request body — body
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: atlassian.createcomponent. Catalog operation: createcomponent. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.
Required provider scopes: ["manage:jira-project"]