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)
- Enum value deletion/update is not detected as a breaking change by check-breaking HOT 1
- Deep change of property in requestBody is not detected
- Path Parameter false positive HOT 5
- how to integration with
- how to integration with gitlab? HOT 2
- Changing a response property to nullable should be breaking
- Changing a request property to enum should be breaking
- err-ignore subpaths skipped HOT 3
- Runtime error for an endpoint with no parameters and no return objects while using -strip-prefix-base HOT 1
- String formating problem in [request-parameter-default-value-changed] HOT 2
- command-line with sub-commands
- Request fields were optional but now required HOT 2
- Non-breaking changes HOT 5
- changing from nullable to not-nullable in request should be breaking
- Model renamed check
- Update oasdiff service HOT 1
- References under paths are compared only by ref name - oasdiff should compare the ref values. HOT 3
- oasdiff fails to detect a breaking chnage for type change HOT 2
- Required property is not detected in Request Views HOT 1
- deprecation-days is ignored HOT 4
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.