cqse / cqse/Teamscale-AzureDevOps-Extension
ReportUploadTask - revision variable with multiple git repositories
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 3
- Forks
- 1
- Avg merge
- 1m
- Merged PRs (30d)
- 1
Description
If a azure devops pipeline uses multiple git repositories the content of the Build.SourceVersion variable is set to different values depending what triggers the pipeline.
For example in a typical setup:
- an infrastructure repository which contains the .yaml file of the pipeline definition
- another repository containing the 'main' source code
Triggers and the values of Build.SourceVersion:
- If the pipeline is triggered manually -> SourceVersion is set to the commitId of the head of the infrastructure repository
- If the pipeline is triggered by a code change in the infastructure repository -> SourceVersion is set to the commitId of the change in the infrastructure repository
- If the pipeline is triggered by a code change in the 'main' repository -> SourceVersion is set to the commitId of the change in the main repository
Result:
If a pipeline is triggered manually or by a change of the pipeline itself the reportUploadTask uses the 'wrong' commitId and the task will fail.
curl: (22) The requested URL returned error: 400 Bad Request
##[error]Task failed. Please check the log for further details.
Error: The process 'TeamscaleReportUploader_xxx\1.2.5\curl\windows\curl.exe' failed with exit code 22
Possible solutions:
- If the revision variable would be exposed as an input field of the task pipelines could set the correct revision themselves
- Identify the revision by getting the checked out commit with git tooling
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the ReportUploadTask entry point and trace how Build.SourceVersion is selected for manual, infrastructure-repository, and main-repository triggers. Compare that value with the checked-out commit and the task's revision input handling. Done means the upload uses the correct commit for each trigger scenario without producing the reported 400 error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- ci-cd, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100