Skip to main content

PullRequestScanRun

A durable pull request scan attempt and its Security Gate verdict

type PullRequestScanRun {
asset: Asset
branch: Branch
conclusion: String
createdAt: ISO8601DateTime!
detailsUrl: String
durationInSeconds: Int
errorMessage: String
evidenceExpired: Boolean!
evidenceExpiresAt: ISO8601DateTime
executionState: String!
findings(
limit: Int = 50
): [PullRequestScanFinding!]!
findingsBySeverity: [PullRequestScanSeverityCount!]!
finishedAt: ISO8601DateTime
gateState: String!
gateStatus: String
headSha: String!
id: ID!
newFindingsCount: Int!
parentRunId: ID
publishedAt: ISO8601DateTime
pullRequest: PullRequest
retryOfScanRunId: ID
rulesetDigest: String
scannerImageDigest: String
securityGateExecution: SecurityGateExecution
startedAt: ISO8601DateTime
supersededByScanRunId: ID
targetSha: String
terminalReason: String
}

Fields

PullRequestScanRun.asset ● Asset object

PullRequestScanRun.branch ● Branch object

The target branch this run was attributed to

PullRequestScanRun.conclusion ● String scalar

What was published to the SCM: success, neutral, failure, error or cancelled

PullRequestScanRun.createdAt ● ISO8601DateTime! non-null scalar

PullRequestScanRun.detailsUrl ● String scalar

This run in Conviso

PullRequestScanRun.durationInSeconds ● Int scalar

PullRequestScanRun.errorMessage ● String scalar

Technical failure detail. Set only for an execution failure, never for a gate failure.

PullRequestScanRun.evidenceExpired ● Boolean! non-null scalar

True when the evidence has been purged; the run and its verdict remain

PullRequestScanRun.evidenceExpiresAt ● ISO8601DateTime scalar

PullRequestScanRun.executionState ● String! non-null scalar

Scan execution health: requested, enqueued, running, completed, ingested, failed, stale, lost, dlq, cancelled or superseded. Independent of the security verdict.

PullRequestScanRun.findings ● [PullRequestScanFinding!]! non-null object

The introduced findings, worst severity first, capped by limit. Empty once the 21-day evidence retention has run; newFindingsCount is the true total.

PullRequestScanRun.findings.limit ● Int scalar

Maximum findings to return (capped at 500).

PullRequestScanRun.findingsBySeverity ● [PullRequestScanSeverityCount!]! non-null object

The introduced findings, per severity

PullRequestScanRun.finishedAt ● ISO8601DateTime scalar

PullRequestScanRun.gateState ● String! non-null scalar

evaluated, not_configured, not_entitled, skipped or pending

PullRequestScanRun.gateStatus ● String scalar

PASS, WARNING or FAIL. Null when no verdict was produced — gateState says why.

PullRequestScanRun.headSha ● String! non-null scalar

The head this attempt scanned

PullRequestScanRun.id ● ID! non-null scalar

The durable ScanRun id

PullRequestScanRun.newFindingsCount ● Int! non-null scalar

Findings this pull request introduced (non-excepted)

PullRequestScanRun.parentRunId ● ID scalar

The first attempt of this chain, for runs created by a retry

PullRequestScanRun.publishedAt ● ISO8601DateTime scalar

PullRequestScanRun.pullRequest ● PullRequest object

PullRequestScanRun.retryOfScanRunId ● ID scalar

Alias of parentRunId, named from the client's perspective

PullRequestScanRun.rulesetDigest ● String scalar

PullRequestScanRun.scannerImageDigest ● String scalar

PullRequestScanRun.securityGateExecution ● SecurityGateExecution object

The verdict. Null when gateState explains why there is none.

PullRequestScanRun.startedAt ● ISO8601DateTime scalar

PullRequestScanRun.supersededByScanRunId ● ID scalar

The attempt that owns the pull request's current head

PullRequestScanRun.targetSha ● String scalar

The target commit the scanner diffed against: everything reported is what this pull request adds on top of it

PullRequestScanRun.terminalReason ● String scalar

Why the run ended: no_changes, no_new_findings, gate_passed, gate_warning, gate_failed, gate_not_evaluated, scan_error, superseded, cancelled or timeout

Returned By

pullRequestScanRun query

Member Of

PullRequestScanRunCollection object ● RetryPullRequestScanPayload object

Contribute to the Docs

Found something outdated or missing? Help us improve the documentation with a quick suggestion or edit.

How to contribute

Resources

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.