Skip to content
This repository has been archived by the owner on May 9, 2022. It is now read-only.

qayshp/GitLabApiClient

This branch is 11 commits ahead of, 165 commits behind nmklotas/GitLabApiClient:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

03d55ee · Apr 25, 2018

History

81 Commits
Apr 25, 2018
Apr 13, 2018
Apr 25, 2018
Sep 15, 2017
Sep 15, 2017
Nov 26, 2017
Nov 5, 2017
Sep 15, 2017
Sep 15, 2017
Sep 16, 2017
Apr 25, 2018
Sep 17, 2017
Oct 7, 2017
Nov 26, 2017

Repository files navigation

GitLabApiClient

This fork

Build status Build Status

Upstream

Build status Build Status NuGet

GitLabApiClient is a .NET rest client for GitLab API v4 (https://docs.gitlab.com/ce/api/README.html).

Main features

  1. Targets .NET Standard 2.0.
  2. Fully async.
  3. Thread safe.
  4. Multi core paging.
  5. Simple and natural to use.

Quick start

  1. 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");
  1. 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"
}); 

Currently supported GitLab APIs:

  1. Issues API:
    Create issue.
    Update issue.
    Query issues.

  2. Merges API:
    Create merge request.
    Update merge request.
    Accept merge request.
    Delete merge request.
    Query merge requests.

  3. Projects API: Create project.
    Update project.
    Delete project.
    Get project users.
    Query projects.

  4. Users API:
    Create user.
    Update user.
    Delete user.
    Get current user session.
    Query users.

  5. Groups API (contributed by @ilijamitkov):
    Create group.
    Get projects for a group.
    Transfer group.
    Update group.
    Delete group.
    Sync group with linked LDAP group.
    Create LDAP group link.
    Delete LDAP group link.
    Delete LDAP for a specific LDAP provider.
    Query groups.

About

GitLab API client

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 98.1%
  • PowerShell 1.2%
  • Shell 0.7%