Azure / Azure/apiops-cli

serviceUrl (and other ARM-level API properties) from overrides file are silently dropped when API has a specification

Abierto
#141 1 comentario 0 reacciones 1 asignado Reclamado por @azaslonov Ver en GitHub
P1
Lenguaje dominante
TypeScript
Estrellas
26
Forks
9
Merge medio
1 d 3 h
PR fusionados (30 d)
20

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.