fshy

Home / Microsoft

azure pipelines build artifacts (as a free archive)

learn.microsoft.com/en-us/azure/devops/pipelines/policies/restorage/azure-pipelines-build-artifactsJSONcomparereport an errorprovider JSON

Free allowance
Retention is configurable and a run can be marked 'retained indefinitely', but the backing storage is the Azure DevOps organization's storage, and the org's free artifacts allowance is 2…
Verdict
fails: quotathe free allowance is too small to matter
Cost
no price stated
Identity
email?placeholder, not evidence; card unknown, phone unknown
Binding limit
noneno named constraint binds
Evidence
reported2 sources; a third party said so
Freshness
stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
Free tierRetention is configurable and a run can be marked 'retained indefinitely', but the backing storage is the Azure DevOps organization's storage, and the org's free artifacts allowance is 2…
unit none; metered on none
Pricenone stated
Identityemail (placeholder) not published
Egressnot recorded
Interfaceunknown
Toolingnot recorded
Evidence 2
datesourcewhat it proved
2026-10-21learn.microsoft.com/en-us/azure/devops/pipelines/policies/rethe text of Free tier, above
2026-10-21dev.azure.com/dnceng/public/_apis/build/builds?api-version=7cited as the basis of the rejection: Retention is configurable and a run can be marked 'retained indefinitely', but the backing storage is the Azure DevOps organization's storage, and the org's free artifacts allowance is 2 GiB
More fields 1
{
 "dead_end": {
  "failure_class": "retention",
  "why": "Retention is configurable and a run can be marked 'retained indefinitely', but the backing storage is the Azure DevOps organization's storage, and the org's free artifacts allowance is 2…",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown values 8
  • $.binding_note boilerplate
  • $.chaining the record was rejected before this field was looked at
  • $.egress.terms the record was rejected before this field was looked at
  • $.interface the access interface was not established
  • $.per_object_cap.notes the record was rejected before this field was looked at
  • $.per_object_cap.stated the record was rejected before this field was looked at
  • $.retention.stated the record was rejected before this field was looked at
  • $.tooling the record was rejected before this field was looked at