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:document
atlassian:document
atlassian:message
atlassian:repository
atlassian:repository
atlassian:repository
atlassian:repository
atlassian:conversation
atlassian:repository
atlassian:space
Generic key
1 2{ "type": "atlassian:document", "value": { "entityId": "a-document-id" } }
Non-generic key
1 2{ "type": "atlassian:remote-link", "value": { "remoteLinkId": "a-remote-link-id" } }
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 only one type of association 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" ] } ] }
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: