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]
