techdecline opened a new issue, #8838: URL: https://github.com/apache/incubator-devlake/issues/8838
### 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 The `azuredevops_go` plugin fails the entire DevLake pipeline when it encounters Azure DevOps builds created by **YAML syntax errors**. These builds are valid Azure DevOps build records but **do not have a usable Timeline**, causing timeline parsing to fail and abort the pipeline. This behavior blocks data ingestion even though the underlying build failure is expected and should be handled gracefully. ### What do you expect to happen The Azure DevOps Go plugin should gracefully handle missing or invalid timelines, for example: - Skip builds whose timeline response cannot be parsed - Log a warning instead of failing the pipeline - Mark the build as failed/incomplete and continue - Treat timeline collection as best effort, not mandatory At minimum, timeline parsing errors should be non‑fatal for the overall pipeline. ### How to reproduce Add an Azure DevOps Project to the connection's data scope that contains a pipeline with a YAML error that has been triggered at least once within the selected timeframe. Run the data collection. The data collection job will fail at `ado:<scope name>`. This an error description based on the original logs, but refined using AI to strip confidential information and increase readability. ``` Error running DevLake pipeline Root cause: subtask collectApiTimelineRecords ended unexpectedly Stack (compressed): - server/services.runPipeline - core/runner.RunPipeline - core/runner.RunPluginTask - core/runner.RunPluginSubTasks - plugins/azuredevops_go/tasks.CollectRecords - helpers/pluginhelper/api.(*ApiCollector).Execute - helpers/pluginhelper/api.(*WorkerScheduler).WaitAsync Combined errors: { error parsing response from <ORG>/<PROJECT>/_apis/build/builds/<BUILD_ID_1>/Timeline?api-version=7.1 ===================== error parsing response from <ORG>/<PROJECT>/_apis/build/builds/<BUILD_ID_2>/Timeline?api-version=7.1 ===================== error parsing response from <ORG>/<PROJECT>/_apis/build/builds/<BUILD_ID_3>/Timeline?api-version=7.1 } Notes: - All affected builds failed due to YAML syntax errors in pipeline definitions - Timeline API responses are empty, malformed, or non-JSON - Failure of a single timeline causes the entire pipeline to abort ``` ### Anything else _No response_ ### Version v1.0.3-beta10@99376a8 ### Are you willing to submit PR? - [x] 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]
