Search before asking
What happened
Summary
Azure DevOps build runs often encode the meaningful deploy/run title in JSON field buildNumber (and similar), while YAML definition.name only reflects the pipeline name (e.g. frontend-deploy-pipeline).
The azuredevops_go extractor currently maps AzuredevopsBuild.Name only from definition.name and drops buildNumber. Domain conversion (convertApiBuilds) does not set cicd_pipelines.display_title / URL, and cicd_pipeline_commits.display_title / URL are left unset. Consequently DORA task generateDeploymentCommits propagates empty display_title into cicd_deployment_commits.
Transformation rules documented for Azure DevOps (regex against production/colo/mex/etc.) therefore cannot match the same text that appears in raw JSON buildNumber, and environment/deployment typing based on regex over build.Name;tags may also miss identifiers that exist only on buildNumber.
Evidence (code refs)
extractApiBuilds: sets AzuredevopsBuild.Name = Definition.Name, ignores API buildNumber.
AzuredevopsApiBuild struct includes BuildNumber JSON field but it is unused for persistence/domain.
convertApiBuilds: constructs CiCDPipelineCommit without DisplayTitle / Url; CICDPipeline has no assignment of display title/build URL either.
dora.generateDeploymentCommits: copies DisplayTitle from cicd_pipeline_commits.
Version
[fill: DevLake / plugin version]
What do you expect to happen
Expected behaviour
Expose the human-visible run identifier for Azure builds in domain layers (at minimum display_title, and ideally derive scope regex / prod detection from combined string including buildNumber when transformation rules intend to parse run titles).
Example: fallback chain COALESCE(buildNumber, definition.name) for display + regex enrichment, plus persist buildNumber if needed.
How to reproduce
Steps to reproduce
- Pipeline where
definition.name does NOT contain env segment -deploy-{col,mex,prod}- but buildNumber does.
- Ingest via
azuredevops_go.
- Observe
_tool_*/cicd_pipelines/ cicd_deployment_commits: display_title empty vs raw JSON containing buildNumber with segment.
Anything else
Additional context
- Scope doc: Azure DevOps transformation rules (regex) — expected to match identifiable deploy strings often present on run naming, not only definition name.
Version
v1.0.2@41c047d
Are you willing to submit PR?
Code of Conduct
Search before asking
What happened
Summary
Azure DevOps build runs often encode the meaningful deploy/run title in JSON field
buildNumber(and similar), while YAML definition.name only reflects the pipeline name (e.g.frontend-deploy-pipeline).The
azuredevops_goextractor currently mapsAzuredevopsBuild.Nameonly fromdefinition.nameand dropsbuildNumber. Domain conversion (convertApiBuilds) does not setcicd_pipelines.display_title/ URL, andcicd_pipeline_commits.display_title/ URL are left unset. Consequently DORA taskgenerateDeploymentCommitspropagates emptydisplay_titleintocicd_deployment_commits.Transformation rules documented for Azure DevOps (regex against production/colo/mex/etc.) therefore cannot match the same text that appears in raw JSON
buildNumber, andenvironment/deployment typing based on regex overbuild.Name;tags may also miss identifiers that exist only onbuildNumber.Evidence (code refs)
extractApiBuilds: setsAzuredevopsBuild.Name = Definition.Name, ignores APIbuildNumber.AzuredevopsApiBuildstruct includesBuildNumberJSON field but it is unused for persistence/domain.convertApiBuilds: constructsCiCDPipelineCommitwithoutDisplayTitle/Url;CICDPipelinehas no assignment of display title/build URL either.dora.generateDeploymentCommits: copiesDisplayTitlefromcicd_pipeline_commits.Version
[fill: DevLake / plugin version]
What do you expect to happen
Expected behaviour
Expose the human-visible run identifier for Azure builds in domain layers (at minimum
display_title, and ideally derive scope regex / prod detection from combined string includingbuildNumberwhen transformation rules intend to parse run titles).Example: fallback chain
COALESCE(buildNumber, definition.name)for display + regex enrichment, plus persistbuildNumberif needed.How to reproduce
Steps to reproduce
definition.namedoes NOT contain env segment-deploy-{col,mex,prod}-butbuildNumberdoes.azuredevops_go._tool_*/cicd_pipelines/cicd_deployment_commits:display_titleempty vs raw JSON containingbuildNumberwith segment.Anything else
Additional context
Version
v1.0.2@41c047d
Are you willing to submit PR?
Code of Conduct