The Teamwork Graph API is coming soon. The object and relationship types documented here are indicative of what will be available in the Graph via the Teamwork Graph API. Please note that relationships, objects, their properties, and functionality may change before and during the Early Access Program.
Interested in early access? Express your interest in joining the EAP
Links pull requests to their containing repositories, enabling tracking and querying of code review activities within repository contexts. This relationship provides essential connectivity for development workflow visualization, code review analytics, and repository activity monitoring across integrated development tools. Relationship type: Canonical
| From object types | To object types |
|---|---|
External Pull Request - ati:cloud:jira:pull-request | External Repository - ati:cloud:jira:repository |
External Pull Request - ati:cloud:graph:pull-request | External Repository - ati:cloud:graph:repository |
We recommend sending parameterized Cypher queries as below instead of embedding the parameters directly in the query string. This approach will help ensure better performance.
1 2query PrInRepo_CypherQuery($cypherQuery: String!, $params: CypherRequestParams) { cypherQuery(query: $cypherQuery, params: $params) { edges { node { columns { value { ... on CypherQueryResultNode { id data { __typename ... on DevOpsRepository { id } ... on ExternalRepository { id } } } } } } } } }
1 2{ "cypherQuery": "MATCH (request:GraphPullRequest {ari: $id})-[:pr_in_repo]->(repository:GraphRepository) RETURN repository", "params": { "id": "$id" } }
1 2query PrInRepo_CypherQuery($cypherQuery: String!, $params: CypherRequestParams) { cypherQuery(query: $cypherQuery, params: $params) { edges { node { columns { value { ... on CypherQueryResultNode { id data { __typename ... on DevOpsPullRequestDetails { id } ... on ExternalPullRequest { id } } } } } } } } }
1 2{ "cypherQuery": "MATCH (request:GraphPullRequest)-[:pr_in_repo]->(repository:GraphRepository {ari: $id}) RETURN request", "params": { "id": "$id" } }
This relationship is not indexed, you will not be able to filter by this metadata when querying the relationship.
| Name | Type | Properties |
|---|---|---|
status | PullRequestStatus (Enum) | |
reviewers | Reviewer (Message) | repeated |
taskCount | Int | |
author | Author (Message) |
| Name | Type | Properties |
|---|---|---|
approvalStatus | ReviewerStatus (Enum) | |
reviewerAri | Ari (Message) |
When filtering by ARI in GraphQL, it will behave as a String rather than a message as shown below.
| Name | Type | Properties |
|---|---|---|
value | String |
| Name | Internal Name | Index |
|---|---|---|
not-set | PR_STATUS_NOT_SET | 0 |
open | PR_STATUS_OPEN | 1 |
merged | PR_STATUS_MERGED | 2 |
declined | PR_STATUS_DECLINED | 3 |
unknown | PR_STATUS_UNKNOWN | 4 |
draft | PR_STATUS_DRAFT | 5 |
| Name | Internal Name | Index |
|---|---|---|
not-set | PR_REVIEWER_STATUS_NOT_SET | 0 |
approved | PR_REVIEWER_STATUS_APPROVED | 1 |
unapproved | PR_REVIEWER_STATUS_UNAPPROVED | 2 |
needswork | PR_REVIEWER_STATUS_NEEDSWORK | 3 |
Rate this page: