APIOps applies GitOps and DevOps principles to API deployment. It allows teams to manage APIs through version control and automated pipelines. As a result, teams gain consistency, repeatability, and full traceability across API changes. You can learn more about APIOps in the Automate API deployments with APIOps guide or in the official APIOps Documentation.
APIOps relies on configuration files to define exactly which API elements it should extract and manage. This configuration file acts as a bridge between Azure API Management and your version control system. It gives teams precise control over APIs, products, and other managed elements.
The APIOps configuration file uses YAML to control which Azure API Management artifacts are exported to the Git repository. It supports selective extraction of APIs, products, backends, and additional APIM components. This flexibility lets teams manage different areas of their API landscape independently. However, the example configuration in the repository is slightly outdated and does not include all supported extraction properties.
📝 One-Minute Brief
When using APIOps with Azure API Management, extracting all version sets may add unnecessary noise to your repository. This post explains how to filter version set extraction, why it matters for governance, and how to keep your APIOps process clean and manageable.
Right now, these are the only options that are shown on the official GitHub.

Now, consider a scenario where a single API in Azure API Management uses versioning. It does not matter whether you explicitly define that API in the apiNames block or not. When you run the extract pipeline, the process still generates a version sets folder in your repository. Later, the pipeline deploys this folder to other environments.

According to the documentation, the configuration file does not define version sets as a variable. Fortunately, the example YAML file shown in the repository is outdated. To solve this, you only need to explicitly add the variable to the configuration file. For example, if you don’t want to extract any version sets, you can add the following code.

After the extraction finishes, we get the final result and remove any version sets from the repository.

We can apply the same logic used for the other variables here. By simply adding the version set name, we can explicitly extract any version set we want.
I hope you find this helpful! If you enjoyed the content and want to support our efforts to create more, feel free to contribute toward a new Star Wars LEGO set for Sandro’s son.