Skip to content

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

@sonalk-optimus

Description

@sonalk-optimus

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions