labclient 0.1.2 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/labclient.rb +16 -6
- data/lib/labclient/access_levels.rb +24 -30
- data/lib/labclient/branches/branch.rb +25 -0
- data/lib/labclient/branches/create.rb +33 -0
- data/lib/labclient/client.rb +47 -7
- data/lib/labclient/commits/project_helpers.rb +4 -0
- data/lib/labclient/commits/show.rb +11 -2
- data/lib/labclient/docs.rb +9 -5
- data/lib/labclient/epics/epic.rb +13 -0
- data/lib/labclient/error.rb +1 -0
- data/lib/labclient/files/create.rb +14 -8
- data/lib/labclient/files/update.rb +1 -1
- data/lib/labclient/generator/generator.rb +9 -21
- data/lib/labclient/generator/names.rb +17 -3
- data/lib/labclient/generator/template_helper.rb +81 -0
- data/lib/labclient/generator/templates/environments.rb +98 -0
- data/lib/labclient/generator/templates/pages.rb +24 -30
- data/lib/labclient/generator/templates/pipeline_trigger.rb +82 -0
- data/lib/labclient/generator/wizard.rb +29 -9
- data/lib/labclient/groups/group.rb +1 -1
- data/lib/labclient/http.rb +3 -2
- data/lib/labclient/issues/issue.rb +23 -1
- data/lib/labclient/issues/update.rb +20 -2
- data/lib/labclient/jobs/delete.rb +1 -1
- data/lib/labclient/jobs/keep.rb +1 -1
- data/lib/labclient/jobs/play.rb +1 -1
- data/lib/labclient/jobs/trace.rb +2 -2
- data/lib/labclient/klass.rb +6 -3
- data/lib/labclient/lab_struct.rb +21 -0
- data/lib/labclient/license/list.rb +2 -2
- data/lib/labclient/members/member.rb +1 -0
- data/lib/labclient/merge_requests/accept.rb +15 -6
- data/lib/labclient/merge_requests/create.rb +12 -0
- data/lib/labclient/merge_requests/merge_request.rb +49 -4
- data/lib/labclient/notes/epics/create.rb +12 -4
- data/lib/labclient/notes/epics/delete.rb +3 -3
- data/lib/labclient/notes/epics/list.rb +21 -4
- data/lib/labclient/notes/epics/show.rb +4 -4
- data/lib/labclient/notes/epics/update.rb +4 -4
- data/lib/labclient/notes/issues/create.rb +11 -1
- data/lib/labclient/notes/issues/list.rb +18 -3
- data/lib/labclient/notes/issues/show.rb +1 -1
- data/lib/labclient/notes/merge_requests/create.rb +8 -0
- data/lib/labclient/notes/merge_requests/list.rb +20 -2
- data/lib/labclient/notes/snippets/create.rb +1 -1
- data/lib/labclient/notes/snippets/list.rb +20 -3
- data/lib/labclient/notes/snippets/show.rb +1 -1
- data/lib/labclient/notifications/update.rb +1 -1
- data/lib/labclient/overview.rb +79 -11
- data/lib/labclient/paginated_response.rb +3 -1
- data/lib/labclient/pipelines/pipeline.rb +41 -0
- data/lib/labclient/projects/environments/project_environment.rb +10 -0
- data/lib/labclient/projects/methods.rb +49 -2
- data/lib/labclient/projects/reference.rb +12 -0
- data/lib/labclient/projects/snippets/project_snippet.rb +12 -0
- data/lib/labclient/protected_branches/protect.rb +6 -5
- data/lib/labclient/protected_environments/list.rb +29 -0
- data/lib/labclient/protected_environments/protect.rb +53 -0
- data/lib/labclient/protected_environments/protected_environment.rb +22 -0
- data/lib/labclient/protected_environments/show.rb +24 -0
- data/lib/labclient/protected_environments/unprotect.rb +31 -0
- data/lib/labclient/snippets/snippet.rb +2 -2
- data/lib/labclient/users/membership.rb +62 -0
- data/lib/labclient/users/memberships.rb +8 -3
- data/lib/labclient/users/user.rb +7 -1
- data/lib/labclient/version.rb +1 -1
- metadata +16 -7
- data/lib/labclient/generator/templates/template.rb +0 -23
- data/lib/labclient/open_struct.rb +0 -14
@@ -4,13 +4,21 @@ module LabClient
|
|
4
4
|
class EpicNotes < Common
|
5
5
|
doc 'Epics' do
|
6
6
|
title 'Create'
|
7
|
-
desc 'Creates a new note for a single
|
7
|
+
desc 'Creates a new note for a single epic [Project, Epic IID]'
|
8
8
|
example 'client.notes.epics.create(16, 2, body: "Hello!")'
|
9
9
|
result <<~DOC
|
10
10
|
=> #<Note id: 44, type: Epic>
|
11
11
|
DOC
|
12
12
|
end
|
13
13
|
|
14
|
+
doc 'Epics' do
|
15
|
+
desc 'Via Epic'
|
16
|
+
example <<~DOC
|
17
|
+
epic = client.epics.show(16, 2)
|
18
|
+
epic.note_create(body: 'There!')
|
19
|
+
DOC
|
20
|
+
end
|
21
|
+
|
14
22
|
doc 'Epics' do
|
15
23
|
markdown <<~DOC
|
16
24
|
| Attribute | Type | Required | Description |
|
@@ -20,13 +28,13 @@ module LabClient
|
|
20
28
|
DOC
|
21
29
|
end
|
22
30
|
|
23
|
-
def create(
|
24
|
-
|
31
|
+
def create(group_id, epic_id, query = {})
|
32
|
+
group_id = format_id(group_id)
|
25
33
|
epic_id = format_id(epic_id)
|
26
34
|
|
27
35
|
query[:created_at] = query[:created_at].to_time.iso8601 if format_time?(query[:created_at])
|
28
36
|
|
29
|
-
client.request(:post, "
|
37
|
+
client.request(:post, "groups/#{group_id}/epics/#{epic_id}/notes", Note, query)
|
30
38
|
end
|
31
39
|
end
|
32
40
|
end
|
@@ -9,12 +9,12 @@ module LabClient
|
|
9
9
|
end
|
10
10
|
|
11
11
|
# Delete
|
12
|
-
def delete(
|
13
|
-
|
12
|
+
def delete(group_id, epic_id, note_id)
|
13
|
+
group_id = format_id(group_id)
|
14
14
|
epic_id = format_id(epic_id)
|
15
15
|
note_id = format_id(note_id)
|
16
16
|
|
17
|
-
client.request(:delete, "
|
17
|
+
client.request(:delete, "groups/#{group_id}/epics/#{epic_id}/notes/#{note_id}")
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -5,18 +5,35 @@ module LabClient
|
|
5
5
|
@group_name = 'Notes'
|
6
6
|
doc 'Epics' do
|
7
7
|
title 'List'
|
8
|
-
desc 'Gets a list of all notes for a single
|
8
|
+
desc 'Gets a list of all notes for a single epic. [Project ID, Epic IID]'
|
9
|
+
markdown <<~DOC
|
10
|
+
| Attribute | Type | Required | Description |
|
11
|
+
| --------- | ------ | -------- | ------------------------------------------------------------------------------------ |
|
12
|
+
| sort | string | no | Return epic notes sorted in asc or desc order. Default is desc |
|
13
|
+
| order_by | string | no | Return epic notes ordered by created_at or updated_at fields. Default is created_at |
|
14
|
+
DOC
|
15
|
+
end
|
16
|
+
|
17
|
+
doc 'Epics' do
|
9
18
|
example 'client.notes.epics.list(16, 1)'
|
10
19
|
result <<~DOC
|
11
20
|
=> [#<Note id: 21, type: Epic>, #<Note id: 20, type: Epic> .. ]
|
12
21
|
DOC
|
13
22
|
end
|
14
23
|
|
15
|
-
|
16
|
-
|
24
|
+
doc 'Epics' do
|
25
|
+
desc 'Filter or Sort'
|
26
|
+
example 'client.notes.epics.list(16, 1, order_by: :created_at, sort: :asc)'
|
27
|
+
result <<~DOC
|
28
|
+
=> [#<Note id: 21, type: Epic>, #<Note id: 20, type: Epic> .. ]
|
29
|
+
DOC
|
30
|
+
end
|
31
|
+
|
32
|
+
def list(group_id, epic_id, query = {})
|
33
|
+
group_id = format_id(group_id)
|
17
34
|
epic_id = format_id(epic_id)
|
18
35
|
|
19
|
-
client.request(:get, "
|
36
|
+
client.request(:get, "groups/#{group_id}/epics/#{epic_id}/notes", Note, query)
|
20
37
|
end
|
21
38
|
end
|
22
39
|
end
|
@@ -4,19 +4,19 @@ module LabClient
|
|
4
4
|
class EpicNotes < Common
|
5
5
|
doc 'Epics' do
|
6
6
|
title 'Show'
|
7
|
-
desc 'Returns a single note for a given
|
7
|
+
desc 'Returns a single note for a given epic. [Project ID, Epic IID, Note ID]'
|
8
8
|
example 'client.notes.epics.show(16, 1, 43)'
|
9
9
|
result <<~DOC
|
10
10
|
=> #<Note id: 21, type: Epic>
|
11
11
|
DOC
|
12
12
|
end
|
13
13
|
|
14
|
-
def show(
|
15
|
-
|
14
|
+
def show(group_id, epic_id, note_id)
|
15
|
+
group_id = format_id(group_id)
|
16
16
|
epic_id = format_id(epic_id)
|
17
17
|
note_id = format_id(note_id)
|
18
18
|
|
19
|
-
client.request(:get, "
|
19
|
+
client.request(:get, "groups/#{group_id}/epics/#{epic_id}/notes/#{note_id}", Note)
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
@@ -4,7 +4,7 @@ module LabClient
|
|
4
4
|
class EpicNotes < Common
|
5
5
|
doc 'Epics' do
|
6
6
|
title 'Update'
|
7
|
-
desc 'Get a single
|
7
|
+
desc 'Get a single group epic. [Project ID, Epic IID, Note ID]'
|
8
8
|
example 'client.notes.epics.update(16, 1, 43, "Updaaate")'
|
9
9
|
result <<~DOC
|
10
10
|
=> #<Note id: 43, type: Epic>
|
@@ -20,13 +20,13 @@ module LabClient
|
|
20
20
|
end
|
21
21
|
|
22
22
|
# Show
|
23
|
-
def update(
|
24
|
-
|
23
|
+
def update(group_id, epic_id, note_id, body)
|
24
|
+
group_id = format_id(group_id)
|
25
25
|
epic_id = format_id(epic_id)
|
26
26
|
note_id = format_id(note_id)
|
27
27
|
query = { body: body }
|
28
28
|
|
29
|
-
client.request(:put, "
|
29
|
+
client.request(:put, "groups/#{group_id}/epics/#{epic_id}/notes/#{note_id}", Note, query)
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
@@ -4,13 +4,21 @@ module LabClient
|
|
4
4
|
class IssueNotes < Common
|
5
5
|
doc 'Issues' do
|
6
6
|
title 'Create'
|
7
|
-
desc 'Creates a new note for a single
|
7
|
+
desc 'Creates a new note for a single issue [Project, Issue IID]'
|
8
8
|
example 'client.notes.issues.create(16, 2, body: "Hello!")'
|
9
9
|
result <<~DOC
|
10
10
|
=> #<Note id: 44, type: Issue>
|
11
11
|
DOC
|
12
12
|
end
|
13
13
|
|
14
|
+
doc 'Issues' do
|
15
|
+
desc 'Via Issue'
|
16
|
+
example <<~DOC
|
17
|
+
issue = client.issues.show(16, 1)
|
18
|
+
issue.note_create(body: 'There!')
|
19
|
+
DOC
|
20
|
+
end
|
21
|
+
|
14
22
|
doc 'Issues' do
|
15
23
|
markdown <<~DOC
|
16
24
|
| Attribute | Type | Required | Description |
|
@@ -26,6 +34,8 @@ module LabClient
|
|
26
34
|
|
27
35
|
query[:created_at] = query[:created_at].to_time.iso8601 if format_time?(query[:created_at])
|
28
36
|
|
37
|
+
# POST /projects/:id/issues/:issue_iid/notes
|
38
|
+
|
29
39
|
client.request(:post, "projects/#{project_id}/issues/#{issue_id}/notes", Note, query)
|
30
40
|
end
|
31
41
|
end
|
@@ -3,20 +3,35 @@ module LabClient
|
|
3
3
|
# Specifics
|
4
4
|
class IssueNotes < Common
|
5
5
|
@group_name = 'Notes'
|
6
|
+
|
6
7
|
doc 'Issues' do
|
7
8
|
title 'List'
|
8
|
-
desc 'Gets a list of all notes for a single
|
9
|
+
desc 'Gets a list of all notes for a single issue. [Project ID, Issue IID]'
|
10
|
+
markdown <<~DOC
|
11
|
+
| Attribute | Type | Required | Description |
|
12
|
+
| --------- | ------ | -------- | ------------------------------------------------------------------------------------ |
|
13
|
+
| sort | string | no | Return issue notes sorted in asc or desc order. Default is desc |
|
14
|
+
| order_by | string | no | Return issue notes ordered by created_at or updated_at fields. Default is created_at |
|
15
|
+
DOC
|
16
|
+
end
|
17
|
+
|
18
|
+
doc 'Issues' do
|
9
19
|
example 'client.notes.issues.list(16, 1)'
|
10
20
|
result <<~DOC
|
11
21
|
=> [#<Note id: 21, type: Issue>, #<Note id: 20, type: Issue> .. ]
|
12
22
|
DOC
|
13
23
|
end
|
14
24
|
|
15
|
-
|
25
|
+
doc 'Issues' do
|
26
|
+
desc 'Sort or Filter'
|
27
|
+
example 'client.notes.issues.list(16, 1, order_by: :created_at, sort: :asc)'
|
28
|
+
end
|
29
|
+
|
30
|
+
def list(project_id, issue_id, query = {})
|
16
31
|
project_id = format_id(project_id)
|
17
32
|
issue_id = format_id(issue_id)
|
18
33
|
|
19
|
-
client.request(:get, "projects/#{project_id}/issues/#{issue_id}/notes", Note)
|
34
|
+
client.request(:get, "projects/#{project_id}/issues/#{issue_id}/notes", Note, query)
|
20
35
|
end
|
21
36
|
end
|
22
37
|
end
|
@@ -4,7 +4,7 @@ module LabClient
|
|
4
4
|
class IssueNotes < Common
|
5
5
|
doc 'Issues' do
|
6
6
|
title 'Show'
|
7
|
-
desc 'Returns a single note for a given
|
7
|
+
desc 'Returns a single note for a given issue. [Project ID, Issue IID, Note ID]'
|
8
8
|
example 'client.notes.issues.show(16, 1, 43)'
|
9
9
|
result <<~DOC
|
10
10
|
=> #<Note id: 21, type: Issue>
|
@@ -11,6 +11,14 @@ module LabClient
|
|
11
11
|
DOC
|
12
12
|
end
|
13
13
|
|
14
|
+
doc 'Merge Request' do
|
15
|
+
desc 'Via Merge Request'
|
16
|
+
example <<~DOC
|
17
|
+
merge_request = client.merge_requests.show(16, 2)
|
18
|
+
merge_request.note_create(body: 'There!')
|
19
|
+
DOC
|
20
|
+
end
|
21
|
+
|
14
22
|
doc 'Merge Requests' do
|
15
23
|
markdown <<~DOC
|
16
24
|
| Attribute | Type | Required | Description |
|
@@ -6,17 +6,35 @@ module LabClient
|
|
6
6
|
doc 'Merge Requests' do
|
7
7
|
title 'List'
|
8
8
|
desc 'Gets a list of all notes for a single merge request. [Project ID, Merge Request IID]'
|
9
|
+
|
10
|
+
markdown <<~DOC
|
11
|
+
| Attribute | Type | Required | Description |
|
12
|
+
| --------- | ------ | -------- | -------------------------------------------------------------------------------------------- |
|
13
|
+
| sort | string | no | Return merge request notes sorted in asc or desc order. Default is desc |
|
14
|
+
| order_by | string | no | Return merge request notes ordered by created_at or updated_at fields. Default is created_at |
|
15
|
+
DOC
|
16
|
+
end
|
17
|
+
|
18
|
+
doc 'Merge Requests' do
|
9
19
|
example 'client.notes.merge_requests.list(16, 1)'
|
10
20
|
result <<~DOC
|
11
21
|
=> [#<Note id: 21, type: MergeRequest>, #<Note id: 20, type: MergeRequest> .. ]
|
12
22
|
DOC
|
13
23
|
end
|
14
24
|
|
15
|
-
|
25
|
+
doc 'Merge Requests' do
|
26
|
+
desc 'Sort or Filter'
|
27
|
+
example 'client.notes.merge_requests.list(16, 1, order_by: :created_at, sort: :asc)'
|
28
|
+
result <<~DOC
|
29
|
+
=> [#<Note id: 21, type: MergeRequest>, #<Note id: 20, type: MergeRequest> .. ]
|
30
|
+
DOC
|
31
|
+
end
|
32
|
+
|
33
|
+
def list(project_id, merge_request_id, query = {})
|
16
34
|
project_id = format_id(project_id)
|
17
35
|
merge_request_id = format_id(merge_request_id)
|
18
36
|
|
19
|
-
client.request(:get, "projects/#{project_id}/merge_requests/#{merge_request_id}/notes", Note)
|
37
|
+
client.request(:get, "projects/#{project_id}/merge_requests/#{merge_request_id}/notes", Note, query)
|
20
38
|
end
|
21
39
|
end
|
22
40
|
end
|
@@ -4,7 +4,7 @@ module LabClient
|
|
4
4
|
class SnippetNotes < Common
|
5
5
|
doc 'Snippets' do
|
6
6
|
title 'Create'
|
7
|
-
desc 'Creates a new note for a single
|
7
|
+
desc 'Creates a new note for a single snippet [Project, Snippet ID]'
|
8
8
|
example 'client.notes.snippets.create(16, 2, body: "Hello!")'
|
9
9
|
result <<~DOC
|
10
10
|
=> #<Note id: 44, type: Snippet>
|
@@ -5,18 +5,35 @@ module LabClient
|
|
5
5
|
@group_name = 'Notes'
|
6
6
|
doc 'Snippets' do
|
7
7
|
title 'List'
|
8
|
-
desc 'Gets a list of all notes for a single
|
8
|
+
desc 'Gets a list of all notes for a single snippet. [Project ID, Snippet ID]'
|
9
|
+
markdown <<~DOC
|
10
|
+
| Attribute | Type | Required | Description |
|
11
|
+
| --------- | ------ | -------- | ------------------------------------------------------------------------------------ |
|
12
|
+
| sort | string | no | Return snippet notes sorted in asc or desc order. Default is desc |
|
13
|
+
| order_by | string | no | Return snippet notes ordered by created_at or updated_at fields. Default is created_at |
|
14
|
+
DOC
|
15
|
+
end
|
16
|
+
|
17
|
+
doc 'Snippets' do
|
9
18
|
example 'client.notes.snippets.list(16, 1)'
|
10
19
|
result <<~DOC
|
11
20
|
=> [#<Note id: 21, type: Snippet>, #<Note id: 20, type: Snippet> .. ]
|
12
21
|
DOC
|
13
22
|
end
|
14
23
|
|
15
|
-
|
24
|
+
doc 'Snippets' do
|
25
|
+
desc 'Filter or Sort'
|
26
|
+
example 'client.notes.snippets.list(16, 1, order_by: :created_at, sort: :asc)'
|
27
|
+
result <<~DOC
|
28
|
+
=> [#<Note id: 21, type: Snippet>, #<Note id: 20, type: Snippet> .. ]
|
29
|
+
DOC
|
30
|
+
end
|
31
|
+
|
32
|
+
def list(project_id, snippet_id, query = {})
|
16
33
|
project_id = format_id(project_id)
|
17
34
|
snippet_id = format_id(snippet_id)
|
18
35
|
|
19
|
-
client.request(:get, "projects/#{project_id}/snippets/#{snippet_id}/notes", Note)
|
36
|
+
client.request(:get, "projects/#{project_id}/snippets/#{snippet_id}/notes", Note, query)
|
20
37
|
end
|
21
38
|
end
|
22
39
|
end
|
@@ -4,7 +4,7 @@ module LabClient
|
|
4
4
|
class SnippetNotes < Common
|
5
5
|
doc 'Snippets' do
|
6
6
|
title 'Show'
|
7
|
-
desc 'Returns a single note for a given
|
7
|
+
desc 'Returns a single note for a given snippet. [Project ID, Snippet ID, Note ID]'
|
8
8
|
example 'client.notes.snippets.show(16, 1, 43)'
|
9
9
|
result <<~DOC
|
10
10
|
=> #<Note id: 21, type: Snippet>
|
data/lib/labclient/overview.rb
CHANGED
@@ -7,11 +7,15 @@ module LabClient
|
|
7
7
|
|
8
8
|
doc 'Overview' do
|
9
9
|
title 'About'
|
10
|
-
|
10
|
+
markdown <<~DOC
|
11
11
|
Labclient is another Gitlab API Gem. A focus on ease of use and helpers and snippets.
|
12
12
|
|
13
13
|
<a href="https://github.com/NARKOZ/gitlab">Gitlab</a> is an excellent gem, and is nearly complete in its implementation. While this is still a work in progress and you are looking for general use you should use it.
|
14
|
+
|
15
|
+
Here's a quick whirlwind example of some of the features:
|
14
16
|
DOC
|
17
|
+
|
18
|
+
demo '350689'
|
15
19
|
end
|
16
20
|
|
17
21
|
doc 'Overview' do
|
@@ -44,6 +48,41 @@ module LabClient
|
|
44
48
|
DOC
|
45
49
|
end
|
46
50
|
|
51
|
+
doc 'Authentication' do
|
52
|
+
title 'Named Profiles'
|
53
|
+
markdown 'Within the `~/.gitlab-labclient` you can also specify profile names'
|
54
|
+
example <<~DOC
|
55
|
+
{
|
56
|
+
"prod": {
|
57
|
+
"url": "https://labclient-prod",
|
58
|
+
"token": "super_secure",
|
59
|
+
"paginate": false
|
60
|
+
},
|
61
|
+
"dev": {
|
62
|
+
"url": "https://labclient-dev",
|
63
|
+
"token": "super_secure",
|
64
|
+
"ssl_verify": false,
|
65
|
+
"paginate": true
|
66
|
+
}
|
67
|
+
}
|
68
|
+
DOC
|
69
|
+
end
|
70
|
+
|
71
|
+
doc 'Authentication' do
|
72
|
+
desc 'Manually select a named profile'
|
73
|
+
example <<~DOC
|
74
|
+
client = LabClient::Client.new(profile: 'prod')
|
75
|
+
DOC
|
76
|
+
end
|
77
|
+
|
78
|
+
doc 'Authentication' do
|
79
|
+
desc 'Automatically select via ENV Variables'
|
80
|
+
example <<~DOC
|
81
|
+
ENV['LABCLIENT_PROFILE'] = 'dev'
|
82
|
+
client = LabClient::Client.new
|
83
|
+
DOC
|
84
|
+
end
|
85
|
+
|
47
86
|
doc 'Authentication' do
|
48
87
|
title 'Environment Variables'
|
49
88
|
desc 'If not provided, and credentials file does not exist will attempt to use ENV variables'
|
@@ -191,6 +230,7 @@ module LabClient
|
|
191
230
|
User
|
192
231
|
- client.users.show(5)
|
193
232
|
- client.users.show(5)
|
233
|
+
|
194
234
|
DOC
|
195
235
|
end
|
196
236
|
|
@@ -209,6 +249,9 @@ module LabClient
|
|
209
249
|
# Awesome Print all details
|
210
250
|
project.valid_group_project_levels
|
211
251
|
# => [:guest, :reporter, :developer, :maintainer, :owner]
|
252
|
+
|
253
|
+
# Select Data from objects with `slice`
|
254
|
+
project.slice(:readme_url, :owner)
|
212
255
|
DOC
|
213
256
|
end
|
214
257
|
|
@@ -253,17 +296,18 @@ module LabClient
|
|
253
296
|
end
|
254
297
|
|
255
298
|
doc 'Other' do
|
256
|
-
title '
|
257
|
-
desc '
|
258
|
-
|
259
|
-
example 'docker run -it registry.gitlab.com/labclient/labclient'
|
299
|
+
title 'Quiet'
|
300
|
+
desc 'Error messages by default are printed to STDOUT. This can be supressed via the :quiet setting'
|
260
301
|
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
302
|
+
example <<~DOC
|
303
|
+
client = LabClient::Client.new(
|
304
|
+
url: 'https://gitlab.labclient',
|
305
|
+
token: 'gitlab api token',
|
306
|
+
quiet: true
|
307
|
+
)
|
308
|
+
|
309
|
+
# Or after the init
|
310
|
+
client.settings[:quiet] = true
|
267
311
|
DOC
|
268
312
|
end
|
269
313
|
|
@@ -291,6 +335,30 @@ module LabClient
|
|
291
335
|
- [API Authentication](https://docs.gitlab.com/ee/api/README.html#authentication)
|
292
336
|
DOC
|
293
337
|
end
|
338
|
+
|
339
|
+
doc 'Docker' do
|
340
|
+
desc 'A docker image is created from master and can be used to execute snippets or load a quick pry session'
|
341
|
+
|
342
|
+
example 'docker run -it registry.gitlab.com/labclient/labclient'
|
343
|
+
|
344
|
+
result <<~DOC
|
345
|
+
# Run Container
|
346
|
+
docker run -it registry.gitlab.com/labclient/labclient
|
347
|
+
# Without settings configured, initial will prompt for credentials
|
348
|
+
|
349
|
+
client.users.list
|
350
|
+
DOC
|
351
|
+
end
|
352
|
+
|
353
|
+
doc 'Docker' do
|
354
|
+
desc 'The docker container configured and execute code snippets'
|
355
|
+
|
356
|
+
example 'docker run -it registry.gitlab.com/labclient/labclient'
|
357
|
+
|
358
|
+
result <<~DOC
|
359
|
+
docker run -it -e LABCLIENT_URL="https://labclient" -e LABCLIENT_TOKEN="secure_token" labclient 'puts client.users.list.count'
|
360
|
+
DOC
|
361
|
+
end
|
294
362
|
end
|
295
363
|
end
|
296
364
|
# rubocop:enable Metrics/ClassLength
|