Azure / Azure/apiops

[Question] Selective extractor: API specification file contains all operations despite operations filter in configuration

Open
#854 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
448
Forks
247
PR merge metrics
No merged PRs in 30d

Description

### Release version

v7.0.2

### Question Details

When using the v7 nested operations: configuration to selectively extract a single operation from an API, the extracted specification.yaml still contains all operations of the API, including the ones that were filtered out.

Is this the intended behavior ?

### Expected behavior

Given the following configuration.selective-extractor.yaml:
`apis:
- test:
operations:
- getoperator
backends: []
diagnostics: []
gateways: []
groups: []
loggers: []
namedValues: []
policyFragments: []
products: []
subscriptions: []
tags: []
versionSets: []
workspaces: []`

The extracted apis/test/specification.yaml should contain only the /getoperator path, since getoperator is the only operation listed under apis.test.operations

This would ensure that when the publisher promotes these artifacts to a target APIM instance, only the selected operation is created in the target API

### Actual behavior

The extractor:
- Writes the full API specification at apis/test/specification.yaml, which contains both /getoperator and /postoperator paths

### Reproduction Steps

1. In APIM, create an API called test with two operations: getoperator (GET) and postoperator (POST).

2. Create this configuration.selective-extractor.yaml:

`apis:
- test:
operations:
- getoperator
backends: []
diagnostics: []
gateways: []
groups: []
loggers: []
namedValues: []
policyFragments: []
products: []
subscriptions: []
tags: []
versionSets: []
workspaces: []`

3. Run the v7.0.2 extractor pointing CONFIGURATION_YAML_PATH at that file

4. If you then run the publisher against a target APIM, both operations get created.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.