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 ├─ type (string) └─ value (jsonNode) └─ containerKey ├─ type (string) └─ value (jsonNode) └─ 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 | Yes | The display name of the object. |
description | string | No | 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 | user | No |
The user that created the object. See User to learn more. |
lastUpdatedAt | string | Yes |
The date the object was last updated. Format: Instant (ISO8601 / RFC3339) |
lastUpdatedBy | user | No |
The user that last updated the object. See User to learn more. |
owners | list<User> | No | List 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.
An Atlassian or third-party user.
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 |
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. |
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 all logged in and anonymous users.
Property | Type | Required | Description |
---|---|---|---|
type |
| Yes | Defines the principal type as EVERYONE , granting access to all logged in and anonymous users. |
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. |
Grants access to all users who have viewed the object previously.
Property | Type | Required | Description |
---|---|---|---|
type |
| Defines the principal type as View activity is tracked via activity ingestion endpoint separate to object ingestion. |
1 2[ { "accessControls": [ { "principals": [ { "type": "USER", "id": "WELLJST6K" }, { "type": "GROUP", "id": "UJHJST6K" } ] } ] }, { "accessControls": [ { "principals": [ { "type": "MUST_HAVE_VIEWED" } ] } ] } ]
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
, add
, and remove
, where:
set
replaces all associations with the supplied ones. It cannot be used with add
or remove
.add
extends existing associations with the new ones supplied. It cannot be used with set
.remove
removes from existing associations the ones supplied. It cannot be used with set
.Associations have the following format:
1 2{ "updateSequenceNumber": "1", "lastUpdatedAt": "2024-04-16T09:31:32+00:00", "set": [ { "associationType": "...", "values": ["..."] } ], "add": [ { "associationType": "...", "values": ["..."] } ], "remove": [ { "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", "add": [ { "associationType": "issueIdOrKeys", "values": [ "TEST-1" ] } ], "remove": [ { "associationType": "issueIdOrKeys", "values": [ "TEST-2" ] } ] }
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: