Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 03-May-2022 | - | ||||
.github/workflows/ | H | 11-Aug-2021 | - | |||
examples/ | H | 11-Aug-2021 | - | |||
testdata/ | H | 11-Aug-2021 | - | |||
.gitignore | H A D | 11-Aug-2021 | 312 | |||
.golangci.yml | H A D | 11-Aug-2021 | 1.1 KiB | |||
LICENSE | H A D | 11-Aug-2021 | 11.1 KiB | |||
README.md | H A D | 11-Aug-2021 | 5.3 KiB | |||
access_requests.go | H A D | 11-Aug-2021 | 7.6 KiB | |||
access_requests_test.go | H A D | 11-Aug-2021 | 12.4 KiB | |||
applications.go | H A D | 11-Aug-2021 | 3.4 KiB | |||
applications_test.go | H A D | 11-Aug-2021 | 2.6 KiB | |||
audit_events.go | H A D | 11-Aug-2021 | 4.8 KiB | |||
avatar.go | H A D | 11-Aug-2021 | 1.9 KiB | |||
avatar_test.go | H A D | 11-Aug-2021 | 1.5 KiB | |||
award_emojis.go | H A D | 11-Aug-2021 | 17.1 KiB | |||
boards.go | H A D | 11-Aug-2021 | 9.9 KiB | |||
branches.go | H A D | 11-Aug-2021 | 7.3 KiB | |||
branches_test.go | H A D | 11-Aug-2021 | 2 KiB | |||
broadcast_messages.go | H A D | 11-Aug-2021 | 5.6 KiB | |||
broadcast_messages_test.go | H A D | 11-Aug-2021 | 6.2 KiB | |||
ci_yml_templates.go | H A D | 11-Aug-2021 | 2.5 KiB | |||
client_options.go | H A D | 11-Aug-2021 | 2.5 KiB | |||
commits.go | H A D | 11-Aug-2021 | 19.8 KiB | |||
commits_test.go | H A D | 11-Aug-2021 | 8.3 KiB | |||
container_registry.go | H A D | 11-Aug-2021 | 7.9 KiB | |||
custom_attributes.go | H A D | 11-Aug-2021 | 7.5 KiB | |||
custom_attributes_test.go | H A D | 11-Aug-2021 | 8.6 KiB | |||
deploy_keys.go | H A D | 11-Aug-2021 | 6.6 KiB | |||
deploy_tokens.go | H A D | 11-Aug-2021 | 7.3 KiB | |||
deploy_tokens_test.go | H A D | 11-Aug-2021 | 7.3 KiB | |||
deployments.go | H A D | 11-Aug-2021 | 6.8 KiB | |||
discussions.go | H A D | 11-Aug-2021 | 32.7 KiB | |||
environments.go | H A D | 11-Aug-2021 | 6.7 KiB | |||
environments_test.go | H A D | 11-Aug-2021 | 6.4 KiB | |||
epic_issues.go | H A D | 11-Aug-2021 | 4.4 KiB | |||
epics.go | H A D | 11-Aug-2021 | 9.5 KiB | |||
epics_test.go | H A D | 11-Aug-2021 | 4.3 KiB | |||
event_parsing.go | H A D | 11-Aug-2021 | 6.9 KiB | |||
event_parsing_systemhook_test.go | H A D | 11-Aug-2021 | 6.6 KiB | |||
event_parsing_webhook_test.go | H A D | 11-Aug-2021 | 12.5 KiB | |||
event_systemhook_types.go | H A D | 11-Aug-2021 | 4.8 KiB | |||
event_webhook_types.go | H A D | 11-Aug-2021 | 37.3 KiB | |||
event_webhook_types_test.go | H A D | 11-Aug-2021 | 11.2 KiB | |||
events.go | H A D | 11-Aug-2021 | 4.8 KiB | |||
feature_flags.go | H A D | 11-Aug-2021 | 2.4 KiB | |||
feature_flags_test.go | H A D | 11-Aug-2021 | 2.4 KiB | |||
fixtures_test.go | H A D | 11-Aug-2021 | 8 KiB | |||
freeze_periods.go | H A D | 11-Aug-2021 | 6 KiB | |||
gitignore_templates.go | H A D | 11-Aug-2021 | 2.5 KiB | |||
gitlab.go | H A D | 11-Aug-2021 | 25.7 KiB | |||
gitlab_test.go | H A D | 11-Aug-2021 | 4.7 KiB | |||
go.mod | H A D | 11-Aug-2021 | 510 | |||
go.sum | H A D | 11-Aug-2021 | 4 KiB | |||
group_badges.go | H A D | 11-Aug-2021 | 6.6 KiB | |||
group_boards.go | H A D | 11-Aug-2021 | 10 KiB | |||
group_clusters.go | H A D | 11-Aug-2021 | 7.7 KiB | |||
group_hooks.go | H A D | 11-Aug-2021 | 8.2 KiB | |||
group_hooks_test.go | H A D | 11-Aug-2021 | 7.4 KiB | |||
group_import_export.go | H A D | 11-Aug-2021 | 4.5 KiB | |||
group_import_export_test.go | H A D | 11-Aug-2021 | 2.1 KiB | |||
group_labels.go | H A D | 11-Aug-2021 | 6.9 KiB | |||
group_labels_test.go | H A D | 11-Aug-2021 | 5.7 KiB | |||
group_members.go | H A D | 11-Aug-2021 | 10.9 KiB | |||
group_members_test.go | H A D | 11-Aug-2021 | 5.2 KiB | |||
group_milestones.go | H A D | 11-Aug-2021 | 9.7 KiB | |||
group_variables.go | H A D | 11-Aug-2021 | 6.4 KiB | |||
group_variables_test.go | H A D | 11-Aug-2021 | 4.4 KiB | |||
group_wikis.go | H A D | 11-Aug-2021 | 5.8 KiB | |||
group_wikis_test.go | H A D | 11-Aug-2021 | 3.8 KiB | |||
groups.go | H A D | 11-Aug-2021 | 29.2 KiB | |||
groups_badges_test.go | H A D | 11-Aug-2021 | 4 KiB | |||
groups_test.go | H A D | 11-Aug-2021 | 9.5 KiB | |||
instance_clusters.go | H A D | 11-Aug-2021 | 4.5 KiB | |||
instance_variables.go | H A D | 11-Aug-2021 | 5.8 KiB | |||
invites.go | H A D | 11-Aug-2021 | 5.4 KiB | |||
invites_test.go | H A D | 11-Aug-2021 | 4.3 KiB | |||
issue_links.go | H A D | 11-Aug-2021 | 3.7 KiB | |||
issues.go | H A D | 11-Aug-2021 | 29.2 KiB | |||
issues_statistics.go | H A D | 11-Aug-2021 | 8 KiB | |||
issues_statistics_test.go | H A D | 11-Aug-2021 | 3.8 KiB | |||
issues_test.go | H A D | 11-Aug-2021 | 19.7 KiB | |||
jobs.go | H A D | 11-Aug-2021 | 14.6 KiB | |||
jobs_test.go | H A D | 11-Aug-2021 | 4.6 KiB | |||
keys.go | H A D | 11-Aug-2021 | 1.7 KiB | |||
keys_test.go | H A D | 11-Aug-2021 | 3.2 KiB | |||
labels.go | H A D | 11-Aug-2021 | 9 KiB | |||
labels_test.go | H A D | 11-Aug-2021 | 5.5 KiB | |||
license.go | H A D | 11-Aug-2021 | 3.3 KiB | |||
license_templates.go | H A D | 11-Aug-2021 | 3.4 KiB | |||
merge_request_approvals.go | H A D | 11-Aug-2021 | 14.9 KiB | |||
merge_request_approvals_test.go | H A D | 11-Aug-2021 | 11.1 KiB | |||
merge_requests.go | H A D | 11-Aug-2021 | 37.5 KiB | |||
merge_requests_test.go | H A D | 11-Aug-2021 | 9 KiB | |||
milestones.go | H A D | 11-Aug-2021 | 8.4 KiB | |||
namespaces.go | H A D | 11-Aug-2021 | 3.5 KiB | |||
notes.go | H A D | 11-Aug-2021 | 20.1 KiB | |||
notes_test.go | H A D | 11-Aug-2021 | 2.2 KiB | |||
notifications.go | H A D | 11-Aug-2021 | 8.3 KiB | |||
packages.go | H A D | 11-Aug-2021 | 4.9 KiB | |||
pages_domains.go | H A D | 11-Aug-2021 | 6.5 KiB | |||
pipeline_schedules.go | H A D | 11-Aug-2021 | 11.1 KiB | |||
pipeline_schedules_test.go | H A D | 11-Aug-2021 | 1.3 KiB | |||
pipeline_triggers.go | H A D | 11-Aug-2021 | 7.5 KiB | |||
pipeline_triggers_test.go | H A D | 11-Aug-2021 | 1.3 KiB | |||
pipelines.go | H A D | 11-Aug-2021 | 11.7 KiB | |||
pipelines_test.go | H A D | 11-Aug-2021 | 7.7 KiB | |||
project_access_tokens.go | H A D | 11-Aug-2021 | 4.5 KiB | |||
project_access_tokens_test.go | H A D | 11-Aug-2021 | 3.9 KiB | |||
project_badges.go | H A D | 11-Aug-2021 | 6.8 KiB | |||
project_clusters.go | H A D | 11-Aug-2021 | 8.6 KiB | |||
project_clusters_test.go | H A D | 11-Aug-2021 | 9.5 KiB | |||
project_import_export.go | H A D | 11-Aug-2021 | 6.5 KiB | |||
project_managed_licenses.go | H A D | 11-Aug-2021 | 5.6 KiB | |||
project_managed_licenses_test.go | H A D | 11-Aug-2021 | 4.5 KiB | |||
project_members.go | H A D | 11-Aug-2021 | 7.3 KiB | |||
project_mirror.go | H A D | 11-Aug-2021 | 5 KiB | |||
project_snippets.go | H A D | 11-Aug-2021 | 6.4 KiB | |||
project_variables.go | H A D | 11-Aug-2021 | 6.5 KiB | |||
projects.go | H A D | 11-Aug-2021 | 80.8 KiB | |||
projects_test.go | H A D | 11-Aug-2021 | 28.6 KiB | |||
protected_branches.go | H A D | 11-Aug-2021 | 8.2 KiB | |||
protected_branches_test.go | H A D | 11-Aug-2021 | 5.6 KiB | |||
protected_environments.go | H A D | 11-Aug-2021 | 6.1 KiB | |||
protected_environments_test.go | H A D | 11-Aug-2021 | 4.1 KiB | |||
protected_tags.go | H A D | 11-Aug-2021 | 4.9 KiB | |||
protected_tags_test.go | H A D | 11-Aug-2021 | 3.8 KiB | |||
releaselinks.go | H A D | 11-Aug-2021 | 6 KiB | |||
releaselinks_test.go | H A D | 11-Aug-2021 | 5.8 KiB | |||
releases.go | H A D | 11-Aug-2021 | 6.9 KiB | |||
releases_test.go | H A D | 11-Aug-2021 | 12 KiB | |||
repositories.go | H A D | 11-Aug-2021 | 9.3 KiB | |||
repository_files.go | H A D | 11-Aug-2021 | 11.6 KiB | |||
request_options.go | H A D | 11-Aug-2021 | 1.3 KiB | |||
resource_label_events.go | H A D | 11-Aug-2021 | 6.6 KiB | |||
resource_state_events.go | H A D | 11-Aug-2021 | 4.6 KiB | |||
runners.go | H A D | 11-Aug-2021 | 15.4 KiB | |||
runners_test.go | H A D | 11-Aug-2021 | 9.1 KiB | |||
search.go | H A D | 11-Aug-2021 | 13.5 KiB | |||
search_test.go | H A D | 11-Aug-2021 | 2.8 KiB | |||
services.go | H A D | 11-Aug-2021 | 50.6 KiB | |||
services_test.go | H A D | 11-Aug-2021 | 15.2 KiB | |||
settings.go | H A D | 11-Aug-2021 | 40.9 KiB | |||
settings_test.go | H A D | 11-Aug-2021 | 1.8 KiB | |||
sidekiq_metrics.go | H A D | 11-Aug-2021 | 4.6 KiB | |||
snippets.go | H A D | 11-Aug-2021 | 6.9 KiB | |||
strings.go | H A D | 11-Aug-2021 | 2 KiB | |||
system_hooks.go | H A D | 11-Aug-2021 | 4.4 KiB | |||
tags.go | H A D | 11-Aug-2021 | 7.2 KiB | |||
tags_test.go | H A D | 11-Aug-2021 | 2.8 KiB | |||
time_stats.go | H A D | 11-Aug-2021 | 5.2 KiB | |||
todos.go | H A D | 11-Aug-2021 | 6.2 KiB | |||
todos_test.go | H A D | 11-Aug-2021 | 1.9 KiB | |||
types.go | H A D | 11-Aug-2021 | 16.9 KiB | |||
types_test.go | H A D | 11-Aug-2021 | 1.7 KiB | |||
users.go | H A D | 11-Aug-2021 | 34.6 KiB | |||
users_test.go | H A D | 11-Aug-2021 | 8 KiB | |||
validate.go | H A D | 11-Aug-2021 | 4 KiB | |||
validate_test.go | H A D | 11-Aug-2021 | 5.4 KiB | |||
version.go | H A D | 11-Aug-2021 | 1.6 KiB | |||
version_test.go | H A D | 11-Aug-2021 | 1.2 KiB | |||
wikis.go | H A D | 11-Aug-2021 | 5.5 KiB |
README.md
1# go-gitlab 2 3A GitLab API client enabling Go programs to interact with GitLab in a simple and uniform way 4 5[![Build Status](https://github.com/xanzy/go-gitlab/workflows/Lint%20and%20Test/badge.svg)](https://github.com/xanzy/go-gitlab/actions?workflow=Lint%20and%20Test) 6[![Sourcegraph](https://sourcegraph.com/github.com/xanzy/go-gitlab/-/badge.svg)](https://sourcegraph.com/github.com/xanzy/go-gitlab?badge) 7[![GoDoc](https://godoc.org/github.com/xanzy/go-gitlab?status.svg)](https://godoc.org/github.com/xanzy/go-gitlab) 8[![Go Report Card](https://goreportcard.com/badge/github.com/xanzy/go-gitlab)](https://goreportcard.com/report/github.com/xanzy/go-gitlab) 9 10## NOTE 11 12Release v0.6.0 (released on 25-08-2017) no longer supports the older V3 Gitlab API. If 13you need V3 support, please use the `f-api-v3` branch. This release contains some backwards 14incompatible changes that were needed to fully support the V4 Gitlab API. 15 16## Coverage 17 18This API client package covers most of the existing Gitlab API calls and is updated regularly 19to add new and/or missing endpoints. Currently the following services are supported: 20 21- [x] Applications 22- [x] Award Emojis 23- [x] Branches 24- [x] Broadcast Messages 25- [x] Commits 26- [x] Container Registry 27- [x] Custom Attributes 28- [x] Deploy Keys 29- [x] Deployments 30- [ ] Discussions (threaded comments) 31- [x] Environments 32- [ ] Epic Issues 33- [ ] Epics 34- [x] Events 35- [x] Feature Flags 36- [ ] Geo Nodes 37- [x] GitLab CI Config Templates 38- [x] Gitignores Templates 39- [x] Group Access Requests 40- [x] Group Issue Boards 41- [x] Group Members 42- [x] Group Milestones 43- [x] Group Wikis 44- [x] Group-Level Variables 45- [x] Groups 46- [x] Instance Clusters 47- [x] Invites 48- [x] Issue Boards 49- [x] Issues 50- [x] Jobs 51- [x] Keys 52- [x] Labels 53- [x] License 54- [x] Merge Request Approvals 55- [x] Merge Requests 56- [x] Namespaces 57- [x] Notes (comments) 58- [x] Notification Settings 59- [x] Open Source License Templates 60- [x] Pages Domains 61- [x] Personal Access Tokens 62- [x] Pipeline Schedules 63- [x] Pipeline Triggers 64- [x] Pipelines 65- [x] Project Access Requests 66- [x] Project Badges 67- [x] Project Clusters 68- [x] Project Import/export 69- [x] Project Members 70- [x] Project Milestones 71- [x] Project Snippets 72- [x] Project-Level Variables 73- [x] Projects (including setting Webhooks) 74- [x] Protected Branches 75- [x] Protected Environments 76- [x] Protected Tags 77- [x] Repositories 78- [x] Repository Files 79- [x] Runners 80- [x] Search 81- [x] Services 82- [x] Settings 83- [x] Sidekiq Metrics 84- [x] System Hooks 85- [x] Tags 86- [x] Todos 87- [x] Users 88- [x] Validate CI Configuration 89- [x] Version 90- [x] Wikis 91 92## Usage 93 94```go 95import "github.com/xanzy/go-gitlab" 96``` 97 98Construct a new GitLab client, then use the various services on the client to 99access different parts of the GitLab API. For example, to list all 100users: 101 102```go 103git, err := gitlab.NewClient("yourtokengoeshere") 104if err != nil { 105 log.Fatalf("Failed to create client: %v", err) 106} 107users, _, err := git.Users.ListUsers(&gitlab.ListUsersOptions{}) 108``` 109 110There are a few `With...` option functions that can be used to customize 111the API client. For example, to set a custom base URL: 112 113```go 114git, err := gitlab.NewClient("yourtokengoeshere", gitlab.WithBaseURL("https://git.mydomain.com/api/v4")) 115if err != nil { 116 log.Fatalf("Failed to create client: %v", err) 117} 118users, _, err := git.Users.ListUsers(&gitlab.ListUsersOptions{}) 119``` 120 121Some API methods have optional parameters that can be passed. For example, 122to list all projects for user "svanharmelen": 123 124```go 125git := gitlab.NewClient("yourtokengoeshere") 126opt := &ListProjectsOptions{Search: gitlab.String("svanharmelen")} 127projects, _, err := git.Projects.ListProjects(opt) 128``` 129 130### Examples 131 132The [examples](https://github.com/xanzy/go-gitlab/tree/master/examples) directory 133contains a couple for clear examples, of which one is partially listed here as well: 134 135```go 136package main 137 138import ( 139 "log" 140 141 "github.com/xanzy/go-gitlab" 142) 143 144func main() { 145 git, err := gitlab.NewClient("yourtokengoeshere") 146 if err != nil { 147 log.Fatalf("Failed to create client: %v", err) 148 } 149 150 // Create new project 151 p := &gitlab.CreateProjectOptions{ 152 Name: gitlab.String("My Project"), 153 Description: gitlab.String("Just a test project to play with"), 154 MergeRequestsEnabled: gitlab.Bool(true), 155 SnippetsEnabled: gitlab.Bool(true), 156 Visibility: gitlab.Visibility(gitlab.PublicVisibility), 157 } 158 project, _, err := git.Projects.CreateProject(p) 159 if err != nil { 160 log.Fatal(err) 161 } 162 163 // Add a new snippet 164 s := &gitlab.CreateProjectSnippetOptions{ 165 Title: gitlab.String("Dummy Snippet"), 166 FileName: gitlab.String("snippet.go"), 167 Content: gitlab.String("package main...."), 168 Visibility: gitlab.Visibility(gitlab.PublicVisibility), 169 } 170 _, _, err = git.ProjectSnippets.CreateSnippet(project.ID, s) 171 if err != nil { 172 log.Fatal(err) 173 } 174} 175``` 176 177For complete usage of go-gitlab, see the full [package docs](https://godoc.org/github.com/xanzy/go-gitlab). 178 179## ToDo 180 181- The biggest thing this package still needs is tests :disappointed: 182 183## Issues 184 185- If you have an issue: report it on the [issue tracker](https://github.com/xanzy/go-gitlab/issues) 186 187## Author 188 189Sander van Harmelen (<sander@vanharmelen.nl>) 190 191## License 192 193Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at <http://www.apache.org/licenses/LICENSE-2.0> 194