Skip to content

dave-5/gogs-kit.net

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A .NET client library for the Gogs API.

This library is not complete. So far it's mostly focused on the user, organization, and team API endpoints.

The design is inspired by the Octokit.net library.

Build status

Installation

The easiest way to use this library is to install the NuGet package:

PM> Install-Package GogsKit

Getting Started

Here's a minimal example that uses the API client:

var gogsClient = new GogsKit.GogsClient("https://try.gogs.io/api/v1/");
var user = await gogsClient.Users.GetAsync("test");

Assuming the Gogs demo site hasn't changed since this was written, that example should just work. It makes an anonymous connection to the API and parses the result into a .NET object (a UserResult in this case).

Two types of authentication are supported: by username/password and by access token. Here's an example that uses both:

var credentials = new Credentials("username", "password");
var gogsClient = new GogsClient("https://try.gogs.io/api/v1/", credentials);

var tokens = await gogsClient.Users.GetTokensAsync("username");
var token = tokens.FirstOrDefault();
if (!tokens.Any())
{
	token = await gogsClient.Users.CreateTokenAsync("username", "token_name");
}

var tokenCredentials = new Credentials(token.Sha1);
var tokenGogsClient = new GogsClient("https://try.gogs.io/api/v1/", tokenCredentials);
var userOrgs = tokenGogsClient.User.GetOrganizationsAsync();

See the Gogs API documentation for more details on the available API endpoints.

About

A .NET client library for the Gogs API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%