{"id":19991501,"url":"https://github.com/nmklotas/GitLabApiClient","last_synced_at":"2025-05-04T10:31:54.196Z","repository":{"id":25309476,"uuid":"103703656","full_name":"nmklotas/GitLabApiClient","owner":"nmklotas","description":"GitLab API client","archived":false,"fork":false,"pushed_at":"2024-07-15T08:20:17.000Z","size":540,"stargazers_count":275,"open_issues_count":87,"forks_count":164,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-14T15:00:32.727Z","etag":null,"topics":["ci","client-library","gitlab","gitlab-ci","gitlab-cli","rest"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nmklotas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-15T21:39:11.000Z","updated_at":"2025-03-15T21:21:08.000Z","dependencies_parsed_at":"2025-02-07T04:00:54.643Z","dependency_job_id":"d6e789eb-c313-4550-984f-56edd2060919","html_url":"https://github.com/nmklotas/GitLabApiClient","commit_stats":null,"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmklotas%2FGitLabApiClient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmklotas%2FGitLabApiClient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmklotas%2FGitLabApiClient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmklotas%2FGitLabApiClient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nmklotas","download_url":"https://codeload.github.com/nmklotas/GitLabApiClient/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252320394,"owners_count":21729118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ci","client-library","gitlab","gitlab-ci","gitlab-cli","rest"],"created_at":"2024-11-13T04:51:47.323Z","updated_at":"2025-05-04T10:31:49.180Z","avatar_url":"https://github.com/nmklotas.png","language":"C#","readme":"# GitLabApiClient\n\n[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/nmklotas/GitLabApiClient/DotNet/master?logo=github)](https://github.com/nmklotas/GitLabApiClient/actions?query=workflow%3A%22DotNet%22+branch%3Amaster)\n[![NuGet](https://img.shields.io/nuget/v/GitLabApiClient.svg)](https://nuget.org/packages/GitLabApiClient)\n\nGitLabApiClient is a .NET rest client for [GitLab API v4](https://docs.gitlab.com/ce/api/README.html).\n\n## Main features\n\n- Targets .NET Standard 2.0\n- Fully async\n- Thread safe.\n- Multi core paging.\n- Simple and natural to use.\n- Handles URL encoding for you\n\n## Quick start\n\n### Authenticate\n\n```csharp\n// if you have auth token:\nvar client =  new GitLabClient(\"https://gitlab.example.com\", \"your_private_token\");\n```\n\n```csharp\n// if you want to use username \u0026 password:\nvar client =  new GitLabClient(\"https://gitlab.example.com\");\nawait client.LoginAsync(\"username\", \"password\");\n```\n\n### Use it\n\n```csharp\n// create a new issue.\nawait client.Issues.CreateAsync(\"group/project\", new CreateIssueRequest(\"issue title\"));\n\n// list issues for a project  with specified assignee and labels.\nawait client.Issues.GetAsync(\"group/project\", o =\u003e o.AssigneeId = 100 \u0026\u0026 o.Labels == new[] { \"test-label\" });\n\n// create a new merge request featureBranch -\u003e master.\nawait client.MergeRequests.CreateAsync(\"group/project\", new CreateMergeRequest(\"featureBranch\", \"master\", \"Merge request title\")\n{\n    Labels = new[] { \"bugfix\" },\n    Description = \"Implement feature\"\n});\n\n// get a list of projects and find each project's README.\nvar projects = await Client.Projects.GetAsync();\nforeach (var project in projects)\n{\n    var file = await Client.Files.GetAsync(project, filePath: \"README.md\", reference: project.DefaultBranch);\n    var readme = file.ContentDecoded;\n    // mad science goes here\n}\n```\n","funding_links":[],"categories":["C\\#"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmklotas%2FGitLabApiClient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnmklotas%2FGitLabApiClient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmklotas%2FGitLabApiClient/lists"}