Skip to content

Repository files navigation

GitLabApiClient

Build statusBuild StatusNuGet
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:varclient=newGitLabClient("https://gitlab.example.com","your_private_token");
// if you want to use username & password:varclient=newGitLabClient("https://gitlab.example.com");awaitclient.LoginAsync("username","password");
  1. Use it:
// create a new issue.awaitclient.Issues.CreateAsync(newCreateIssueRequest("projectId","issue title"));// list issues for a project with specified assignee and labels.awaitclient.Issues.GetAsync("projectId", o =>o.AssigneeId=100&&o.Labels==new[]{"test-label"});// create a new merge request featureBranch -> master.awaitclient.MergeRequests.CreateAsync(newCreateMergeRequest("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

Stars

0 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages