NARKOZ / gitlab

Ruby wrapper and CLI for the GitLab REST API
https://narkoz.github.io/gitlab
BSD 2-Clause "Simplified" License
1.06k stars 394 forks source link

Would we like to include GraphQL API capabilities? #659

Closed ltickett closed 11 months ago

ltickett commented 1 year ago

Has there been any conversation around adding support for GraphQL to the Gem?

I realise it is quite a different beast to the REST API, but there are definitely a number of implementations of a GraphQL client consuming the GitLab API in Ruby, and it would be great to try and build something reusable.

Thanks

NARKOZ commented 1 year ago

Definitely this is something that I'd like to implement as well as rewrite the client, but it requires some time dedication which unfortunately I can't allow for now.

ltickett commented 1 year ago

That's great to hear. I'm sure the GitLab team and community would be happy to try and support/collaobrate/contribute.

Let us know how we might be able to help 💙

chino commented 1 year ago

+1 for this

@ltickett any good gems you recommend from your research?

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

ltickett commented 1 year ago

+1 for this

@ltickett any good gems you recommend from your research?

Sorry I missed this.

I think https://github.com/github/graphql-client is the only one i've used.

However, I must admit I've found myself falling back to hand crafting using HTTParty (I suspect that's because i'm more technical and know exactly what's what).

The beauty of the gem is that it uses introspection to grab the GraphQL schema and can then validate/verify a query locally. Then again, this query/response is quite large and unless cached would probably introduce significant delays/perofmrnace challenges. I don't believe it has any pagination handling etc either (this is something I expected to get).

What might be a good way to start brainstorming?

I will reach out to some team mates to see if they have any ideas/suggestions? Perhaps we could also find some other GraphQL API's with Ruby gems/wrappers and see how they approached it?

Thanks

github-actions[bot] commented 11 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.