javiortizmol opened a new issue, #8887:
URL: https://github.com/apache/incubator-devlake/issues/8887

   ### Search before asking
   
   - [x] I had searched in the 
[issues](https://github.com/apache/incubator-devlake/issues?q=is%3Aissue) and 
found no similar issues.
   
   
   ### 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
   1. Pipeline where `definition.name` does NOT contain env segment 
`-deploy-{col,mex,prod}-` but `buildNumber` does.
   2. Ingest via `azuredevops_go`.
   3. 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?
   
   - [ ] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to