The following properties and shapes are common to all supported Teamwork Graph object types.
1 2objects {} ├─ schemaVersion (string) [Required] ├─ id (string) [Required] ├─ updateSequenceNumber (long) [Required] ├─ displayName (string) [Required] ├─ description (string) [Optional] ├─ url (string) [Required] ├─ createdAt (string) [Required] └─ createdBy [Optional] ├─ accountId (string) [Optional] ├─ email (long) [Optional] └─ externalId (string) [Optional] └─ lastUpdatedAt (string) [Required] └─ lastUpdatedBy [Optional] ├─ accountId (string) [Optional] ├─ email (long) [Optional] └─ externalId (string) [Optional] └─ owners [] [Optional] └─ thumbnail [Optional] └─ externalUrl (string) [] └─ parentKey (EntityKey) [Optional] ├─ type (string) [Required] └─ value (jsonNode) [Required] └─ containerKey (EntityKey) [Optional] ├─ type (string) [Required] └─ value (jsonNode) [Required] └─ permissions [] [Required] └─ accessControls [] └─ principals [] └─ type (string) └─ id (string) └─ associations [] [Optional] ├─ associationType (string) └─ values []
| Property | Type | Required | Description |
|---|---|---|---|
schemaVersion |
| Yes | The schema version of the object. |
id |
| Yes | The ID of the object in the source system. |
updateSequenceNumber | long | Yes | A sequence number to compare when writing to the database. Objects are written following
a last write wins strategy, therefore an object with a greater UpdateSequenceNumber
is considered a more recently updated object. |
displayName | string | Depends on object type | The display name of the object. |
description | string | Depends on object type | The description of the object. |
url | string | Yes | The URL from the provider which the object is accessible from. |
createdAt | string | Yes |
The date the object was created. Format: Instant (ISO8601 / RFC3339) |
createdBy | userReference | No |
A reference to the user that created the object. See userReference to learn more. |
lastUpdatedAt | string | Yes |
The date the object was last updated. Format: Instant (ISO8601 / RFC3339) |
lastUpdatedBy | userReference | No |
A reference to the user that last updated the object. See userReference to learn more. |
owners | list<userReference> | No | List of references of users that own the object. |
thumbnail | thumbnail | No |
The thumbnail of the object. See Thumbnail to learn more. |
parentKey | entityKey | Depends on object type |
The ID of the parent object. If null, it is a standalone object. See Entity key to learn more. |
containerKey | entityKey | Depends on object type |
The container identifier that this object belongs to. See Entity key to learn more. |
permissions | list<Permissions> | Yes |
The permissions configuration of the object. See Permissions to learn more. |
associations | association | No |
List of objects associated with the object. Generally used to link an external object to a Atlassian object. See Association to learn more. |
When returning objects as Smart Links, permissions, associations, as well as parentKey fields are not required and will be ignored if provided.
A reference to an Atlassian or third-party user.
When ingesting objects, the details of the user referenced on certain attributes are not required. Instead, details of a user should be sent through the setUsers operation. See setUsers for more information.
| Property | Type | Required | Description |
|---|---|---|---|
accountId |
| No | The user's Atlassian account ID. |
email | long | No | The user's email. |
externalId | string | No | The ID of the user on the external system. |
If the connector utilises end-user authentication using an OAuth2 provider, the externalId field
must be provided. If OAuth is not utilised, the email field is required.
Both values can be supplied if available.
1 2{ "accountId": "5b5775502abff9a219", "id": "WELLJST6K", "email": "user@email.com", "externalId" : "external-id-1" }
Metadata for a thumbnail. Currently only supports an external URL.
| Property | Type | Required | Description |
|---|---|---|---|
externalUrl |
| Yes | An external URL referencing a thumbnail. |
1 2{ "externalUrl": "https://example-file.com/file/123123" }
The key for a given unified object type used for describing a parent or container link.
| Property | Type | Required | Description |
|---|---|---|---|
type |
| Yes | The unified object type. Should always have the atlassian: prefix.
See below for specific object types and their required type values. |
value |
| Yes | An object that represents the unified object ID. Most of the time this is a single
attribute, entityId, but it can vary from object to object and may comprise of
multiple attributes. |
Depending on the context, the entityKey should include specific object types as follows:
atlassian:pull-request, atlassian:project, atlassian:work-item, or atlassian:documentatlassian:documentatlassian:messageatlassian:repositoryatlassian:repositoryatlassian:repositoryatlassian:repositoryatlassian:conversationatlassian:repositoryatlassian:spaceGeneric key
1 2{ "type": "atlassian:document", "value": { "entityId": "a-document-id" } }
Non-generic key
1 2{ "type": "atlassian:branch", "value": { "repositoryId": "repo-123" } }
Composed key
1 2{ "type": "atlassian:commit", "value": { "repositoryId": "a-repository-id", "commitHash": "a-commit-hash" } }
Defines permissions for the users and/or groups who are allowed to access the object information.
| Property | Type | Required | Description |
|---|---|---|---|
accessControls |
| Yes | List of access controls. Defines permissions for users and/or groups who are allowed to have access to the object.
The relation between each access control is See Access control to learn more. |
Defines permissions for users and/or groups who are allowed to have access to the object.
| Property | Type | Required | Description |
|---|---|---|---|
principals |
|
List of principals. There are 6 types of principals:
Each element on the list is validated as an |
Grants access to specific users.
| Property | Type | Required | Description |
|---|---|---|---|
type |
| Yes | Defines the principal type as USER, granting access to specific users. |
id |
| Yes | User external ID. |
Grants access to all users within the group.
| Property | Type | Required | Description |
|---|---|---|---|
type |
| Yes | Defines the principal type as GROUP, granting access to all users within the group. |
id |
| Yes | Group external ID. |
Grants access to anyone in the Atlassian Graph workspace.
| Property | Type | Required | Description |
|---|---|---|---|
type |
| Yes | Defines the principal type as WORKSPACE, granting access to anyone in the
Atlassian workspace. |
Grants access to all users within the container.
| Property | Type | Required | Description |
|---|---|---|---|
type |
| Yes | Defines the principal type as CONTAINER, granting access to all users
within the container. |
1 2[ { "accessControls": [ { "principals": [ { "type": "USER", "id": "WELLJST6K" }, { "type": "GROUP", "id": "UJHJST6K" } ] } ] }, { "accessControls": [ { "principals": [ { "type": "ATLASSIAN_WORKSPACE" } ] } ] } ]
The association fields for the IngestionEntity. Used for referencing another object, such as issueKey
in a pull request title or users mentioned in a message.
Any use case beyond a simple reference should explore adding as separate field in the given object type instead. For example, if you want to track the owners of a document separately from the user who last updated the document.
Associations use set where:
set replaces all associations with the supplied ones.Associations have the following format:
1 2{ "updateSequenceNumber": "1", "lastUpdatedAt": "2024-04-16T09:31:32+00:00", "set": [ { "associationType": "...", "values": ["..."] } ] }
There are currently three types of associations available:
An association type referencing issues in Jira.
| Property | Type | Required | Description |
|---|---|---|---|
associationType |
| Defines the associationType as "issueIdOrKeys". | |
values |
| List of Jira issueId or issueKeys. For example, 1001
or ABC-123. |
1 2{ "updateSequenceNumber": "999", "lastUpdatedAt": "2024-04-16T09:31:32+00:00", "set": [ { "associationType": "issueIdOrKeys", "values": [ "TEST-1" ] } ] }
An association type referencing entities or containers using a generic association key.
| Property | Type | Required | Description |
|---|---|---|---|
associationType |
| Defines the associationType as "genericAssociationKey". | |
values |
| List of generic association keys. Each key contains:
|
The generic association key structure used in EntityOrContainerAssociation.
| Property | Type | Required | Description |
|---|---|---|---|
type |
| Yes | The unified object type. Should always have the atlassian: prefix. |
value |
| Yes | An object that represents the unified object ID. Most of the time this is a single
attribute, entityId, but it can vary from object to object and may comprise of
multiple attributes. |
1 2{ "updateSequenceNumber": "999", "lastUpdatedAt": "2024-04-16T09:31:32+00:00", "set": [ { "associationType": "genericAssociationKey", "values": [ { "type": "atlassian:document", "value": { "entityId": "document-1" } } ] } ] }
An association type referencing services by their identifiers or keys.
| Property | Type | Required | Description |
|---|---|---|---|
associationType |
| Defines the associationType as "serviceIdOrKeys". | |
values |
| List of service serviceId or serviceKeys. For example, 1001
or SVC-123. |
1 2{ "updateSequenceNumber": "999", "lastUpdatedAt": "2024-04-16T09:31:32+00:00", "set": [ { "associationType": "serviceIdOrKeys", "values": [ "SVC-123" ] } ] }
Defines an attachment object that is present in some object types.
| Property | Type | Required | Description |
|---|---|---|---|
url |
| Yes | Attachment URL. |
thumbnailUrl |
| No | Attachment thumbnail URL. |
title |
| Yes | Attachment title. |
mimeType |
| No | Attachment file mime type. |
byteSize |
| No | Size in bytes for the attachment file. |
1 2{ "url": "https://www.somedomain.com/files/fakefile.pdf", "title": "Fake File", "mimeType": "application/pdf" }
Rate this page: