-
Notifications
You must be signed in to change notification settings - Fork 0
[Feature]: Switch to GraphQL.Client #76
Copy link
Copy link
Labels
enhancementNew feature or requestNew feature or request
Description
Problem Statement
The GitHubGraphQLClient class should use GraphQL.Client and GraphQL.Client.Serializer.SystemTextJson to perform GraphQL qeries.
Proposed Solution
The current GitHubGraphQLClient.cs should:
- Be moved to a src/DemaConsulting.BuildMark/RepoConnectors/GitHub sub-folder
- Switch from using a naked HttpClient to using a GraphQLHttpClient
- Still support taking an HttpClient for mocking (using the GraphQLHttpClient constructor that takes an HttpClient)
- Create a file for the GitHub response types
- Modify the GitHubGraphQLClient.FindIssueIdsLinkedToPullRequestAsync method to use the GraphQL.Client APIs
Note that once this PR is done, most of the Octokit queries will be converted to use GraphQL queries through GitHubGraphQLClient with the goal of retiring Octokit; and eventually other clients such as the Azure DevOps client will also make use of GraphQLHttpClient.
Alternatives Considered
No response
Usage Examples
Benefits
Use of standard GraphQL implementation
Priority
Low - Nice to have
Willingness to Contribute
Yes, I can submit a pull request
Additional Context
No response
Checklist
- I have searched existing issues to ensure this is not a duplicate
- I have provided a clear description of the feature
- I have explained why this feature would be useful
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request