API reference

Public Trunk Merge Queue API. All requests should be authenticated.

The Trunk Merge Queue API provides access to submit PRs for testing and merging, canceling PRs, and providing extra information to optimize the queue. The API is an HTTP REST API, returns JSON from all requests, and uses standard HTTP response codes.

All requests must be authenticated by providing the x-api-token header.

Pull Request Endpoints

Cancel a pull request in a merge queue.

post
Authorizations
x-api-tokenstringRequired
Body
targetBranchstringRequired
Responses
chevron-right
200

OK

application/json
post
/cancelPullRequest

Get a submitted pull request from a merge queue.

post
Authorizations
x-api-tokenstringRequired
Body
targetBranchstringRequired
Responses
chevron-right
200

OK

application/json
idstringOptional
statestring · enumOptionalPossible values:
stateChangedAtstringRequired
priorityValuenumberRequired
priorityNamestringRequired
usedDefaultPriorityNamestringOptional
skipTheLinebooleanRequired
isCurrentlySubmittedToQueuebooleanRequired
prNumbernumberRequired
prTitlestringRequired
prShastringRequired
prBaseBranchstringRequired
prAuthorstringRequired
post
/getSubmittedPullRequest

Restart tests on a pull request in a merge queue.

post
Authorizations
x-api-tokenstringRequired
Body
targetBranchstringRequired
Responses
chevron-right
200

OK

application/json
post
/restartTestsOnPullRequest

Set impacted targets for a pull request.

post
Authorizations
x-api-tokenstringRequired
Body
targetBranchstringRequired
impactedTargetsany ofRequired
string[]Optional
or
const: ALLOptional
Responses
chevron-right
200

OK

application/json
post
/setImpactedTargets

Submit a pull request to a merge queue.

post
Authorizations
x-api-tokenstringRequired
Body
targetBranchstringRequired
priorityany ofOptional
integer · max: 4294967295Optional
or
stringOptional
or
nullOptional
Responses
chevron-right
200

OK

application/json
post
/submitPullRequest

Get details about testing that Merge Queue is performing

post
Authorizations
x-api-tokenstringRequired
Body
testRunIdstringRequired
targetBranchstringRequired
Responses
chevron-right
200

OK

application/json
requiredStatusesstring[]Required
requiredStatusesSourcestring · enumOptionalPossible values:
testBranchstringRequired
testBranchShastringRequired
createdAtstringOptional
statusstring · enumOptionalPossible values:
post
/getMergeQueueTestingDetails

Queue Endpoints

Create a new merge queue.

post
Authorizations
x-api-tokenstringRequired
Body
targetBranchstringRequired
modestring · enumOptionalPossible values:
concurrencyinteger · min: 1 · max: 4294967295Optional
Responses
chevron-right
200

OK

application/json
post
/createQueue

Delete the specified merge queue. The queue must be empty in order to be deleted.

post
Authorizations
x-api-tokenstringRequired
Body
targetBranchstringRequired
Responses
chevron-right
200

OK

application/json
post
/deleteQueue

Get the merge queue.

post
Authorizations
x-api-tokenstringRequired
Body
targetBranchstringRequired
Responses
chevron-right
200

OK

application/json
statestring · enumOptionalPossible values:
branchstringRequired
concurrencynumberRequired
testingTimeoutMinsnumberRequired
modestring · enumOptionalPossible values:
canOptimisticallyMergebooleanRequired
pendingFailureDepthnumberRequired
isBatchingbooleanRequired
batchingMaxWaitTimeMinsnumberRequired
batchingMinSizenumberRequired
createPrsForTestingBranchesbooleanRequired
post
/getQueue

Update the merge queue.

post
Authorizations
x-api-tokenstringRequired
Body
targetBranchstringRequired

The branch that the merge queue is targeting.

statestring · enumOptional

The desired state of the merge queue. Valid values: RUNNING, PAUSED, DRAINING.

Possible values:
concurrencyinteger · min: 1 · max: 4294967295Optional

The number of PRs or batches of PRs the queue can test at once.

bisectionConcurrencyinteger · min: 1 · max: 4294967295Optional

The number of tests the merge queue can run when bisecting a batch to figure out what PR in the batch failed.

testingTimeoutMinutesinteger · min: 1 · max: 4294967295Optional

The maximum number of minutes the merge queue will wait for tests to complete before timing out.

pendingFailureDepthinteger · min: 1 · max: 4294967295Optional

When enabled, PRs that fail tests will wait for the specified number of PRs below them to finish testing before getting kicked from the queue. This works best with optimistic merging enabled.

canOptimisticallyMergebooleanOptional

When enabled, a PR that passes tests will also cause any PR ahead of it in the queue to also get marked as passing, since tests have passed with those commits.

batchbooleanOptional

Enable or disable batching. When enabled, the merge queue will group PRs into batches for testing.

batchingMaxWaitTimeMinutesinteger · min: 1 · max: 4294967295Optional

The maximum number of minutes the merge queue will wait to collect PRs into a batch before starting tests.

batchingMinSizeinteger · min: 1 · max: 4294967295Optional

The minimum number of PRs required to form a batch.

modestring · enumOptional

The queue mode. 'single' processes PRs one at a time. 'parallel' processes multiple PRs concurrently.

Possible values:
commentsEnabledbooleanOptional

Whether or not Merge Queue will post GitHub comments on PRs.

commandsEnabledbooleanOptional

Whether or not users are allowed to submit PRs to the merge queue by commenting /trunk merge.

createPrsForTestingBranchesbooleanOptional

Whether or not the merge queue will create PRs for its testing branches, allowing CI to run on them.

directMergeModestring · enumOptional

Allow PRs to merge directly into the target branch if they're up to date with the target branch when submitting them to the queue instead of running tests on them in the merge queue.

Possible values:
optimizationModestring · enumOptional

The optimization strategy for the merge queue. 'OFF' disables optimizations. 'BISECTION_SKIP_REDUNDANT_TESTS' uses bisection and skips redundant tests.

Possible values:
mergeMethodstring · enumOptional

The Git merge method used when merging PRs into the target branch. Valid values: MERGE_COMMIT, SQUASH, REBASE.

Possible values:
statusCheckEnabledbooleanOptional

Post a GitHub status check on PRs with the status of the PR in the merge queue.

requiredStatusesstring[]Optional

Allows setting the statuses that must pass when the merge queue performs tests in order for a PR to merge. Setting the statuses here will override GitHub branch protection settings or your .trunk/trunk.yaml.

deleteRequiredStatusesbooleanOptional

Removes a manually specified set of required statuses. After this, the statuses that must pass when the merge queue performs testing will be pulled from either GitHub branch protection settings or your .trunk/trunk.yaml.

Responses
chevron-right
200

OK

application/json
post
/updateQueue

Last updated