fix: resolve azure devops repository urls to org/project/repo format [IAC-3468] #6395
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request Submission Checklist
are release-note ready, emphasizing
what was changed, not how.
What does this PR do?
Fixes incorrect project name parsing for Azure DevOps repositories during
snyk iac --report.Previously, unsupported Azure DevOps repo formats caused the CLI to fallback to the full FQDN (for example:
http://ssh.dev.azure.com/v3/org-user/project/repo) as the project name.This change updates the regex logic to correctly extract the relevant repo identifier.
This introduces a necessary behavior change regarding the repository identifier. While standard Git services (like GitHub) continue to use a
user/repoformat, Azure DevOps repositories will now report asorg/project/repo. This change reflects Azure's three-tier hierarchy, ensuring that repositories are uniquely identified within their organization and project context.Unit tests were refactored to a table-driven approach to accommodate the differing output formats (
user/repovsorg/project/repo).Where should the reviewer start?
src/cli/commands/test/iac/meta.ts.test/jest/unit/cli/commands/test/iac/meta.spec.ts.How should this be manually tested?
The logic is covered by unit tests. You can verify the fix by running:
npx jest --runInBand test/jest/unit/cli/commands/test/iac/meta.spec.tsWhat's the product update that needs to be communicated to CLI users?
Fix: Azure DevOps Repository URLs now correctly report Org/Project/Repo project names instead of the full URL.
Risk assessment (Low | Medium | High)?
Low