AzureDevOpsProvider fills the {repositoryId} path segment with the repository name, because IGitHostingProvider exposes no other identifier.
Microsoft's REST reference documents that parameter as an id. It draws an explicit id-or-name distinction for the sibling project parameter and withholds it here, and the GitRepository schema types id as string (uuid). A distinction stated where it applies reads as deliberate where it is withheld.
It works today. Working by accident and being specified are different properties, and only the second survives the vendor's next change.
The fix is for GitRepository to carry the host's own repository id, which then flows into the path. The code says plainly that the current substitution is unconfirmed against the documented schema.
Found during Phase 5b task review (#80).
AzureDevOpsProviderfills the{repositoryId}path segment with the repository name, becauseIGitHostingProviderexposes no other identifier.Microsoft's REST reference documents that parameter as an id. It draws an explicit id-or-name distinction for the sibling
projectparameter and withholds it here, and theGitRepositoryschema typesidasstring (uuid). A distinction stated where it applies reads as deliberate where it is withheld.It works today. Working by accident and being specified are different properties, and only the second survives the vendor's next change.
The fix is for
GitRepositoryto carry the host's own repository id, which then flows into the path. The code says plainly that the current substitution is unconfirmed against the documented schema.Found during Phase 5b task review (#80).