MHanafy.GithubClient 1.0.3

.NET Standard 2.1
dotnet add package MHanafy.GithubClient --version 1.0.3
NuGet\Install-Package MHanafy.GithubClient -Version 1.0.3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MHanafy.GithubClient" Version="1.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MHanafy.GithubClient --version 1.0.3
#r "nuget: MHanafy.GithubClient, 1.0.3"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install MHanafy.GithubClient as a Cake Addin
#addin nuget:?package=MHanafy.GithubClient&version=1.0.3

// Install MHanafy.GithubClient as a Cake Tool
#tool nuget:?package=MHanafy.GithubClient&version=1.0.3


A .Net GitHub client that allows easy access to Github API, making developing Github apps a breaze.

To get started, you'll need to create a new Github App, this can be either private or public To create a new app, visit

To use this library, you'll need:

  1. A private key, grab one by heading to your app's page, and selecting Generate a private key and download the key to your local machine
  2. The AppId, which you can get from the settings page

Now, start using the library as follows:

var serviceProvider = SetupDi();
//using DI to get the client, would use settings to get the required values from the config file.
var client = serviceProvider.GetService<IGithubClient>();

//listing all installations that the app has access to
var installations = await client.GetInstallations();

//Get an installation token to access the first installation; tokens are then renewed automatically before expiry
var token = await client.GetInstallationToken(installationId);

//Start interacting with the installation using the installation token
var checkSuites = await client.GetCheckSuites(token, repo, pull.Head.Sha)

This library provides models for various Github objects, but you can also issue raw requests if some models are missing

var url = $"";
var payload = $"";
var result = await client.Execute(System.Net.Http.HttpMethod.Get, url, token, payload);

For detailed example, update the sample app settings.json file with the App ID and the location of the private key file, and run it to see how easy it's to utilize github's new API from .Net.

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows
.NET Core netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.1
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen60
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.3 394 11/26/2020
1.0.2 492 3/4/2020
1.0.1 403 3/3/2020
1.0.0 433 2/23/2020