fix(ci): Support Azure DevOps classic release pipeline links - #868
Merged
epszaw merged 1 commit intoAug 14, 2026
Merged
Conversation
twitthoeft-gls
commented
Aug 14, 2026
|
|
||
| return getBuildID(); | ||
| }, | ||
|
|
Contributor
Author
There was a problem hiding this comment.
We're going to use an existing CI env var for the link url here. We could build a deeper link into the release environment, getting users closer to the test results. But, wanted to keep the fix simple to start.
epszaw
approved these changes
Aug 14, 2026
Member
|
@twitthoeft-gls thank you for the contribution! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
The Azure DevOps CI detector produces broken report links when running inside classic release pipelines.
The detector reads SYSTEM_COLLECTIONURI and builds a URL from it, but in classic releases Azure DevOps sets that variable to the VSRM API endpoint (vsrm.dev.azure.com) rather than the portal host (dev.azure.com). Combined with SYSTEM_TEAMPROJECTID being a GUID instead of a project name, and the path being hardcoded to _build/results, the result is a link that goes nowhere:
This PR works by checking for the existence of the
RELEASE_RELEASEIDenvironment variable and then uses all of theRELEASE_*env vars documented here for link generation instead. It will a produce a url following this pattern.https://dev.azure.com/{org}/{project}/_release?releaseId={RELEASE_RELEASEID}&_a=release-summaryRELEASE_RELEASEIDjobRunUidRELEASE_RELEASEWEBURLjobRunUrlRELEASE_RELEASENAMEjobRunNameRELEASE_DEFINITIONNAMEjobNameCurrently, Allure 3 already works with the modern YAML Build pipelines. This backports working links into the older Classic Release style. The switch to YAML Build pipelines happened in 2019. I made sure to avoid regressing the link building of the newer-style Build pipeline. Newer style build behavior is unchanged because the RELEASE_* variables this fix uses do not exist outside of classic release stages.
Tested on cloud-hosted Azure DevOps Services; on-prem Azure DevOps Server behavior should be identical but is untested. YMMV
Note: In Azure DevOps, one classic release has multiple environments. This link will take you to the release overview. We can get users closer to the test results by building environment-level links, but I wanted to keep this first round very simple. Thanks.
Checklist