Skip to main content
After a scan completes, verify the results to make pass/fail decisions for your CI/CD pipeline. This page explains the verification logic and provides implementation examples.

Verification Logic

The verification workflow handles two scenarios:

Scenario 1: First Image

When no image was uploaded to the product before the one this build uploaded, the verification checks that image for findings matching the configured statuses. If any are found, the build fails.

Scenario 2: Comparison with the Previous Image

When the product has an image uploaded before this one, the verification:
  1. Compares the image this build uploaded (IMAGE_ID) with the newest image uploaded before it
  2. Reports statistics on resolved, unchanged, and newly introduced findings
  3. Fails if any findings with configured statuses exist in the image this build uploaded
The script picks the comparison image by the upload time of IMAGE_ID. Images that another pipeline or a user uploads to the same product while the build runs don’t change the comparison.

Configuration

Finding Status Filter

Control which finding statuses cause the build to fail using the FAIL_ON_STATUS environment variable: Default: new,inProgress, which fails on findings that require attention. Examples:

Comparison Statistics

The comparison API categorizes findings into three groups: Each query sets compareLeftImageId to the previous image and compareRightImageId to the latest image. The API ignores filter fields it doesn’t know instead of returning an error, so a misspelled field returns all findings.

API Endpoints Used

Implementation

Output Example

Comparison with a previous image, build fails on actionable findings:

Next Steps

  • Triage Findings: Review and triage findings in your Binarly dashboard at https://dashboard-{slug}.binarly.cloud
  • Adjust Thresholds: Combine with severity filters - see Compare Findings API
  • See Also: Compare Findings API for advanced filtering options