publish: ApiTagDescription PUT fails cross-service — properties.tagId references source APIM service
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 25/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- À l'abandon
- Stack technique
- azure, typescript
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- TypeScript
- Étoiles
- 29
- Forks
- 11
- Merge moyen
- 1 j 15 h
- PR mergées (30 j)
- 15
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Azure/apiops-cli
-
type:question
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Azure/apiops-cli#277 ·
Les mainteneurs répondent en général sous 1 jour
-
stale type:documentation
Difficulté 1/5 Moins d'une heure Accessibilité débutants 94/100
Azure/apiops-cli#250 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Documentation P2 stale
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Azure/apiops-cli#24 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
type:bug
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
Azure/apiops-cli#317 ·
Les mainteneurs répondent en général sous 1 jour
-
type:feature
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
Azure/apiops-cli#316 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de Azure/apiops-cli
Issues similaires
-
Difficulté 2/5 Moins d'une heure Accessibilité débutants 85/100
capricorn86/happy-dom#2474 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
JSerwatka/letterboxd-tweaks#81 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
siyuan-note/siyuan#20165 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
polkadot-js/phishing#5716 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
juice-shop/juice-shop#3662 ·
Les mainteneurs répondent en général sous 1 jour