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
629c3f41
Commit
629c3f41
authored
Feb 26, 2018
by
Maxime Roussin-Bélanger
Committed by
Sander van Harmelen
Feb 26, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add gitignore template service (#349)
parent
d5dc980d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
87 additions
and
1 deletion
+87
-1
README.md
README.md
+1
-1
gitignore_templates.go
gitignore_templates.go
+84
-0
gitlab.go
gitlab.go
+2
-0
No files found.
README.md
View file @
629c3f41
...
...
@@ -32,7 +32,7 @@ to add new and/or missing endpoints. Currently the following services are suppor
-
[
x
]
Environments
-
[
x
]
Events
-
[
x
]
Feature flags
-
[
]
Gitignores templates
-
[
x
]
Gitignores templates
-
[
]
GitLab CI Config templates
-
[
x
]
Groups
-
[
]
Group Access Requests
...
...
gitignore_templates.go
0 → 100644
View file @
629c3f41
//
// Copyright 2018, Sander van Harmelen
//
// 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
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package
gitlab
import
(
"fmt"
"net/url"
)
// GitIgnoreTemplatesService handles communication with the gitignore
// templates related methods of the GitLab API.
//
// GitLab API docs: https://docs.gitlab.com/ce/api/templates/gitignores.html
type
GitIgnoreTemplatesService
struct
{
client
*
Client
}
// GitIgnoreTemplate represents a GitLab gitignore template.
//
// GitLab API docs: https://docs.gitlab.com/ce/api/templates/gitignores.html
type
GitIgnoreTemplate
struct
{
Name
string
`json:"name"`
Content
string
`json:"content"`
}
// ListTemplatesOptions represents the available ListAllTemplates() options.
//
// GitLab API docs:
// https://docs.gitlab.com/ce/api/templates/gitignores.html#list-gitignore-templates
type
ListTemplatesOptions
ListOptions
// ListTemplates get a list of available git ignore templates
//
// GitLab API docs:
// https://docs.gitlab.com/ce/api/templates/gitignores.html#list-gitignore-templates
func
(
s
*
GitIgnoreTemplatesService
)
ListTemplates
(
opt
*
ListTemplatesOptions
,
options
...
OptionFunc
)
([]
*
GitIgnoreTemplate
,
*
Response
,
error
)
{
req
,
err
:=
s
.
client
.
NewRequest
(
"GET"
,
"templates/gitignores"
,
opt
,
options
)
if
err
!=
nil
{
return
nil
,
nil
,
err
}
var
gs
[]
*
GitIgnoreTemplate
resp
,
err
:=
s
.
client
.
Do
(
req
,
&
gs
)
if
err
!=
nil
{
return
nil
,
resp
,
err
}
return
gs
,
resp
,
err
}
// GetTemplate get a git ignore template
//
// GitLab API docs:
// https://docs.gitlab.com/ce/api/templates/gitignores.html#single-gitignore-template
func
(
s
*
GitIgnoreTemplatesService
)
GetTemplate
(
key
string
,
options
...
OptionFunc
)
(
*
GitIgnoreTemplate
,
*
Response
,
error
)
{
u
:=
fmt
.
Sprintf
(
"templates/gitignores/%s"
,
url
.
QueryEscape
(
key
))
req
,
err
:=
s
.
client
.
NewRequest
(
"GET"
,
u
,
nil
,
options
)
if
err
!=
nil
{
return
nil
,
nil
,
err
}
g
:=
new
(
GitIgnoreTemplate
)
resp
,
err
:=
s
.
client
.
Do
(
req
,
g
)
if
err
!=
nil
{
return
nil
,
resp
,
err
}
return
g
,
resp
,
err
}
gitlab.go
View file @
629c3f41
...
...
@@ -272,6 +272,7 @@ type Client struct {
Environments
*
EnvironmentsService
Events
*
EventsService
Features
*
FeaturesService
GitIgnoreTemplates
*
GitIgnoreTemplatesService
Groups
*
GroupsService
GroupMembers
*
GroupMembersService
Issues
*
IssuesService
...
...
@@ -357,6 +358,7 @@ func newClient(httpClient *http.Client, tokenType tokenType, token string) *Clie
c
.
Environments
=
&
EnvironmentsService
{
client
:
c
}
c
.
Events
=
&
EventsService
{
client
:
c
}
c
.
Features
=
&
FeaturesService
{
client
:
c
}
c
.
GitIgnoreTemplates
=
&
GitIgnoreTemplatesService
{
client
:
c
}
c
.
Groups
=
&
GroupsService
{
client
:
c
}
c
.
GroupMembers
=
&
GroupMembersService
{
client
:
c
}
c
.
Issues
=
&
IssuesService
{
client
:
c
,
timeStats
:
timeStats
}
...
...
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