-
Notifications
You must be signed in to change notification settings - Fork 839
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
Support OpenAPI-First, Forked Collection Workflow #8940
Comments
@therockstorm thanks for the detailed explanation! This helps us understand the various gaps in the workflow and we will work towards addressing all of them. Have you tried updating the downstream artifacts using this workflow - https://learning.postman.com/docs/designing-and-developing-your-api/validating-elements-against-schema/#updating-api-elements? As for the other issues that you mentioned, we'll do some digging and get back to you. Is it possible to see the schema that you're using? That might help us debug the |
Thanks for the quick reply @sankalp0o!
I've seen this workflow, but it seems much more manual than the
Further, I don't see how this addresses 8. What we want is for anyone to be able to fork any Collection so they can pull upstream changes in when updates happen. So if AWS publishes a collection for the S3 API, for example, and makes a change to their collection (e.g., adding a new endpoint), I'd want to be able to pull that change into my forked collection without losing any changes I've made to other parts of the collection. To my knowledge, that's only possible within teams right now.
Minimal reproducible schema
The resulting Postman Documentation. Notice the code samples contain neither the The fix it, we manually add both headers as Workaround schema
The resulting Postman Documentation. Notice the code samples now have both headers, but the |
Any update on this @sankalp0o @abhijitkane @vvs11 @Raja-Simha? |
@therockstorm We are looking into this. One question: are you also generating the OpenAPI schema from your codebase through annotations or manually writing that? |
Thanks, @a85! We start everything from the manually written OpenAPI schema. So an example of adding an endpoint would be,
|
@therockstorm A few updates: In the OpenAPI<->Collection module, we're working on two fixes:
On the documentation module, we've recently pushed out fixes for #4912 and #4244 (they're the same issue). I'll keep you posted on #1 and #2 - they should make your current workflow significantly smoother. For the other concerns raised:
I'd also be interested to hear about your use of the forked OpenAPI->Postman module to maintain request IDs. The comment on postmanlabs/openapi-to-postman#224 indicates that the request IDs change even if you provide them in the Update Collection API call. |
Great to hear about the fixes and thanks for keeping me updated, @abhijitkane!
We follow the json:api spec for our API, which requires clients to send all requests with the
The sourcemap change from that PR keeps the Is there a way to accomplish our end-users forking our "master" Collection into their accounts so they can pull upstream changes in when we make updates (described in more detail via an S3 example in this comment? In my opinion, this is an important missing feature if it's not possible outside of Postman Teams. Thanks for taking the time to look into this. If Postman can nail the ideal workflow I outlined above, it'd be the best way to develop and consume REST APIs. |
@abhijitkane any updates/timeline when this will be available?
Facing this issue and appreciate @therockstorm's use case description as it's something similar we're working towards in our team. |
@niklaswallerstedt We have been working on the mentioned task by you under issue #7914 and the issue is already fixed in the corresponding open-source module via postmanlabs/openapi-to-postman#286. It will be available on App with an upcoming release next week. Feel free to add any additional comments on the issue mentioned above. |
We use a Postman Team account to publish Collections and Documentation and drive everything off of the OpenAPI spec during CI in an automated fashion. An ideal workflow would be,
Here's another explanation of what we're after.
Unfortunately, reality is quite different. Here is our current workflow to get this working,
Authorization
andContent-Type
headers in each endpoint in order to show correctly in Postman Documentation's code samples (link to issue) as described in this issue comment. We're also impacted by Auth issues described here, here, and here.openapi-yaml
generator because the tool in the next step returnsschema type not provided
errors for multi-file specs referenced via$ref
stackLimit
from 10 to 20 since it's not configurable and sets some request bodies to<Error: Too many levels of nesting to fake this schema>
otherwisesed
command to remove theContent-Type
header automatically added by theopenapi-to-postman
tool so only the manually added one remains, otherwise it shows up twice in the Collection and Documentation. I'm not sure why this automatically included header doesn't show up in code samples but the manually added one does.Related issues
Is there a simpler, already existing workflow to accomplish what we're after? This seems like a relatively normal use-case: update one file (the OpenAPI spec) and have all downstream artifacts ("Golden" Collection, Documentation, Forked Collections, SDKs) automatically pull in those changes.
The text was updated successfully, but these errors were encountered: