serviceUrl (and other ARM-level API properties) from overrides file are silently dropped when API has a specification
- 主要语言
- TypeScript
- 星标
- 26
- 派生
- 9
- 平均合并
- 1 天 3 小时
- 30 天内合并 PR
- 20
描述
When an API has a specification file, publishRootApi() sends a single PUT containing both the override-merged properties (like serviceUrl) and spec body (properties.format + properties.value). APIM treats the spec as authoritative during import and re-derives serviceUrl from the spec's servers[0].url / host + basePath, silently discarding the override.
alignActiveRevisionWithSource() does a metadata-only re-PUT, but only fires when the API has additional revisions and is marked isCurrent, so single-revision APIs never had their overrides re-asserted.
Symptom
Given an overrides file:
apis:
- name: swagger-petstore
properties:
serviceUrl: https://prod-petstore.example.com
and a source folder that contains both swagger-petstore/apiInformation.json and swagger-petstore/specification.yaml, running:
apiops publish --source ./artifacts --overrides ./overrides.yaml ...
Expected: destination APIM Backend → HTTP(s) endpoint = https://prod-petstore.example.com
Actual: The override is silently ignored.
贡献指南
评估
这个 Issue 还没有评估数据。