Publish fails on workspace products with the built-in administrators group
Mantenedores costumam responder em até 3 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 48/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- azure, typescript
Direção de pesquisa
Start by tracing the publish path that reads products/*/groups.json and issues the ProductGroup link PUT, then compare it with cleanupProductGroups() and the existing versus new product paths described in the issue. Reproduce with a workspace product containing the built-in administrators group and inspect the target association after publishing. Done means publish succeeds with documented workspace collaborator permissions while preserving the relevant source and target state.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Command that triggered the bug
apiops publish
Expected behavior
apiops publish should handle a workspace product's service-scoped administrators group association without failing the publish or requiring permissions beyond the documented workspace collaborator roles.
The supported behavior should preserve the relevant source/target state. We have not verified whether APIM attaches this group to target workspace products automatically, so simply skipping the PUT may or may not preserve the association.
Actual behavior
Workspace products can have the built-in administrators group recorded in groups.json after apiops extract.
When publishing to a target workspace, the CLI attempts to PUT this ProductGroup link. With our publishing identity's permissions, this fails:
HTTP 403: LinkedAuthorizationFailed — client has 'groupLinks/write' on
workspaces/.../products/{product}/groupLinks/administrators but does not have
'Microsoft.ApiManagement/service/groups/write' on the linked scope .../groups/administrators
Microsoft recommends a service-scoped workspace companion role alongside the workspace role. However, neither API Management Service Workspace API Developer nor API Management Service Workspace API Product Manager grants Microsoft.ApiManagement/service/groups/write, the permission demanded by this error. This appears to require permissions beyond the documented workspace collaborator roles.
In our tests, this is a hard ERROR and causes exit code 1, even when every other resource publishes successfully. Extraction is unaffected.
The failure also occurs when republishing an existing product. v1.0.5's cleanupProductGroups() does not address that case because it only runs when !productExisted.
Our current workaround strips administrators entries from products/*/groups.json before publishing. This avoids the error, but we have not verified whether it preserves the association on the target.
apiops CLI version
1.0.5
Environment details
- Execution environment: Azure DevOps, Linux agent
- Node.js: v22.23.3
- Shell: Bash
- Azure CLI: 2.90.0
- Publish task: AzureCLI@2, task version 2.279.1
- Authentication: service principal
- APIM scope: workspace-scoped products
- Publish modes: reproduced with both incremental and full publishing
CI/CD environment
Azure DevOps
Is this bug blocking you?
None
- Linguagem predominante
- TypeScript
- Estrelas
- 34
- Forks
- 13
- Merge médio
- 3d 6h
- PRs com merge (30d)
- 7
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
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 84/100
Azure/apiops-cli#333 ·
Mantenedores costumam responder em até 3 dias
-
extract fails when a policy uses set-backend-service backend-id="{{namedValue}}"Talvez já em andamento @dannyward630 assumiu há 4 dias. Abertatype:bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Azure/apiops-cli#331 ·
Mantenedores costumam responder em até 3 dias
-
stale type:question
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Azure/apiops-cli#277 · 1 comentário ·
Mantenedores costumam responder em até 3 dias
-
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é 3 dias
-
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é 3 dias
Todas as issues de Azure/apiops-cli
Issues semelhantes
-
Add: Disco Mix SDAbertacheck:passed streams:add
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Mantenedores costumam responder em até 1 dia
-
level2 nsoc26
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
GauravKarakoti/SecureFlow#1488 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
deltachat/deltachat-desktop#6914 ·
Mantenedores costumam responder em até 2 dias
-
area:cli bug P4
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
bug from-studio
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
esengine/DeepSeek-Reasonix#14868 ·
Mantenedores costumam responder em até 1 dia