Comments (4)
Hi @petkostas,
Thanks for submitting this issue.
Before adding another configuration flag to support your request, I'd like to suggest using the Operation Tag instead of Specification Extensions to document your APIs.
What do you think?
from oasdiff.
Hi @reuvenharrison thanks for the suggestion, we do use the operation tags, but there are also some tools that add custom specification extensions.
Obviously, the exclude filter could take into consideration tags, the suggestion for the extension was mostly based on the fact that some other OSS tools make use of it.
In our case, the operation tag would be also a perfect candidate!
from oasdiff.
I have two follow up questions:
- Can you provide an example of an OSS tool that uses extensions? I'd like to make sure that I understand this.
- What happens if an API has an 'x-beta' extension in one of the specs only? For example:
Spec 1:
info:
title: Tufin
version: 1.0.0
openapi: 3.0.3
paths:
/api/test:
x-beta: true
get:
responses:
200:
description: OK
Spec 2:
info:
title: Tufin
version: 1.0.0
openapi: 3.0.3
paths:
/api/test:
get:
responses:
200:
description: OK
what should be the results of:
oasdiff -base spec1 -revision spec2
and:
oasdiff -base spec2 -revision spec1
from oasdiff.
@reuvenharrison examples of using extensions:
- https://redocly.com/docs/cli/guides/hide-apis/
- Stoplight also uses an
x-private
extension
We are not currently using an extension to mark APIs as beta (and as you mentioned we can easily also use a tag for it), to help you understand more, we use oasdiff in our repository pipelines. every MR checks for changes against the master repo reference.
For the moment as we can't support tags or extensions, we have to manually specify which APIs are stable and additionally the ones under development. In case there is a change of the APIs under development oasdiff needs to be completely bypassed by using a commit-specific title.
I hope this makes it a bit more clear.
In your example, oasdiff would completely ignore the specific path when comparing it.
from oasdiff.
Related Issues (20)
- `response-property-became-required` is added for required properties that are newly added to response bodies HOT 1
- Non-friendly error message
- oasdiff flatten doesn't output paths HOT 1
- YAML/JSON field name typo: "reuired" -> "required" HOT 1
- Feature request: Support external metadata
- Verbose CLI output to help troubleshoot (especially in composed mode) HOT 5
- oasdiff error in composed mode when the same path appears in different files HOT 1
- Race condition while parsing command line arguments if telemetry is enabled HOT 1
- "Error resolving reference/map key not found" when running oasdiff across the set of files with intensive external refs HOT 1
- Supporting "--fail-on" option for changelog command
- basePath and servers.ulr support HOT 3
- Add support for AWS API Gateway extensions to OpenAPI HOT 6
- Diff tool gets confused when a new inline enum value is added and a new enum type is added at the sime time HOT 4
- Changelog does not log adding a new optional request body HOT 2
- `latest` docker container (April 8th) introduces a bug that causes false positives HOT 1
- --flatten-allof panic HOT 3
- Unmarshalling errors don't provide offset HOT 6
- Support breaking-changes and changelog for schemas with multiple types
- Support "flatten allOf" for schemas with multiple types
- Typo in description of incompatible changes HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oasdiff.