[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

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
50/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
azure, csharp
Domain
api

Research direction

Start with configuration.selective-extractor.yaml and the extractor path that writes apis/test/specification.yaml, reproducing the v7.0.2 case with getoperator and postoperator. Compare the generated specification with the configuration, then run the publisher against a target APIM; done means only /getoperator is present and promoted.

Written by the indexing model from the issue text.

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: []`
  1. Run the v7.0.2 extractor pointing CONFIGURATION_YAML_PATH at that file

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

Dominant language
C#
Stars
448
Forks
247
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Azure/apiops

All issues in Azure/apiops

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.