Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
G
go-gitlab
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
go
go-gitlab
Commits
df6c9365
Commit
df6c9365
authored
May 18, 2017
by
Sander van Harmelen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update `VisibilityLevel` to just `Visibility` (#176)
parent
0d95cf7f
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
313 additions
and
301 deletions
+313
-301
README.md
README.md
+2
-2
events.go
events.go
+140
-140
projects.go
examples/projects.go
+5
-5
gitlab.go
gitlab.go
+8
-8
groups.go
groups.go
+19
-19
project_snippets.go
project_snippets.go
+8
-8
projects.go
projects.go
+93
-81
projects_test.go
projects_test.go
+3
-3
settings.go
settings.go
+35
-35
No files found.
README.md
View file @
df6c9365
...
...
@@ -87,7 +87,7 @@ func main() {
Description
:
gitlab
.
String
(
"Just a test project to play with"
),
MergeRequestsEnabled
:
gitlab
.
Bool
(
true
),
SnippetsEnabled
:
gitlab
.
Bool
(
true
),
Visibility
Level
:
gitlab
.
VisibilityLevel
(
gitlab
.
PublicVisibility
),
Visibility
:
gitlab
.
VisibilityLevel
(
gitlab
.
PublicVisibility
),
}
project
,
_
,
err
:=
git
.
Projects
.
CreateProject
(
p
)
if
err
!=
nil
{
...
...
@@ -99,7 +99,7 @@ func main() {
Title
:
gitlab
.
String
(
"Dummy Snippet"
),
FileName
:
gitlab
.
String
(
"snippet.go"
),
Code
:
gitlab
.
String
(
"package main...."
),
Visibility
Level
:
gitlab
.
VisibilityLevel
(
gitlab
.
PublicVisibility
),
Visibility
:
gitlab
.
VisibilityLevel
(
gitlab
.
PublicVisibility
),
}
_
,
_
,
err
=
git
.
ProjectSnippets
.
CreateSnippet
(
project
.
ID
,
s
)
if
err
!=
nil
{
...
...
events.go
View file @
df6c9365
...
...
@@ -34,20 +34,20 @@ type PushEvent struct {
UserAvatar
string
`json:"user_avatar"`
ProjectID
int
`json:"project_id"`
Project
struct
{
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Level
VisibilityLevel
Value
`json:"visibility"`
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Visibility
Value
`json:"visibility"`
}
`json:"project"`
Repository
*
Repository
`json:"repository"`
Commits
[]
*
Commit
`json:"commits"`
...
...
@@ -69,20 +69,20 @@ type TagEvent struct {
UserAvatar
string
`json:"user_avatar"`
ProjectID
int
`json:"project_id"`
Project
struct
{
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Level
VisibilityLevel
Value
`json:"visibility"`
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Visibility
Value
`json:"visibility"`
}
`json:"project"`
Repository
*
Repository
`json:"repository"`
Commits
[]
*
Commit
`json:"commits"`
...
...
@@ -97,20 +97,20 @@ type IssueEvent struct {
ObjectKind
string
`json:"object_kind"`
User
*
User
`json:"user"`
Project
struct
{
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Level
VisibilityLevel
Value
`json:"visibility"`
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Visibility
Value
`json:"visibility"`
}
`json:"project"`
Repository
*
Repository
`json:"repository"`
ObjectAttributes
struct
{
...
...
@@ -146,20 +146,20 @@ type CommitCommentEvent struct {
User
*
User
`json:"user"`
ProjectID
int
`json:"project_id"`
Project
struct
{
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Level
VisibilityLevel
Value
`json:"visibility"`
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Visibility
Value
`json:"visibility"`
}
`json:"project"`
Repository
*
Repository
`json:"repository"`
ObjectAttributes
struct
{
...
...
@@ -198,20 +198,20 @@ type MergeCommentEvent struct {
User
*
User
`json:"user"`
ProjectID
int
`json:"project_id"`
Project
struct
{
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Level
VisibilityLevel
Value
`json:"visibility"`
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Visibility
Value
`json:"visibility"`
}
`json:"project"`
Repository
*
Repository
`json:"repository"`
ObjectAttributes
struct
{
...
...
@@ -242,20 +242,20 @@ type IssueCommentEvent struct {
User
*
User
`json:"user"`
ProjectID
int
`json:"project_id"`
Project
struct
{
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Level
VisibilityLevel
Value
`json:"visibility"`
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Visibility
Value
`json:"visibility"`
}
`json:"project"`
Repository
*
Repository
`json:"repository"`
ObjectAttributes
struct
{
...
...
@@ -286,20 +286,20 @@ type SnippetCommentEvent struct {
User
*
User
`json:"user"`
ProjectID
int
`json:"project_id"`
Project
struct
{
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Level
VisibilityLevel
Value
`json:"visibility"`
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Visibility
Value
`json:"visibility"`
}
`json:"project"`
Repository
*
Repository
`json:"repository"`
ObjectAttributes
struct
{
...
...
@@ -329,20 +329,20 @@ type MergeEvent struct {
ObjectKind
string
`json:"object_kind"`
User
*
User
`json:"user"`
Project
struct
{
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Level
VisibilityLevel
Value
`json:"visibility"`
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Visibility
Value
`json:"visibility"`
}
`json:"project"`
ObjectAttributes
struct
{
ID
int
`json:"id"`
...
...
@@ -412,20 +412,20 @@ type WikiPageEvent struct {
ObjectKind
string
`json:"object_kind"`
User
*
User
`json:"user"`
Project
struct
{
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Level
VisibilityLevel
Value
`json:"visibility"`
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Visibility
Value
`json:"visibility"`
}
`json:"project"`
Wiki
struct
{
WebURL
string
`json:"web_url"`
...
...
@@ -469,20 +469,20 @@ type PipelineEvent struct {
AvatarURL
string
`json:"avatar_url"`
}
`json:"user"`
Project
struct
{
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Level
VisibilityLevel
Value
`json:"visibility"`
Name
string
`json:"name"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
WebURL
string
`json:"web_url"`
Visibility
Visibility
Value
`json:"visibility"`
}
`json:"project"`
Commit
struct
{
ID
string
`json:"id"`
...
...
examples/projects.go
View file @
df6c9365
...
...
@@ -15,7 +15,7 @@ func projectExample() {
Description
:
gitlab
.
String
(
"Just a test project to play with"
),
MergeRequestsEnabled
:
gitlab
.
Bool
(
true
),
SnippetsEnabled
:
gitlab
.
Bool
(
true
),
Visibility
Level
:
gitlab
.
VisibilityLevel
(
gitlab
.
PublicVisibility
),
Visibility
:
gitlab
.
Visibility
(
gitlab
.
PublicVisibility
),
}
project
,
_
,
err
:=
git
.
Projects
.
CreateProject
(
p
)
if
err
!=
nil
{
...
...
@@ -24,10 +24,10 @@ func projectExample() {
// Add a new snippet
s
:=
&
gitlab
.
CreateSnippetOptions
{
Title
:
gitlab
.
String
(
"Dummy Snippet"
),
FileName
:
gitlab
.
String
(
"snippet.go"
),
Code
:
gitlab
.
String
(
"package main...."
),
Visibility
Level
:
gitlab
.
VisibilityLevel
(
gitlab
.
PublicVisibility
),
Title
:
gitlab
.
String
(
"Dummy Snippet"
),
FileName
:
gitlab
.
String
(
"snippet.go"
),
Code
:
gitlab
.
String
(
"package main...."
),
Visibility
:
gitlab
.
Visibility
(
gitlab
.
PublicVisibility
),
}
_
,
_
,
err
=
git
.
ProjectSnippets
.
CreateSnippet
(
project
.
ID
,
s
)
if
err
!=
nil
{
...
...
gitlab.go
View file @
df6c9365
...
...
@@ -127,18 +127,18 @@ var notificationLevelTypes = map[string]NotificationLevelValue{
"custom"
:
CustomNotificationLevel
,
}
// Visibility
Level
Value represents a visibility level within GitLab.
// VisibilityValue represents a visibility level within GitLab.
//
// GitLab API docs: https://docs.gitlab.com/ce/api/
type
Visibility
Level
Value
string
type
VisibilityValue
string
// List of available visibility levels
//
// GitLab API docs: https://docs.gitlab.com/ce/api/
const
(
PrivateVisibility
Visibility
Level
Value
=
"private"
InternalVisibility
Visibility
Level
Value
=
"internal"
PublicVisibility
Visibility
Level
Value
=
"public"
PrivateVisibility
VisibilityValue
=
"private"
InternalVisibility
VisibilityValue
=
"internal"
PublicVisibility
VisibilityValue
=
"public"
)
// A Client manages communication with the GitLab API.
...
...
@@ -602,10 +602,10 @@ func NotificationLevel(v NotificationLevelValue) *NotificationLevelValue {
return
p
}
// Visibility
Level is a helper routine that allocates a new VisibilityLevel
Value
// Visibility
is a helper routine that allocates a new Visibility
Value
// to store v and returns a pointer to it.
func
Visibility
Level
(
v
VisibilityLevelValue
)
*
VisibilityLevel
Value
{
p
:=
new
(
Visibility
Level
Value
)
func
Visibility
(
v
VisibilityValue
)
*
Visibility
Value
{
p
:=
new
(
VisibilityValue
)
*
p
=
v
return
p
}
groups.go
View file @
df6c9365
...
...
@@ -34,19 +34,19 @@ type GroupsService struct {
//
// GitLab API docs: https://docs.gitlab.com/ce/api/groups.html
type
Group
struct
{
ID
int
`json:"id"`
Name
string
`json:"name"`
Path
string
`json:"path"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
FullName
string
`json:"full_name"`
FullPath
string
`json:"full_path"`
LFSEnabled
bool
`json:"lfs_enabled"`
Projects
[]
*
Project
`json:"projects"`
Statistics
*
StorageStatistics
`json:"statistics"`
RequestAccessEnabled
bool
`json:"request_access_enabled"`
Visibility
*
Visibility
LevelValue
`json:"visibility"`
WebURL
string
`json:"web_url"`
ID
int
`json:"id"`
Name
string
`json:"name"`
Path
string
`json:"path"`
Description
string
`json:"description"`
AvatarURL
string
`json:"avatar_url"`
FullName
string
`json:"full_name"`
FullPath
string
`json:"full_path"`
LFSEnabled
bool
`json:"lfs_enabled"`
Projects
[]
*
Project
`json:"projects"`
Statistics
*
StorageStatistics
`json:"statistics"`
RequestAccessEnabled
bool
`json:"request_access_enabled"`
Visibility
*
Visibility
Value
`json:"visibility"`
WebURL
string
`json:"web_url"`
}
// ListGroupsOptions represents the available ListGroups() options.
...
...
@@ -109,12 +109,12 @@ func (s *GroupsService) GetGroup(gid interface{}, options ...OptionFunc) (*Group
//
// GitLab API docs: https://docs.gitlab.com/ce/api/groups.html#new-group
type
CreateGroupOptions
struct
{
Name
*
string
`url:"name,omitempty" json:"name,omitempty"`
Path
*
string
`url:"path,omitempty" json:"path,omitempty"`
Description
*
string
`url:"description,omitempty" json:"description,omitempty"`
LFSEnabled
*
bool
`url:"lfs_enabled,omitempty" json:"lfs_enabled,omitempty"`
RequestAccessEnabled
*
bool
`url:"request_access_enabled,omitempty" json:"request_access_enabled,omitempty"`
Visibility
Level
*
VisibilityLevel
Value
`url:"visibility,omitempty" json:"visibility,omitempty"`
Name
*
string
`url:"name,omitempty" json:"name,omitempty"`
Path
*
string
`url:"path,omitempty" json:"path,omitempty"`
Description
*
string
`url:"description,omitempty" json:"description,omitempty"`
LFSEnabled
*
bool
`url:"lfs_enabled,omitempty" json:"lfs_enabled,omitempty"`
RequestAccessEnabled
*
bool
`url:"request_access_enabled,omitempty" json:"request_access_enabled,omitempty"`
Visibility
*
Visibility
Value
`url:"visibility,omitempty" json:"visibility,omitempty"`
}
// CreateGroup creates a new project group. Available only for users who can
...
...
project_snippets.go
View file @
df6c9365
...
...
@@ -119,10 +119,10 @@ func (s *ProjectSnippetsService) GetSnippet(pid interface{}, snippet int, option
// GitLab API docs:
// https://gitlab.com/gitlab-org/gitlab-ce/blob/8-16-stable/doc/api/project_snippets.md#create-new-snippet
type
CreateSnippetOptions
struct
{
Title
*
string
`url:"title,omitempty" json:"title,omitempty"`
FileName
*
string
`url:"file_name,omitempty" json:"file_name,omitempty"`
Code
*
string
`url:"code,omitempty" json:"code,omitempty"`
Visibility
Level
*
VisibilityLevel
Value
`url:"visibility,omitempty" json:"visibility,omitempty"`
Title
*
string
`url:"title,omitempty" json:"title,omitempty"`
FileName
*
string
`url:"file_name,omitempty" json:"file_name,omitempty"`
Code
*
string
`url:"code,omitempty" json:"code,omitempty"`
Visibility
*
Visibility
Value
`url:"visibility,omitempty" json:"visibility,omitempty"`
}
// CreateSnippet creates a new project snippet. The user must have permission
...
...
@@ -156,10 +156,10 @@ func (s *ProjectSnippetsService) CreateSnippet(pid interface{}, opt *CreateSnipp
// GitLab API docs:
// https://gitlab.com/gitlab-org/gitlab-ce/blob/8-16-stable/doc/api/project_snippets.md#update-snippet
type
UpdateSnippetOptions
struct
{
Title
*
string
`url:"title,omitempty" json:"title,omitempty"`
FileName
*
string
`url:"file_name,omitempty" json:"file_name,omitempty"`
Code
*
string
`url:"code,omitempty" json:"code,omitempty"`
Visibility
Level
*
VisibilityLevel
Value
`url:"visibility,omitempty" json:"visibility,omitempty"`
Title
*
string
`url:"title,omitempty" json:"title,omitempty"`
FileName
*
string
`url:"file_name,omitempty" json:"file_name,omitempty"`
Code
*
string
`url:"code,omitempty" json:"code,omitempty"`
Visibility
*
Visibility
Value
`url:"visibility,omitempty" json:"visibility,omitempty"`
}
// UpdateSnippet updates an existing project snippet. The user must have
...
...
projects.go
View file @
df6c9365
...
...
@@ -34,44 +34,45 @@ type ProjectsService struct {
//
// GitLab API docs: https://docs.gitlab.com/ce/api/projects.html
type
Project
struct
{
ID
int
`json:"id"`
Description
string
`json:"description"`
DefaultBranch
string
`json:"default_branch"`
Public
bool
`json:"public"`
VisibilityLevel
VisibilityLevelValue
`json:"visibility"`
SSHURLToRepo
string
`json:"ssh_url_to_repo"`
HTTPURLToRepo
string
`json:"http_url_to_repo"`
WebURL
string
`json:"web_url"`
TagList
[]
string
`json:"tag_list"`
Owner
*
User
`json:"owner"`
Name
string
`json:"name"`
NameWithNamespace
string
`json:"name_with_namespace"`
Path
string
`json:"path"`
PathWithNamespace
string
`json:"path_with_namespace"`
IssuesEnabled
bool
`json:"issues_enabled"`
OpenIssuesCount
int
`json:"open_issues_count"`
MergeRequestsEnabled
bool
`json:"merge_requests_enabled"`
ApprovalsBeforeMerge
int
`json:"approvals_before_merge"`
BuildsEnabled
bool
`json:"builds_enabled"`
WikiEnabled
bool
`json:"wiki_enabled"`
SnippetsEnabled
bool
`json:"snippets_enabled"`
ContainerRegistryEnabled
bool
`json:"container_registry_enabled"`
CreatedAt
*
time
.
Time
`json:"created_at,omitempty"`
LastActivityAt
*
time
.
Time
`json:"last_activity_at,omitempty"`
CreatorID
int
`json:"creator_id"`
Namespace
*
ProjectNamespace
`json:"namespace"`
Permissions
*
Permissions
`json:"permissions"`
Archived
bool
`json:"archived"`
AvatarURL
string
`json:"avatar_url"`
SharedRunnersEnabled
bool
`json:"shared_runners_enabled"`
ForksCount
int
`json:"forks_count"`
StarCount
int
`json:"star_count"`
RunnersToken
string
`json:"runners_token"`
PublicBuilds
bool
`json:"public_builds"`
OnlyAllowMergeIfBuildSucceeds
bool
`json:"only_allow_merge_if_build_succeeds"`
OnlyAllowMergeIfAllDiscussionsAreResolved
bool
`json:"only_allow_merge_if_all_discussions_are_resolved"`
LFSEnabled
bool
`json:"lfs_enabled"`
RequestAccessEnabled
bool
`json:"request_access_enabled"`
ID
int
`json:"id"`
Description
string
`json:"description"`
DefaultBranch
string
`json:"default_branch"`
Public
bool
`json:"public"`
Visibility
VisibilityValue
`json:"visibility"`
SSHURLToRepo
string
`json:"ssh_url_to_repo"`
HTTPURLToRepo
string
`json:"http_url_to_repo"`
WebURL
string
`json:"web_url"`
TagList
[]
string
`json:"tag_list"`
Owner
*
User
`json:"owner"`
Name
string
`json:"name"`
NameWithNamespace
string
`json:"name_with_namespace"`
Path
string
`json:"path"`
PathWithNamespace
string
`json:"path_with_namespace"`
IssuesEnabled
bool
`json:"issues_enabled"`
OpenIssuesCount
int
`json:"open_issues_count"`
MergeRequestsEnabled
bool
`json:"merge_requests_enabled"`
ApprovalsBeforeMerge
int
`json:"approvals_before_merge"`
BuildsEnabled
bool
`json:"builds_enabled"`
WikiEnabled
bool
`json:"wiki_enabled"`
SnippetsEnabled
bool
`json:"snippets_enabled"`
ContainerRegistryEnabled
bool
`json:"container_registry_enabled"`
CreatedAt
*
time
.
Time
`json:"created_at,omitempty"`
LastActivityAt
*
time
.
Time
`json:"last_activity_at,omitempty"`
CreatorID
int
`json:"creator_id"`
Namespace
*
ProjectNamespace
`json:"namespace"`
Permissions
*
Permissions
`json:"permissions"`
Archived
bool
`json:"archived"`
AvatarURL
string
`json:"avatar_url"`
SharedRunnersEnabled
bool
`json:"shared_runners_enabled"`
ForksCount
int
`json:"forks_count"`
StarCount
int
`json:"star_count"`
RunnersToken
string
`json:"runners_token"`
PublicBuilds
bool
`json:"public_builds"`
OnlyAllowMergeIfBuildSucceeds
bool
`json:"only_allow_merge_if_build_succeeds"`
OnlyAllowMergeIfAllDiscussionsAreResolved
bool
`json:"only_allow_merge_if_all_discussions_are_resolved"`
LFSEnabled
bool
`json:"lfs_enabled"`
RequestAccessEnabled
bool
`json:"request_access_enabled"`
ForkedFromProject
*
ForkParent
`json:"forked_from_project"`
SharedWithGroups
[]
struct
{
GroupID
int
`json:"group_id"`
GroupName
string
`json:"group_name"`
...
...
@@ -82,20 +83,20 @@ type Project struct {
// Repository represents a repository.
type
Repository
struct
{
Name
string
`json:"name"`
Description
string
`json:"description"`
WebURL
string
`json:"web_url"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
Visibility
Level
VisibilityLevel
Value
`json:"visibility"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
Name
string
`json:"name"`
Description
string
`json:"description"`
WebURL
string
`json:"web_url"`
AvatarURL
string
`json:"avatar_url"`
GitSSHURL
string
`json:"git_ssh_url"`
GitHTTPURL
string
`json:"git_http_url"`
Namespace
string
`json:"namespace"`
Visibility
Visibility
Value
`json:"visibility"`
PathWithNamespace
string
`json:"path_with_namespace"`
DefaultBranch
string
`json:"default_branch"`
Homepage
string
`json:"homepage"`
URL
string
`json:"url"`
SSHURL
string
`json:"ssh_url"`
HTTPURL
string
`json:"http_url"`
}
// ProjectNamespace represents a project namespace.
...
...
@@ -141,6 +142,17 @@ type GroupAccess struct {
NotificationLevel
NotificationLevelValue
`json:"notification_level"`
}
// ForkParent represents the parent project when this is a fork.
type
ForkParent
struct
{
HTTPURLToRepo
string
`json:"http_url_to_repo"`
ID
int
`json:"id"`
Name
string
`json:"name"`
NameWithNamespace
string
`json:"name_with_namespace"`
Path
string
`json:"path"`
PathWithNamespace
string
`json:"path_with_namespace"`
WebURL
string
`json:"web_url"`
}
func
(
s
Project
)
String
()
string
{
return
Stringify
(
s
)
}
...
...
@@ -150,16 +162,16 @@ func (s Project) String() string {
// GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#list-projects
type
ListProjectsOptions
struct
{
ListOptions
Archived
*
bool
`url:"archived,omitempty" json:"archived,omitempty"`
OrderBy
*
string
`url:"order_by,omitempty" json:"order_by,omitempty"`
Sort
*
string
`url:"sort,omitempty" json:"sort,omitempty"`
Search
*
string
`url:"search,omitempty" json:"search,omitempty"`
Simple
*
bool
`url:"simple,omitempty" json:"simple,omitempty"`
Owned
*
bool
`url:"owned,omitempty" json:"owned,omitempty"`
Membership
*
bool
`url:"membership,omitempty" json:"membership,omitempty"`
Starred
*
bool
`url:"starred,omitempty" json:"starred,omitempty"`
Statistics
*
bool
`url:"statistics,omitempty" json:"statistics,omitempty"`
Visibility
*
Visibility
Level
Value
`url:"visibility,omitempty" json:"visibility,omitempty"`
Archived
*
bool
`url:"archived,omitempty" json:"archived,omitempty"`
OrderBy
*
string
`url:"order_by,omitempty" json:"order_by,omitempty"`
Sort
*
string
`url:"sort,omitempty" json:"sort,omitempty"`
Search
*
string
`url:"search,omitempty" json:"search,omitempty"`
Simple
*
bool
`url:"simple,omitempty" json:"simple,omitempty"`
Owned
*
bool
`url:"owned,omitempty" json:"owned,omitempty"`
Membership
*
bool
`url:"membership,omitempty" json:"membership,omitempty"`
Starred
*
bool
`url:"starred,omitempty" json:"starred,omitempty"`
Statistics
*
bool
`url:"statistics,omitempty" json:"statistics,omitempty"`
Visibility
*
VisibilityValue
`url:"visibility,omitempty" json:"visibility,omitempty"`
}
// ListProjects gets a list of projects accessible by the authenticated user.
...
...
@@ -273,25 +285,25 @@ func (s *ProjectsService) GetProjectEvents(pid interface{}, opt *GetProjectEvent
//
// GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#create-project
type
CreateProjectOptions
struct
{
Name
*
string
`url:"name,omitempty" json:"name,omitempty"`
Path
*
string
`url:"path,omitempty" json:"path,omitempty"`
DefaultBranch
*
string
`url:"default_branch,omitempty" json:"default_branch,omitempty"`
NamespaceID
*
int
`url:"namespace_id,omitempty" json:"namespace_id,omitempty"`
Description
*
string
`url:"description,omitempty" json:"description,omitempty"`
IssuesEnabled
*
bool
`url:"issues_enabled,omitempty" json:"issues_enabled,omitempty"`
MergeRequestsEnabled
*
bool
`url:"merge_requests_enabled,omitempty" json:"merge_requests_enabled,omitempty"`
JobsEnabled
*
bool
`url:"jobs_enabled,omitempty" json:"jobs_enabled,omitempty"`
WikiEnabled
*
bool
`url:"wiki_enabled,omitempty" json:"wiki_enabled,omitempty"`
SnippetsEnabled
*
bool
`url:"snippets_enabled,omitempty" json:"snippets_enabled,omitempty"`
ContainerRegistryEnabled
*
bool
`url:"container_registry_enabled,omitempty" json:"container_registry_enabled,omitempty"`
SharedRunnersEnabled
*
bool
`url:"shared_runners_enabled,omitempty" json:"shared_runners_enabled,omitempty"`
Visibility
*
Visibility
Level
Value
`url:"visibility,omitempty" json:"visibility,omitempty"`
ImportURL
*
string
`url:"import_url,omitempty" json:"import_url,omitempty"`
PublicJobs
*
bool
`url:"public_jobs,omitempty" json:"public_jobs,omitempty"`
OnlyAllowMergeIfPipelineSucceeds
*
bool
`url:"only_allow_merge_if_pipeline_succeeds,omitempty" json:"only_allow_merge_if_pipeline_succeeds,omitempty"`
OnlyAllowMergeIfAllDiscussionsAreResolved
*
bool
`url:"only_allow_merge_if_all_discussions_are_resolved,omitempty" json:"only_allow_merge_if_all_discussions_are_resolved,omitempty"`
LFSEnabled
*
bool
`url:"lfs_enabled,omitempty" json:"lfs_enabled,omitempty"`
RequestAccessEnabled
*
bool
`url:"request_access_enabled,omitempty" json:"request_access_enabled,omitempty"`
Name
*
string
`url:"name,omitempty" json:"name,omitempty"`
Path
*
string
`url:"path,omitempty" json:"path,omitempty"`
DefaultBranch
*
string
`url:"default_branch,omitempty" json:"default_branch,omitempty"`
NamespaceID
*
int
`url:"namespace_id,omitempty" json:"namespace_id,omitempty"`
Description
*
string
`url:"description,omitempty" json:"description,omitempty"`
IssuesEnabled
*
bool
`url:"issues_enabled,omitempty" json:"issues_enabled,omitempty"`
MergeRequestsEnabled
*
bool
`url:"merge_requests_enabled,omitempty" json:"merge_requests_enabled,omitempty"`
JobsEnabled
*
bool
`url:"jobs_enabled,omitempty" json:"jobs_enabled,omitempty"`
WikiEnabled
*
bool
`url:"wiki_enabled,omitempty" json:"wiki_enabled,omitempty"`
SnippetsEnabled
*
bool
`url:"snippets_enabled,omitempty" json:"snippets_enabled,omitempty"`
ContainerRegistryEnabled
*
bool
`url:"container_registry_enabled,omitempty" json:"container_registry_enabled,omitempty"`
SharedRunnersEnabled
*
bool
`url:"shared_runners_enabled,omitempty" json:"shared_runners_enabled,omitempty"`
Visibility
*
VisibilityValue
`url:"visibility,omitempty" json:"visibility,omitempty"`
ImportURL
*
string
`url:"import_url,omitempty" json:"import_url,omitempty"`
PublicJobs
*
bool
`url:"public_jobs,omitempty" json:"public_jobs,omitempty"`
OnlyAllowMergeIfPipelineSucceeds
*
bool
`url:"only_allow_merge_if_pipeline_succeeds,omitempty" json:"only_allow_merge_if_pipeline_succeeds,omitempty"`
OnlyAllowMergeIfAllDiscussionsAreResolved
*
bool
`url:"only_allow_merge_if_all_discussions_are_resolved,omitempty" json:"only_allow_merge_if_all_discussions_are_resolved,omitempty"`
LFSEnabled
*
bool
`url:"lfs_enabled,omitempty" json:"lfs_enabled,omitempty"`
RequestAccessEnabled
*
bool
`url:"request_access_enabled,omitempty" json:"request_access_enabled,omitempty"`
}
// CreateProject creates a new project owned by the authenticated user.
...
...
projects_test.go
View file @
df6c9365
...
...
@@ -33,7 +33,7 @@ func TestListProjects(t *testing.T) {
Sort
:
String
(
"asc"
),
Search
:
String
(
"query"
),
Simple
:
Bool
(
true
),
Visibility
:
Visibility
Level
(
PublicVisibility
),
Visibility
:
Visibility
(
PublicVisibility
),
}
projects
,
_
,
err
:=
client
.
Projects
.
ListProjects
(
opt
)
...
...
@@ -75,7 +75,7 @@ func TestListOwnedProjects(t *testing.T) {
Search
:
String
(
"query"
),
Simple
:
Bool
(
true
),
Owned
:
Bool
(
true
),
Visibility
:
Visibility
Level
(
PublicVisibility
),
Visibility
:
Visibility
(
PublicVisibility
),
}
projects
,
_
,
err
:=
client
.
Projects
.
ListProjects
(
opt
)
...
...
@@ -117,7 +117,7 @@ func TestListStarredProjects(t *testing.T) {
Search
:
String
(
"query"
),
Simple
:
Bool
(
true
),
Starred
:
Bool
(
true
),
Visibility
:
Visibility
Level
(
PublicVisibility
),
Visibility
:
Visibility
(
PublicVisibility
),
}
projects
,
_
,
err
:=
client
.
Projects
.
ListProjects
(
opt
)
...
...
settings.go
View file @
df6c9365
...
...
@@ -32,25 +32,25 @@ type SettingsService struct {
// GitLab API docs:
// https://gitlab.com/gitlab-org/gitlab-ce/blob/8-16-stable/doc/api/settings.md
type
Settings
struct
{
ID
int
`json:"id"`
DefaultProjectsLimit
int
`json:"default_projects_limit"`
SignupEnabled
bool
`json:"signup_enabled"`
SigninEnabled
bool
`json:"signin_enabled"`
GravatarEnabled
bool
`json:"gravatar_enabled"`
SignInText
string
`json:"sign_in_text"`
CreatedAt
*
time
.
Time
`json:"created_at"`
UpdatedAt
*
time
.
Time
`json:"updated_at"`
HomePageURL
string
`json:"home_page_url"`
DefaultBranchProtection
int
`json:"default_branch_protection"`
TwitterSharingEnabled
bool
`json:"twitter_sharing_enabled"`
RestrictedVisibilityLevels
[]
Visibility
Level
Value
`json:"restricted_visibility_levels"`
MaxAttachmentSize
int
`json:"max_attachment_size"`
SessionExpireDelay
int
`json:"session_expire_delay"`
DefaultProjectVisibility
int
`json:"default_project_visibility"`
DefaultSnippetVisibility
int
`json:"default_snippet_visibility"`
RestrictedSignupDomains
[]
string
`json:"restricted_signup_domains"`
UserOauthApplications
bool
`json:"user_oauth_applications"`
AfterSignOutPath
string
`json:"after_sign_out_path"`
ID
int
`json:"id"`
DefaultProjectsLimit
int
`json:"default_projects_limit"`
SignupEnabled
bool
`json:"signup_enabled"`
SigninEnabled
bool
`json:"signin_enabled"`
GravatarEnabled
bool
`json:"gravatar_enabled"`
SignInText
string
`json:"sign_in_text"`
CreatedAt
*
time
.
Time
`json:"created_at"`
UpdatedAt
*
time
.
Time
`json:"updated_at"`
HomePageURL
string
`json:"home_page_url"`
DefaultBranchProtection
int
`json:"default_branch_protection"`
TwitterSharingEnabled
bool
`json:"twitter_sharing_enabled"`
RestrictedVisibilityLevels
[]
VisibilityValue
`json:"restricted_visibility_levels"`
MaxAttachmentSize
int
`json:"max_attachment_size"`
SessionExpireDelay
int
`json:"session_expire_delay"`
DefaultProjectVisibility
int
`json:"default_project_visibility"`
DefaultSnippetVisibility
int
`json:"default_snippet_visibility"`
RestrictedSignupDomains
[]
string
`json:"restricted_signup_domains"`
UserOauthApplications
bool
`json:"user_oauth_applications"`
AfterSignOutPath
string
`json:"after_sign_out_path"`
}
func
(
s
Settings
)
String
()
string
{
...
...
@@ -81,22 +81,22 @@ func (s *SettingsService) GetSettings(options ...OptionFunc) (*Settings, *Respon
// GitLab API docs:
// https://gitlab.com/gitlab-org/gitlab-ce/blob/8-16-stable/doc/api/settings.md#change-application.settings
type
UpdateSettingsOptions
struct
{
DefaultProjectsLimit
*
int
`url:"default_projects_limit,omitempty" json:"default_projects_limit,omitempty"`
SignupEnabled
*
bool
`url:"signup_enabled,omitempty" json:"signup_enabled,omitempty"`
SigninEnabled
*
bool
`url:"signin_enabled,omitempty" json:"signin_enabled,omitempty"`
GravatarEnabled
*
bool
`url:"gravatar_enabled,omitempty" json:"gravatar_enabled,omitempty"`
SignInText
*
string
`url:"sign_in_text,omitempty" json:"sign_in_text,omitempty"`
HomePageURL
*
string
`url:"home_page_url,omitempty" json:"home_page_url,omitempty"`
DefaultBranchProtection
*
int
`url:"default_branch_protection,omitempty" json:"default_branch_protection,omitempty"`
TwitterSharingEnabled
*
bool
`url:"twitter_sharing_enabled,omitempty" json:"twitter_sharing_enabled,omitempty"`
RestrictedVisibilityLevels
[]
Visibility
Level
Value
`url:"restricted_visibility_levels,omitempty" json:"restricted_visibility_levels,omitempty"`
MaxAttachmentSize
*
int
`url:"max_attachment_size,omitempty" json:"max_attachment_size,omitempty"`
SessionExpireDelay
*
int
`url:"session_expire_delay,omitempty" json:"session_expire_delay,omitempty"`
DefaultProjectVisibility
*
int
`url:"default_project_visibility,omitempty" json:"default_project_visibility,omitempty"`
DefaultSnippetVisibility
*
int
`url:"default_snippet_visibility,omitempty" json:"default_snippet_visibility,omitempty"`
RestrictedSignupDomains
[]
string
`url:"restricted_signup_domains,omitempty" json:"restricted_signup_domains,omitempty"`
UserOauthApplications
*
bool
`url:"user_oauth_applications,omitempty" json:"user_oauth_applications,omitempty"`
AfterSignOutPath
*
string
`url:"after_sign_out_path,omitempty" json:"after_sign_out_path,omitempty"`
DefaultProjectsLimit
*
int
`url:"default_projects_limit,omitempty" json:"default_projects_limit,omitempty"`
SignupEnabled
*
bool
`url:"signup_enabled,omitempty" json:"signup_enabled,omitempty"`
SigninEnabled
*
bool
`url:"signin_enabled,omitempty" json:"signin_enabled,omitempty"`
GravatarEnabled
*
bool
`url:"gravatar_enabled,omitempty" json:"gravatar_enabled,omitempty"`
SignInText
*
string
`url:"sign_in_text,omitempty" json:"sign_in_text,omitempty"`
HomePageURL
*
string
`url:"home_page_url,omitempty" json:"home_page_url,omitempty"`
DefaultBranchProtection
*
int
`url:"default_branch_protection,omitempty" json:"default_branch_protection,omitempty"`
TwitterSharingEnabled
*
bool
`url:"twitter_sharing_enabled,omitempty" json:"twitter_sharing_enabled,omitempty"`
RestrictedVisibilityLevels
[]
VisibilityValue
`url:"restricted_visibility_levels,omitempty" json:"restricted_visibility_levels,omitempty"`
MaxAttachmentSize
*
int
`url:"max_attachment_size,omitempty" json:"max_attachment_size,omitempty"`
SessionExpireDelay
*
int
`url:"session_expire_delay,omitempty" json:"session_expire_delay,omitempty"`
DefaultProjectVisibility
*
int
`url:"default_project_visibility,omitempty" json:"default_project_visibility,omitempty"`
DefaultSnippetVisibility
*
int
`url:"default_snippet_visibility,omitempty" json:"default_snippet_visibility,omitempty"`
RestrictedSignupDomains
[]
string
`url:"restricted_signup_domains,omitempty" json:"restricted_signup_domains,omitempty"`
UserOauthApplications
*
bool
`url:"user_oauth_applications,omitempty" json:"user_oauth_applications,omitempty"`
AfterSignOutPath
*
string
`url:"after_sign_out_path,omitempty" json:"after_sign_out_path,omitempty"`
}
// UpdateSettings updates the application settings.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment