GitLabApiClient is a .NET rest client for GitLab API v4 (https://docs.gitlab.com/ce/api/README.html).
- Targets .NET Standard 2.0.
- Fully async.
- Thread safe.
- Multi core paging.
- Simple and natural to use.
- Authenticate:
// if you have auth token:
var client = new GitLabClient("https://gitlab.example.com", "your_private_token");
// if you want to use username & password:
var client = new GitLabClient("https://gitlab.example.com");
await client.LoginAsync("username", "password");
- Use it:
// create a new issue.
await client.Issues.CreateAsync(new CreateIssueRequest("projectId", "issue title"));
// list issues for a project with specified assignee and labels.
await client.Issues.GetAsync("projectId", o => o.AssigneeId = 100 && o.Labels == new[] { "test-label" });
// create a new merge request featureBranch -> master.
await client.MergeRequests.CreateAsync(new CreateMergeRequest("projectId", "featureBranch", "master", "Merge request title")
{
Labels = new[] { "bugfix" },
Description = "Implement feature"
});