Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question] Supporting Independant API Team - extracting selected artifacts - All VersionSets extracted regardless of API #452

Closed
beauholland opened this issue Jan 4, 2024 · 7 comments
Assignees

Comments

@beauholland
Copy link

Release version

v5.0.1

Question Details

To support independent API teams we leverage the "configuration.extractor.yaml" file and select specific APIs to extract.

apiNames:
  - api1TeamA

https://azure.github.io/apiops/apiops/6-supportingIndependentAPITeams/#extracting-select-artifacts

If our APIM has x2 APIs both versioned (has versionSets):

  • api1TeamA
  • api2TeamB

If we configure only to extract api1TeamA API the api2TeamB API versionSet is also included in the artifacts extracted.

image

Sorry if this is a repeat, couldn't find it in doco or issues - therefore asking the question.

Expected behavior

If we specify APIs using the "configuration.extractor.yaml", only those APIs related versionSets should be extracted

Actual behavior

All API versionSets are extracted

Reproduction Steps

  • Create x2 APIs that are versioned
    image
  • Use the "configuration.extractor.yaml" to target only extracting x1 API
  • The extracted artifacts includes both versionSets for both APIs
Copy link

github-actions bot commented Jan 4, 2024

  Thank you for opening this issue! Please be patient while we will look into it and get back to you as this is an open source project. In the meantime make sure you take a look at the [closed issues](https://github.com/Azure/apiops/issues?q=is%3Aissue+is%3Aclosed) in case your question has already been answered. Don't forget to provide any additional information if needed (e.g. scrubbed logs, detailed feature requests,etc.).
  Whenever it's feasible, please don't hesitate to send a Pull Request (PR) our way. We'd greatly appreciate it, and we'll gladly assess and incorporate your changes.

@waelkdouh waelkdouh added the bug Something isn't working label Jan 4, 2024
@guythetechie guythetechie removed the bug Something isn't working label Jan 5, 2024
@guythetechie
Copy link
Contributor

It's a good question. Couple of points:

  • Version sets have a 1 to many relationship with APIs. They can be created independently, associated with multiple APIs, etc. In your example, we shouldn't skip the highlighted version sets simply because they're not associated with api1TeamA. Maybe someone created those version sets, is configuring some properties on them (scheme, header, etc), and only later will associate them with APIs.
  • Our extractor configuration filter is very basic. If you specify resource1 of type X in configuration, we will only extract resource1 when processing types X. However, we will not check other types Y to see if they are related to resource1 prior to extraction. This would complicate things very quickly.

@waelkdouh
Copy link
Contributor

@guythetechie the solution in this case is to use a gitignore file?

@MouniR-123
Copy link

MouniR-123 commented Apr 3, 2024

Currently I'm testing APIOps extractor and publisher, However I noticed that by using configuration.extractor.yaml, it downloads all Versionsets, I set that configuration to ignore, how can we ignore version sets while extracting?

Here is my configuration file:
image

@guythetechie
Copy link
Contributor

@MouniR-123 - filtering version sets is not supported in the latest version. We've added support for it in the next release, which is currently being tested.

@vinilka8
Copy link

Hi @guythetechie

Has the feature been released or is it still in the testing phase?
I see it's stating "In review" #529

Thanks

@waelkdouh
Copy link
Contributor

If it's still on the board it has been released. Please bare with us as we prepare for v6 release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants