Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This is just an entry page that contains basic information about GraphQL API. You can access the complete schema documentation in the following URL:

Info

https://us.xray.cloud.getxray.app/doc/graphql/


Xray GraphQL API endpoint

...

Xray Cloud GraphQL resource limitations

As with any public API, the Xray GraphQL API protects against excessive or abusive calls to Xray Cloud's servers.

...

Anchor
NodeLimit
NodeLimit

Node Limit

To pass schema validation, all Xray Cloud GraphQL API calls must meet these standards:

  • Clients must supply a limit argument on any connection.
  • Values of limit must be within 1-100.
  • Individual calls cannot request more than 10,000 total items.

Calculating items in a call

...

Code Block
languagejs
{
  getTests(limit: 50) {
    total
    start
    limit
    results {
      issueId
      projectId
      preconditions(limit: 10) {
        total
        start
        limit
        results {
          issueId
          projectId
        }
      }
      testRuns(limit: 50) {
        total
        start
        limit
        results {
          id
          status {
            name
            description
            color
          }
          testExecution {
            issueId
            projectId
            testPlans(limit: 5) {
              total
              start
              limit
              results {
                issueId
                projectId
              }
            }
          }
        }
      }
    }
  }
}

Calculation:

50              = 50 tests
+
50 x 10       = 500 preconditions
+
50 x 50       = 2,500 test runs
+
50 x 50 x 5  = 12,500 test plans

                 = 15,550 total items

Anchor
ResolverLimit
ResolverLimit

Resolver limit

To pass schema validation, all Xray Cloud GraphQL API calls must meet these standards:

  • Individual calls cannot use more than 25 resolvers.

Calculating resolvers in a call

...

Code Block
languagejs
{
  getTestSets(limit: 50) {
    results {
      issueId
      projectId
      tests(limit: 10) {
        results {
          issueId
          projectId
          testType {
            name
          }
          status {
            name
          }
          preconditions(limit: 10) {
            results {
              issueId
              projectId
            }
          }
        }
      }
    }
  }
}

Calculation:

getTestSets + tests + testType + status + preconditions = 5 resolvers


Anchor
connection
connection

Connection

Connections let you query related objects as part of the same call. With connections, you can use a single GraphQL call where you would have to use multiple calls to a REST API.

It's helpful to picture a graph: dots connected by lines. The dots are nodes, the lines are edges. A connection defines a relationship between nodes.

Anchor
items
items

Item

Item is a generic term for an object. You can look up a item directly, or you can access related items via a connection. If you specify a item that does not return a scalar, you must include subfields until all fields return scalars.

Anchor
resolver
resolver

Resolver

Resolver is a generic term for a query, mutation or complex field. A complex field is any field in Xray Cloud GraphQL API that is not a scalar with the exception of the fields results.

...