Skip to content

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.

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 os
from alter_sdk import App
from 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()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.cloudIdstringRequired within parentPattern: ^[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}$
bodyModelRequired within parentExpand Create component — request body — body

Referenced models: Create component — request body — body

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Get component — response body

Referenced models: Get component — response body

14 more schemas are linked from the tables above, on the schema pages.

Get component — response body
FieldTypePresenceDescription and constraints
$objectRootDetails about a project component.
ariJSONOptional
ari (anyOf 1)stringAlternativeCompass component's ID. Can't be updated. Not required for creating a Project Component.
Read only: true
ari (anyOf 2)nullAlternative
assigneeJSONOptional
assignee (anyOf 1)ModelAlternativeExpand 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)nullAlternative
assigneeTypeJSONOptional
assigneeType (anyOf 1)stringAlternativeThe 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)nullAlternative
descriptionJSONOptional
description (anyOf 1)stringAlternativeThe description for the component. Optional when creating or updating a component.
description (anyOf 2)nullAlternative
idJSONOptional
id (anyOf 1)stringAlternativeThe unique identifier for the component.
Read only: true
id (anyOf 2)nullAlternative
isAssigneeTypeValidJSONOptional
isAssigneeTypeValid (anyOf 1)booleanAlternativeWhether 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)nullAlternative
leadJSONOptional
lead (anyOf 1)ModelAlternativeExpand Get user — response body
The user details for the component's lead user.
Read only: true
lead (anyOf 2)nullAlternative
leadAccountIdJSONOptional
leadAccountId (anyOf 1)stringAlternativeThe 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)nullAlternative
leadUserNameJSONOptional
leadUserName (anyOf 1)stringAlternativeThis 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)nullAlternative
metadataJSONOptional
metadata (anyOf 1)objectAlternativeCompass 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).*stringAdditional keysRead only: true
metadata (anyOf 2)nullAlternative
nameJSONOptional
name (anyOf 1)stringAlternativeThe 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)nullAlternative
projectJSONOptional
project (anyOf 1)stringAlternativeThe key of the project the component is assigned to. Required when creating a component. Can't be updated.
project (anyOf 2)nullAlternative
projectIdJSONOptional
projectId (anyOf 1)JSONAlternative
projectId (anyOf 1) (anyOf 1)integerAlternativeThe ID of the project the component is assigned to.
Format: int64
Read only: true
projectId (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
projectId (anyOf 2)nullAlternative
realAssigneeJSONOptional
realAssignee (anyOf 1)ModelAlternativeExpand 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)nullAlternative
realAssigneeTypeJSONOptional
realAssigneeType (anyOf 1)stringAlternativeThe 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)nullAlternative
selfJSONOptional
self (anyOf 1)stringAlternativeThe URL of the component.
Format: uri
Read only: true
self (anyOf 2)nullAlternative

Referenced models: Get user — response body

Create component — request body — body
FieldTypePresenceDescription and constraints
$objectRootDetails about a project component.
Additional keys: not allowed
aristringOptionalCompass component's ID. Can't be updated. Not required for creating a Project Component.
Read only: true
assigneeModelOptionalExpand 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
assigneeTypestringOptionalThe 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
descriptionstringOptionalThe description for the component. Optional when creating or updating a component.
idstringOptionalThe unique identifier for the component.
Read only: true
isAssigneeTypeValidbooleanOptionalWhether 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
leadModelOptionalExpand Assign issue — request body — body
The user details for the component's lead user.
Read only: true
leadAccountIdstringOptionalThe 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
leadUserNamestringOptionalThis 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.
metadataobjectOptionalCompass component's metadata. Can't be updated. Not required for creating a Project Component.
Read only: true
Additional keys: see wildcard field
metadata.*stringAdditional keysRead only: true
namestringOptionalThe unique name for the component in the project. Required when creating a component. Optional when updating a component. The maximum length is 255 characters.
projectstringOptionalThe key of the project the component is assigned to. Required when creating a component. Can't be updated.
projectIdintegerOptionalThe ID of the project the component is assigned to.
Format: int64
Read only: true
realAssigneeModelOptionalExpand 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
realAssigneeTypestringOptionalThe 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
selfstringOptionalThe URL of the component.
Format: uri
Read only: true

Referenced models: Assign issue — request body — body

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"]

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.