apiops

APIOps applies the concepts of GitOps and DevOps to API deployment. By using practices from these two methodologies, APIOps can enable everyone involved in the lifecycle of API design, development, and deployment with self-service and automated tools to ensure the quality of the specifications and APIs that they’re building.

MIT License

Stars
316

Bot releases are visible (Hide)

apiops - APIOps Toolkit for Azure APIM v6.0.2-alpha.1.0.3 Latest Release

Published by github-actions[bot] about 1 month ago

What's Changed

Full Workspace Support:
This release introduces support for all ApiOps-compatible artifacts within workspaces. If an artifact is supported by ApiOps and exists in a workspace, it is now fully supported.
Note: Workspace resources that are not compatible with ApiOps, such as certificates and other non-supported resources, are also excluded in workspaces for consistency.

New Contributors

Full Changelog: https://github.com/Azure/apiops/compare/v6.0.2-alpha.1.0.2...v6.0.2-alpha.1.0.3

apiops - APIOps Toolkit for Azure APIM v6.0.2-alpha.1.0.2

Published by github-actions[bot] about 2 months ago

Added support for extracting more workspaces artifacts. Still work in progress but we are getting cloe.

Full Changelog: https://github.com/Azure/apiops/compare/v6.0.1.1...v6.0.2-alpha.1.0.2

apiops - APIOps Toolkit for Azure APIM v6.0.1.1

