Name: go-gitlab
Owner: Datadog, Inc.
Description: A GitLab API client enabling Go programs to interact with GitLab in a simple and uniform way
Forked from: xanzy/go-gitlab
Created: 2016-06-21 19:28:36.0
Updated: 2016-06-21 19:28:37.0
Pushed: 2016-12-28 19:22:40.0
Homepage: null
Size: 183
Language: Go
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
A GitLab API client enabling Go programs to interact with GitLab in a simple and uniform way
This API client package covers 100% of the existing GitLab API calls! So this includes all calls to the following services:
rt "github.com/xanzy/go-gitlab"
Construct a new GitLab client, then use the various services on the client to access different parts of the GitLab API. For example, to list all users:
:= gitlab.NewClient(nil, "yourtokengoeshere")
t.SetBaseURL("https://git.mydomain.com/api/v3")
s, _, err := git.Users.ListUsers()
Some API methods have optional parameters that can be passed. For example, to list all projects for user “svanharmelen”:
:= gitlab.NewClient(nil)
:= &ListProjectsOptions{Search: "svanharmelen"})
ects, _, err := git.Projects.ListProjects(opt)
The examples directory contains a couple for clear examples, of which one is partially listed here as well:
age main
rt (
"log"
"github.com/xanzy/go-gitlab"
main() {
git := gitlab.NewClient(nil, "yourtokengoeshere")
// Create new project
p := &gitlab.CreateProjectOptions{
Name: "My Project",
Description: "Just a test project to play with",
MergeRequestsEnabled: true,
SnippetsEnabled: true,
VisibilityLevel: gitlab.PublicVisibility,
}
project, _, err := git.Projects.CreateProject(p)
if err != nil {
log.Fatal(err)
}
// Add a new snippet
s := &gitlab.CreateSnippetOptions{
Title: "Dummy Snippet",
FileName: "snippet.go",
Code: "package main....",
VisibilityLevel: gitlab.PublicVisibility,
}
_, _, err = git.ProjectSnippets.CreateSnippet(project.ID, s)
if err != nil {
log.Fatal(err)
}
For complete usage of go-gitlab, see the full package docs.
Sander van Harmelen (sander@xanzy.io)
Licensed 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