publish: ApiTagDescription PUT fails cross-service — properties.tagId references source APIM service
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Estagnada
- Stack de tecnologia
- azure, typescript
Direção de pesquisa
Start by reading the publisher path for apitagdescription and the extracted tagDescriptionInformation.json artifact. Check how its PUT body is formed and compare it with the allowed TagDescriptionCreateParameters fields described in the issue. Done means cross-service publishing no longer sends properties.tagId; the issue reports successful PUTs as the expected result.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Describe the bug
Publishing extracted artifacts to a different APIM service fails with HTTP 400 on every ApiTagDescription resource:
ERROR PUT apitagdescription/<api-id>/<tag-id>: HTTP 400: {"error":{"code":"ValidationError","message":"Resource id '/subscriptions/.../resourceGroups/.../providers/Microsoft.ApiManagement/service/<SOURCE-SERVICE>/tags/<tag-id>' references APIM service '<SOURCE-SERVICE>', which is different from the service '<TARGET-SERVICE>' targeted by the request. Cross-service resource references are not allowed.","details":null}}
Root cause
The extractor saves the GET response verbatim, so tagDescriptionInformation.json contains properties.tagId with the full ARM path of the source service's tag:
"properties": {
"tagId": "/subscriptions/.../service/<SOURCE-SERVICE>/tags/<tag-id>",
...
}
The publisher sends the body as-is. Newer APIM api-versions validate ARM references inside PUT bodies and reject any that point at another service.
This is the same family of bugs as #285, which stripped the top-level id and rebuilt diagnostic loggerId, but missed properties.tagId on ApiTagDescription.
Expected behavior
Cross-service publish of tag descriptions succeeds. Per the ARM contract (TagDescriptionCreateParameters), the PUT body only accepts description, externalDocsUrl, externalDocsDescription — tagId is response-only, the tag is identified by the request URL (.../apis/{apiId}/tagDescriptions/{tagDescriptionId}). The publisher should strip properties.tagId before PUT.
Steps to reproduce
apiops extractfrom service A (API has tags with tag descriptions)apiops publishthe artifacts to service B- Every
apitagdescriptionPUT fails with the ValidationError above
- Linguagem predominante
- TypeScript
- Estrelas
- 29
- Forks
- 11
- Merge médio
- 1d 15h
- PRs com merge (30d)
- 15
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Azure/apiops-cli
-
type:question
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Azure/apiops-cli#277 ·
Mantenedores costumam responder em até 1 dia
-
stale type:documentation
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 94/100
Azure/apiops-cli#250 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Documentation P2 stale
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Azure/apiops-cli#24 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
type:bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
Azure/apiops-cli#317 ·
Mantenedores costumam responder em até 1 dia
-
type:feature
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
Azure/apiops-cli#316 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de Azure/apiops-cli
Issues semelhantes
-
triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
github/docs#46222 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
agent-ready area: config area: skills type: chore upstream: brain-kit
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 95/100
-
enhancement priority:low ready-for-dev
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
bug escritorio mapa
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
marcosferr/reporte-ciudadano#4 · 1 comentário ·
-
area: material/sort gemini-triaged needs triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
angular/components#33933 ·
Mantenedores costumam responder em até 1 dia