Published by github-actions[bot] 2 months ago

  • APIs without version sets are now extracted in parallel.
  • Readded support for API diagnostics. (#616)
  • Made configuration properties case-insensitive. (#619)
  • Publisher now processes APIs if only the specification file changed. (#634)
  • Product child resources are now extracted e.g groups, tags, etc. (#635)
     
    Full Changelog: https://github.com/Azure/apiops/compare/v6.0.1...v6.0.1.1
apiops - APIOps Toolkit for Azure APIM v6.0.1

Published by github-actions[bot] 3 months ago

What's Changed

Optimize resource name filtering in extractor #610

Full Changelog: https://github.com/Azure/apiops/compare/v5.1.4...v6.0.1

apiops - APIOps Toolkit for Azure APIM v6.0.1-rc2

Published by github-actions[bot] 3 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/Azure/apiops/compare/v6.0.2-alpha.1.0.0...v6.0.1-rc2

apiops - APIOps Toolkit for Azure APIM v6.0.2-alpha.1.0.1

Published by github-actions[bot] 3 months ago

💥 Not Ready for production yet. Please utilize v6.0.1-rc1 while we march towards complete workspaces support.💥

What's Changed

  • Experimenting with workspaces support. Partial workspaces support as we march towards a complete workspaces support in v6.0.1-rc2
  • Specifiy Backend Credentials in Example Publisher Config #588 by @zcarroll4 in https://github.com/Azure/apiops/pull/591

Full Changelog: https://github.com/Azure/apiops/compare/v6.0.1-rc1...v6.0.2-alpha.1.0.1

apiops - APIOps Toolkit for Azure APIM v6.0.2-alpha.1.0.0

Published by github-actions[bot] 3 months ago

💥 Not Ready for production yet. Please utilize v6.0.1-rc1 while we march towards complete workspaces support.💥

What's Changed

Full Changelog: https://github.com/Azure/apiops/compare/v6.0.1-rc1...v6.0.2-alpha.1.0.0

apiops - APIOps Toolkit for Azure APIM v6.0.1-rc1

Published by github-actions[bot] 3 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/Azure/apiops/compare/v6.0.0-rc1...v6.0.1-rc1

apiops - APIOps Toolkit for Azure APIM v6.0.0-rc1

Published by github-actions[bot] 4 months ago

💥 Please note that this is a breaking release. Its important you read all the release notes below before you adopt it in your environment.💥

💥 Please note that this release requires updating your Gtihub extractor and publisher workflows💥

💥 Please note that this release requires updating your Azure DevOps or Github Pipelines💥

💥 Please note that this release alters the way we release the assets hosted within each release. 💥

Release notes

New features

  • Added support for product-level subscriptions (#186).
  • Added integration tests (#65).
  • Added OpenTelemetry tracing. This was done primarily to instrument integration tests.
  • Every top-level resource now supports filtering names when extracting (apis, backends, gateways, products, etc).
  • Resource name filters in extractor also apply to related resources. For instance, if the extractor configuration says to only extract API apiA, subscriptions tied to apiB will not be extracted.

Bug fixes

  • Making API revisions current never worked properly (#184). Should be fixed now.
  • When running the publisher with a specific commit, only the last commit was picked up. Publisher should now use the specified commit (#499).
  • Fixed an issue where assigning a policy to a brand-new API fails (#513).
  • Fixed an issue where an API backend URL is reset if only the specification file changes in a commit (#275).

Breaking changes

Release format

In v5, releases are naked executables. You can just download them and run them.

In v6, the releases are zip files. You now have to download the zip file, extract that file to a folder, and run the executable inside the folder. We have updated our ADO and GitHub pipelines to do this, but if you're migrating from v5 to v6, you will need to do this as well.

Why the change?

In v5, the publisher assumes Git has been installed on the computer. When doing Git-related tasks, it calls the command line with git mycommand. If Git is not installed, the publisher will fail. Also, Git commands are hard-coded in a manner that's consistent across different OSes.

In v6, we use the Lib2GitSharp .NET library. It's responsible for figuring out the right commands and maintaining consistency across OSes. When the code is compiled, it generates a .dll/.so file that includes the right Git binaries for the OS. No need to have Git-preinstalled, but the publisher executable now relies on having the .dll/.so file present in its folder.

Subfolder structure

We're changing the folder structure for associated top-level resources. Let's use product APIs as an example.

In v5, productA associated with apiA and apiB will generate the following artifact:

  • /artifacts/products/productA/apis.json
[
  {
    "name": "apiA"
  },
  {
    "name": "apiB"
  }
]

In v6, the structure looks like this:

  • /artifacts/products/productA/apis/apiA/productApiInformation.json
  • /artifacts/products/productA/apis/apiB/productApiInformation.json

Here are the affected resource types:

  • Product APIs
  • Product groups
  • Product tags
  • Gateway APIs
  • API tags

Why the change?

See the discussion here.

Product subscriptions

This release includes support for product subscriptions. When you extract your subscription, the file artifacts/subscriptions/yoursubscription/subscriptionInformation.json will include the subscription owner in properties.ownerId.

If you then promote that subscription to a higher environment, the publisher will likely fail as properties.ownerId references a user ID in the lower environment.

To get around this, override your configuration file with the desired owner in the higher environment. A sample configuration file would be:

subscriptions:
 - name: mysubscription
   properties:
     ownerId: /users/userId

Full Changelog: https://github.com/Azure/apiops/compare/v6.0.0-alpha.1.0.1...v6.0.0-rc1

apiops - APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.10

Published by github-actions[bot] 4 months ago

What's Changed

Full Changelog: https://github.com/Azure/apiops/compare/v6.0.0-alpha.1...v6.0.0-alpha.1.0.10

apiops - APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.9

Published by github-actions[bot] 4 months ago

💥 Not Ready for production yet. Please use v5.x for production💥

What's Changed

Full Changelog: https://github.com/Azure/apiops/compare/v6.0.0-alpha.1...v6.0.0-alpha.1.0.9

apiops - APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.8

Published by github-actions[bot] 5 months ago

What's Changed

Full Changelog: https://github.com/Azure/apiops/compare/v6.0.0-alpha.1...v6.0.0-alpha.1.0.8

apiops - APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.7

Published by github-actions[bot] 5 months ago

What's Changed

Full Changelog: https://github.com/Azure/apiops/compare/v6.0.0-alpha.1...v6.0.0-alpha.1.0.7

apiops - APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.6

Published by github-actions[bot] 5 months ago

What's Changed

Full Changelog: https://github.com/Azure/apiops/compare/v6.0.0-alpha.1...v6.0.0-alpha.1.0.6

apiops - APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.5

Published by github-actions[bot] 5 months ago

What's Changed

Full Changelog: https://github.com/Azure/apiops/compare/v6.0.0-alpha.1...v6.0.0-alpha.1.0.5

apiops - APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.1

Published by github-actions[bot] 6 months ago

What's Changed

Full Changelog: https://github.com/Azure/apiops/compare/v6.0.0-alpha.1...v6.0.0-alpha.1.0.1

apiops - APIOps Toolkit for Azure APIM v6.0.0-alpha.1

Published by github-actions[bot] 6 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/Azure/apiops/compare/v5.1.4...v6.0.0-alpha.1

Badges
Extracted from project README
IMAGE ALT TEXT IMAGE ALT TEXT HERE
Related Projects