pullRequestScanRuns
Returns durable pull request scan runs for the company
pullRequestScanRuns(
companyId: ID!
pagination: BasePaginationInput!
assetIds: [ID!]
executionStates: [String!]
gateStatuses: [String!]
gateStates: [String!]
providers: [String!]
pullRequestNumber: Int
headSha: String
startedAfter: ISO8601DateTime
startedBefore: ISO8601DateTime
): PullRequestScanRunCollection!
Arguments
pullRequestScanRuns.companyId ● ID! non-null scalar
Company ID
pullRequestScanRuns.pagination ● BasePaginationInput! non-null input
pullRequestScanRuns.assetIds ● [ID!] list scalar
Restrict to these assets. Omitted, every asset the caller can see.
pullRequestScanRuns.executionStates ● [String!] list scalar
ScanRun states: requested, enqueued, running, completed, ingested, failed, stale, lost, dlq, cancelled, superseded
pullRequestScanRuns.gateStatuses ● [String!] list scalar
PASS, WARNING or FAIL
pullRequestScanRuns.gateStates ● [String!] list scalar
Gate outcome: evaluated, not_configured, not_entitled, skipped, pending
pullRequestScanRuns.providers ● [String!] list scalar
pullRequestScanRuns.pullRequestNumber ● Int scalar
pullRequestScanRuns.headSha ● String scalar
pullRequestScanRuns.startedAfter ● ISO8601DateTime scalar
pullRequestScanRuns.startedBefore ● ISO8601DateTime scalar
Type
PullRequestScanRunCollection object
PullRequestScanRunCollection type
Example request
This generated query uses placeholders for required values. Replace them with values available to your API key before running it.
Run the companies query first and use data.companies.collection[].id as companyId.
- cURL
- JavaScript
- Python
curl --request POST https://api.convisoappsec.com/graphql \
--header "x-api-key: $CONVISO_API_KEY" \
--header "content-type: application/json" \
--data '{"query":"query GetPullRequestScanRuns($companyId: ID!, $pagination: BasePaginationInput!) {\n pullRequestScanRuns(companyId: $companyId, pagination: $pagination) { collection { id asset { __typename } branch { __typename } } metadata { currentPage limitValue totalCount } }\n}","variables":{"companyId":"<company_id>","pagination":{}}}'
const response = await fetch('https://api.convisoappsec.com/graphql', {
method: 'POST',
headers: {
'content-type': 'application/json',
'x-api-key': process.env.CONVISO_API_KEY,
},
body: JSON.stringify({
query: "query GetPullRequestScanRuns($companyId: ID!, $pagination: BasePaginationInput!) {\n pullRequestScanRuns(companyId: $companyId, pagination: $pagination) { collection { id asset { __typename } branch { __typename } } metadata { currentPage limitValue totalCount } }\n}",
variables: {
"companyId": "<company_id>",
"pagination": {}
},
}),
});
const { data, errors } = await response.json();
if (errors) throw new Error(errors.map(({ message }) => message).join(', '));
console.log(data);
import json
import os
import requests
response = requests.post(
'https://api.convisoappsec.com/graphql',
headers={
'content-type': 'application/json',
'x-api-key': os.environ['CONVISO_API_KEY'],
},
json={
'query': "query GetPullRequestScanRuns($companyId: ID!, $pagination: BasePaginationInput!) {\n pullRequestScanRuns(companyId: $companyId, pagination: $pagination) { collection { id asset { __typename } branch { __typename } } metadata { currentPage limitValue totalCount } }\n}",
'variables': json.loads("{\"companyId\":\"<company_id>\",\"pagination\":{}}"),
},
timeout=30,
)
response.raise_for_status()
payload = response.json()
if payload.get('errors'):
raise RuntimeError(payload['errors'])
print(payload['data'])
Contribute to the Docs
Found something outdated or missing? Help us improve the documentation with a quick suggestion or edit.
How to contributeResources
By exploring our content, you'll find resources that will enhance your understanding of the importance of a Security Application Program.
Conviso Blog: Explore our blog, which offers a collection of articles and posts covering a wide range of AppSec topics. The content on the blog is primarily in English.
Conviso's YouTube Channel: Access a wealth of informative videos covering various topics related to AppSec. Please note that the content is primarily in Portuguese.