Skip to content
This repository has been archived by the owner on Feb 8, 2024. It is now read-only.

[Feature Request] Use codegen to create client libraries #43

Open
coilysiren opened this issue Aug 3, 2019 · 1 comment
Open

[Feature Request] Use codegen to create client libraries #43

coilysiren opened this issue Aug 3, 2019 · 1 comment

Comments

@coilysiren
Copy link

Requested Feature

I would very much appreciate CircleCI generating some client libraries from its api spec. I'm imagining something like swagger-codegen or protobuf, or however it's implemented in the various clients aws provides (example).

Context

I've built / maintained several small services that use the CircleCI api. Generally when I'm building services like this (in python / golang / javascript) I want to use a client, since working directly with json can often be annoying. In many cases, I have opted to use client libraries provided by 3rd parties, such as

I prefer 3rd party client libraries over using the json api directly, but I'm still not totally comfortable with using 3rd party libraries to access an API for a vendor.

Impact

If there were some automatically generated libraries available for this API, it would have the following effects:

  • it would be more stable than using a json api directly, which would increase the reliability of the services I build on top of CircleCI
  • it would be more trustworthy than using client libraries, which eliminates the cognitive / operational overhead that is currently incurred via us using client libraries from random open source contributors

Closing

I would very much like this feature, so please let me know when you add it ✨ 🙏 thank you for reading! 🙏 ✨

@jama22
Copy link
Contributor

jama22 commented Oct 30, 2019

Now that we're using an openapi spec, we've been experimenting with this very notion starting with a Java client https://github.com/CircleCI-Public/java-api-client/

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants