JSON API
Last updated
Last updated
POST
https://api.aviator.co/api/v1/repo
Example:
curl -X POST -H "Authorization: Bearer <aviator_token>"
-H "Content-Type: application/json"
-d '{"org": "org_name", "name": "repo_name", "paused": true }'
https://api.aviator.co/api/v1/repo/
Name | Type | Description |
---|---|---|
GET
https://api.aviator.co/api/v1/repo
The results are paginated with maximum 10 results in every request.
POST
https://api.aviator.co/api/v1/branches
You can specify a glob pattern of base branches to pause or activate the Aviator queue. This ensures that you can continue merging branches to other base branches. You can override to pause / unpause all branches by using the Repository endpoint described above.
Example:
curl -X POST -H "Authorization: Bearer <aviator_token>"
-H "Content-Type: application/json"
-d '{ "pattern": "release-*", "repository": {"org": "aviator", "name": "
av-demo-release"}, "paused": true, "paused_message": "This release branch has been paused."}'
https://api.aviator.co/api/v1/branches
GET
https://api.aviator.co/api/v1/branches
You can specify a glob pattern of base branches to fetch the status of. If not provided, it will fetch the status of all base branches for a specific repository. Example:
curl -H "Authorization: Bearer <aviator_token>"
-H "Content-Type: application/json"
-d '{ "repository": {"org": "aviator", "name": "
av-demo-release"}, "pattern": "release-*"}'
https://api.aviator.co/api/v1/branches
POST
https://api.aviator.co/api/v1/pull_request
curl -X POST -H "Authorization: Bearer <aviator_token>"
-H "Content-Type: application/json"
-d '{"action": "queue", "pull_request": {"number": 1234, "repository": {"name": "repo_name", "org": "org_name"}, "head_commit_sha":" "
69f4404fda48aa2932abfbcb6956a9ccd473b17d", "affected_targets": ["targetA", "targetB"], "merge_commit_message": {"title": "This is where title goes", "body": "This is where body goes"}}}'
https://api.aviator.co/api/v1/pull_request/
POST
https://api.aviator.co/api/v1/pull_request/backport
Example:
curl -X POST -H "Authorization: Bearer <aviator_token>"
-H "Content-Type: application/json"
-d '{"target_branch": "release-v1", "
source_pull": {"number": 1234, "repository": {"name": "repo_name", "org": "org_name"}}}'
https://api.aviator.co/api/v1/pull_request/backport
GET
https://api.aviator.co/api/v1/pull_request
Example:
curl -H "Authorization: Bearer <aviator_token>"
-H "Content-Type: application/json"
https://api.aviator.co/api/v1/pull_request?org=orgname&repo=reponame&branch=branchname
GET
https://api.aviator.co/api/v1/pull_request/queued
Example:
curl -H "Authorization: Bearer <aviator_token>"
-H "Content-Type: application/json"
https://api.aviator.co/api/v1/pull_request/queued?org=orgname&repo=reponame&base_branch=master
GET
https://api.aviator.co/api/v1/bot_pull_request
A Bot PR is a draft PR created during parallel mode to validate the CI.
Example:
curl -H "Authorization: Bearer <aviator_token>"
-H "Content-Type: application/json"
https://api.aviator.co/api/v1/bot_pull_request?org=orgname&repo=reponame&number=1234
GET
https://api.aviator.co/api/v1/config
Example:
curl -H "Authorization: Bearer <aviator_token>"
-H "Content-Type: application/json"
https://api.aviator.co/api/v1/config?org=orgname&repo=reponame
POST
https://api.aviator.co/api/v1/config
The request accepts the payload as the raw string YAML format, and returns back response in a JSON format.
Example:
curl -X POST --data-raw "$(cat /Users/aviator-demo/config.text)" -H "Authorization: Bearer <API_TOKEN>" "https://api.aviator.co/api/v1/config?repo=repo_name&org=org_name"
GET
https://api.aviator.co/api/v1/config/history
Returns a list of config history events as diffs of changes. repo
and org
must be provided.
Example:
curl -H "Authorization: Bearer <aviator_token>"
-H "Content-Type: application/json"
https://api.aviator.co/api/v1/config/history?org=orgname&repo=reponame
The modified_by
property contains email and gh_username. If the config was modified from the Dashboard, email
of the user would be present, and if the config was modified from the GitHub repo change, a gh_username
would be present. commit_sha
property may also be only present if the change was made from the GitHub repository.
GET
https://api.aviator.co/api/v1/analytics
Example:
curl -H "Authorization: Bearer <aviator_token>"
-H "Content-Type: application/json"
https://api.aviator.co/api/v1/analytics/?start=2021-07-14&end=2021-07-21&timezone=America/Los_Angeles&repo=orgname/reponame
GET
https://api.aviator.co/api/v1/queue/stats
Currently this endpoint only reports statistics about the depth of the queue.
This API is only available in Enterprise plan.
Fetch the actions performed by the users on the Aviator web app dashboard (audit logs). The results returned are ordered reverse chronologically.
GET
https://api.aviator.co/api/v1/user_actions
Example:
curl -H "Authorization: Bearer <aviator_token>"
-H "Content-Type: application/json"
https://api.aviator.co/api/v1/user_actions/?page=2&entity=user&action=user_removed
Response
The query returns a list of user actions with the following properties.
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Parameter | Description |
---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
org*
String
Name of the GitHub organization.
name*
String
Name of the repository in the GitHub organization.
paused*
Boolean
Whether to pause or unpause the queue
page
Integer
page number. Defaults to 1.
repository*
Object
Repository object associated with the branch
> org*
String
Organization associated with the repository
> name*
String
Name of the repository
pattern*
String
Glob pattern representing the base branch. E.g. master
or release-*
paused*
Boolean
Whether to pause or unpause the queue
paused_message
String
A customized message to post on the top PR when this branch is paused.
repository*
Object
Repository object associated with the branch
> org *
String
Organization associated with the repository
> name*
String
Name of the repository
pattern
String
Glob pattern representing the base branch. E.g. master
or release-*
action*
String
Action taken. Valid options: update
, queue
or dequeue
pull_request*
Object
PullRequest object representing the PR that is queued.
> number*
String
> repository*
Object
Repository object associated with the PR
> > name*
String
Name of the repository
> > org*
String
Organization associated with the repository
> head_commit_sha
String
Representing the commit SHA of the head of the PR.
> affected_targets
List[String]
Affected targets for the PR. Please see Affected Targets section for more details.
> merge_commit_message
Object
CommitMessage object
> > title
String
Title of merge commit message
> > body
String
Body of merge commit message
target_branch*
String
Name of the base branch to backport this PR to
source_pull*
Object
PullRequest object for the current branch
> number*
Integer
PullRequest number
> repository*
Object
GitHub repository associated with the PullRequest
> > org*
String
Organization associated with the repository
> > name
String
Name of the repository
org*
String
Organization associated with the repository
repo*
String
Name of the repository
branch*
String
Feature branch associated with PR. One of branch
or number
must be present.
number*
Integer
PR number to fetch. One of branch
or number
must be present.
org*
String
Organization associated with the repository
repo*
String
Name of the repository
base_branch
String
Target branch to fetch queued PRs for
org*
String
Organization associated with the repository
repo*
String
Name of the repository
number*
Integer
PR number associated with the Bot PR
org*
String
Organization associated with the GitHub repository.
repo*
String
Name of the GitHub repository.
org*
String
Organization associated with a GitHub repository
repo*
String
Name of the GitHub repository.
org*
String
Organization associated with the repository
repo*
String
Name of the repository
start
String
UTC Start date in YYYY-MM-DD format. Example: 2021-07-21
end
String
UTC End date in YYYY-MM-DD format. Example: 2021-07-21
page
Integer
Page number. Defaults to 1.
start
String
UTC Start date in YYYY-MM-DD format. Example: 2021-07-21
end
String
UTC End date in YYYY-MM-DD format. Example: 2021-07-21
repo*
String
Name of the GitHub repo, in the format: orgname/reponame
timezone
String
Standard tz format string. Defaults to account timezone. Example: America/Los_Angeles
time_in_queue
List of objects representing time spent by PRs in queue
>date
UTC End date in YYYY-MM-DD format. Example: 2021-07-14
>min
Minimum time in seconds
>avg
Average time in seconds
>p50
50th percentile in seconds
>p75
75th percentile in seconds
>p90
90th percentile in seconds
>p100
100th percentile in seconds
mergequeue_usage
List of objects representing the Aviator bot usage compared to total PRs merged.
>date
UTC End date in YYYY-MM-DD format. Example: 2021-07-14
>total
Total number of PRs merged
>merged_by_bot
Total number of PRs merged by Aviator bot
blocked_reason
List of objects representing the blocked reasons identified by the Aviator bot while processing queued PRs.
>date
UTC End date in YYYY-MM-DD format. Example: 2021-07-14
>merge_conflict
Failed due to merge conflict
>ci_failure
Failed due to CI status check failure. This only accounts for required check failures.
>manual_dequeue
A PR was manually removed from the queue
>ci_timeout
CI timed out based on the configuration in MergeQueue rules
>other
Failed due to any other reason
sync_frequency
List of objects representing how many times a PR fetched a base branch on an aggregate basis.
>date
UTC End date in YYYY-MM-DD format. Example: 2021-07-14
>min
Minimum sync times
>avg
Average sync times
>p50
50th percentile of number of sync times
>p75
75th percentile of number of sync times
>p90
90th percentile of number of sync times
>p100
100th percentile of number of sync times
org*
String
The GitHub organization that the repo belongs to.
repo*
String
The name of the GitHub repo.
entity
String
Represents the entity type that is changed. Currently supported entities are user
, merge_queue
, repository
, account
, billing
, integrations
and flexreview
action
String
The type of action performed by the user.
page
Number
Page number
action
String
The type of action performed by the user
actor
String
The email address of the user who performed the action
entity
String
The entity type that has changed.
target
String
Optional. Represents the target entity that has changed. It could be null if not applicable. E.g. it will be null for entity type account
or integrations
timestamp
String
ISO timestamp representing the time with timezone