Codebase list ruby-gitlab / 67eea39
New upstream version 4.16.1 Cédric Boutillier 3 years ago
278 changed file(s) with 1009 addition(s) and 5433 deletion(s). Raw diff Collapse all Expand all
+0
-3
.codeclimate.yml less more
0 plugins:
1 rubocop:
2 enabled: true
+0
-8
.github/FUNDING.yml less more
0 # These are supported funding model platforms
1
2 github: NARKOZ
3 patreon: # Replace with a single Patreon username
4 open_collective: # Replace with a single Open Collective username
5 ko_fi: # Replace with a single Ko-fi username
6 tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
7 custom: # Replace with a single custom sponsorship URL
0 name: CI
1
2 on:
3 push:
4 branches:
5 - master
6 pull_request:
7 branches:
8 - master
9
10 jobs:
11 build:
12 runs-on: ubuntu-latest
13 strategy:
14 matrix:
15 ruby:
16 - 2.5
17 - 2.6
18 - 2.7
19 name: Ruby ${{ matrix.ruby }} test
20 steps:
21 - uses: actions/checkout@v2
22 - name: Set up Ruby ${{ matrix.ruby }}
23 uses: actions/setup-ruby@v1
24 with:
25 ruby-version: ${{ matrix.ruby }}
26 - name: Build and test with Rake
27 run: |
28 gem install bundler --no-document
29 bundle install --jobs 4 --retry 3
30 bundle exec rake
31
32 lint:
33 runs-on: ubuntu-latest
34 name: Rubocop lint
35 steps:
36 - uses: actions/checkout@v2
37 - name: Set up Ruby 2.5
38 uses: actions/setup-ruby@v1
39 with:
40 ruby-version: 2.5
41 - name: Lint with Rubocop
42 run: |
43 gem install bundler --no-document
44 bundle install --jobs 4 --retry 3
45 bundle exec rake rubocop
1313 - name: Set up Ruby 2.7
1414 uses: actions/setup-ruby@v1
1515 with:
16 version: 2.7
16 ruby-version: 2.7
1717 - name: Publish to RubyGems
1818 run: |
1919 mkdir -p $HOME/.gem
+0
-46
.github/workflows/ruby.yml less more
0 name: Ruby
1
2 on:
3 push:
4 branches:
5 - master
6 pull_request:
7 branches:
8 - master
9
10 jobs:
11 build:
12 runs-on: ubuntu-latest
13 strategy:
14 matrix:
15 ruby:
16 - 2.5
17 - 2.6
18 - 2.7
19 name: Ruby ${{ matrix.ruby }} test
20 steps:
21 - uses: actions/checkout@v2
22 - name: Set up Ruby ${{ matrix.ruby }}
23 uses: actions/setup-ruby@v1
24 with:
25 ruby-version: ${{ matrix.ruby }}
26 - name: Build and test with Rake
27 run: |
28 gem install bundler --no-document
29 bundle install --jobs 4 --retry 3
30 bundle exec rake
31
32 lint:
33 runs-on: ubuntu-latest
34 name: Rubocop lint
35 steps:
36 - uses: actions/checkout@v2
37 - name: Set up Ruby 2.5
38 uses: actions/setup-ruby@v1
39 with:
40 ruby-version: 2.5
41 - name: Lint with Rubocop
42 run: |
43 gem install bundler --no-document
44 bundle install --jobs 4 --retry 3
45 bundle exec rake rubocop
44
55 AllCops:
66 TargetRubyVersion: 2.5
7 NewCops: enable
78
89 Layout/LineLength:
910 Max: 123
00 # This configuration was generated by
11 # `rubocop --auto-gen-config`
2 # on 2020-03-12 13:38:06 +0400 using RuboCop version 0.80.1.
2 # on 2020-06-28 04:00:53 UTC using RuboCop version 0.86.0.
33 # The point is for the user to remove these configuration records
44 # one by one as the offenses are removed from the code base.
55 # Note that changes in the inspected code, or installation of new
66 # versions of RuboCop, may require this file to be generated again.
77
88 # Offense count: 4
9 # Configuration parameters: IgnoredMethods.
910 Metrics/AbcSize:
1011 Max: 34
1112
1213 # Offense count: 3
14 # Configuration parameters: IgnoredMethods.
1315 Metrics/CyclomaticComplexity:
14 Max: 12
16 Max: 13
1517
16 # Offense count: 10
18 # Offense count: 8
1719 # Configuration parameters: CountComments, ExcludedMethods.
1820 Metrics/MethodLength:
1921 Max: 34
2931 Max: 6
3032
3133 # Offense count: 1
34 # Configuration parameters: IgnoredMethods.
3235 Metrics/PerceivedComplexity:
3336 Max: 10
3437
+0
-12
.travis.yml less more
0 ---
1 language: ruby
2 rvm:
3 - 2.5
4 - 2.6
5 - 2.7
6
7 jobs:
8 include:
9 - stage: lint
10 rvm: 2.5
11 script: bundle exec rake rubocop
0 FROM ruby:2.6
0 FROM ruby:2.7
11
22 WORKDIR /app
33
00 # Gitlab
11
2 [![Build Status](https://img.shields.io/github/workflow/status/NARKOZ/gitlab/Ruby/master)](https://github.com/NARKOZ/gitlab/actions?query=workflow%3ARuby)
3 [![Maintainability](https://api.codeclimate.com/v1/badges/2e310b334b1b5db4a7e1/maintainability)](https://codeclimate.com/github/NARKOZ/gitlab)
2 [![Build Status](https://img.shields.io/github/workflow/status/NARKOZ/gitlab/CI/master)](https://github.com/NARKOZ/gitlab/actions?query=workflow%3ARuby)
43 [![Inline docs](https://inch-ci.org/github/NARKOZ/gitlab.svg)](https://inch-ci.org/github/NARKOZ/gitlab)
54 [![Gem version](https://img.shields.io/gem/v/gitlab.svg)](https://rubygems.org/gems/gitlab)
65 [![License](https://img.shields.io/badge/license-BSD-red.svg)](https://github.com/NARKOZ/gitlab/blob/master/LICENSE.txt)
44 # ENV['GITLAB_API_PRIVATE_TOKEN'] = ''
55
66 require 'bundler/setup'
7 require 'gitlab'
87 require 'pry'
8 require_relative '../lib/gitlab'
99
1010 Pry.start
0 # frozen_string_literal: true
1
2 class Gitlab::Client
3 # Defines methods related to issues.
4 # @see https://docs.gitlab.com/ee/api/epic_issues.html
5 module EpicIssues
6 # List issues for an epic.
7 # Gets all issues that are assigned to an epic and the authenticated user has access to..
8 # @example
9 # Gitlab.epic_issues(5, 7)
10 # Gitlab.epic_issues(5, 7, { per_page: 40 })
11 #
12 # @param [Integer, String] group The ID or name of a group.
13 # @param [Integer] epic The iid of an epic.
14 # @param [Hash] options A customizable set of options.
15 # @option options [Integer] :page The page number.
16 # @option options [Integer] :per_page The number of results per page.
17 # @return [Array<Gitlab::ObjectifiedHash>]
18 def epic_issues(group, epic, options = {})
19 get("/groups/#{url_encode group}/epics/#{epic}/issues", query: options)
20 end
21 end
22 end
2828 # @return [Gitlab::ObjectifiedHash] MR approval configuration information about the project
2929 def edit_project_merge_request_approvals(project, options = {})
3030 post("/projects/#{url_encode project}/approvals", body: options)
31 end
32
33 # Gets MR Approval Rules for a project
34 #
35 # @example
36 # Gitlab.project_merge_request_approval_rules(1)
37 #
38 # @param [Integer] project The ID of a project.
39 # @return [Gitlab::ObjectifiedHash] MR approval rules for the project
40 def project_merge_request_approval_rules(project)
41 get("/projects/#{url_encode project}/approval_rules")
42 end
43
44 # Create MR Approval Rule for a project
45 #
46 # @example
47 # Gitlab.create_project_merge_request_approval_rule(1, {name: "security", approvals_required: 1})
48 #
49 # @param [Integer] project(required) The ID of a project.
50 # @option options [String] :name(required) The name of the approval rule
51 # @option options [Integer] :approvals_required(required) The number of required approvals for this rule
52 # @option options [Array] :user_ids(optional) The ids of users as approvers
53 # @option options [Array] :group_ids(optional) The ids of groups as approvers
54 # @option options [Array] :protected_branch_ids(optional) The ids of protected branches to scope the rule by
55 # @return [Gitlab::ObjectifiedHash] New MR approval rule
56 def create_project_merge_request_approval_rule(project, options = {})
57 post("/projects/#{url_encode project}/approval_rules", body: options)
58 end
59
60 # Update MR Approval Rule for a project
61 #
62 # @example
63 # Gitlab.update_project_merge_request_approval_rule(1, {name: "security", approvals_required: 2})
64 #
65 # @param [Integer] project(required) The ID of a project.
66 # @param [Integer] approval_rule_id(required) The ID of a project Approval Rule
67 # @option options [String] :name(required) The name of the approval rule
68 # @option options [Integer] :approvals_required(required) The number of required approvals for this rule
69 # @option options [Array] :user_ids(optional) The ids of users as approvers
70 # @option options [Array] :group_ids(optional) The ids of groups as approvers
71 # @option options [Array] :protected_branch_ids(optional) The ids of protected branches to scope the rule by
72 # @return [Gitlab::ObjectifiedHash] Updated MR approval rule
73 def update_project_merge_request_approval_rule(project, approval_rule_id, options = {})
74 put("/projects/#{url_encode project}/approval_rules/#{approval_rule_id}", body: options)
75 end
76
77 # Delete MR Approval Rule for a project
78 #
79 # @example
80 # Gitlab.delete_project_merge_request_approval_rule(1, 1)
81 #
82 # @param [Integer] project(required) The ID of a project.
83 # @param [Integer] approval_rule_id(required) The ID of a approval rule
84 # @return [void] This API call returns an empty response body
85 def delete_project_merge_request_approval_rule(project, approval_rule_id)
86 delete("/projects/#{url_encode project}/approval_rules/#{approval_rule_id}")
3187 end
3288
3389 # Change allowed approvers and approver groups for a project
108164 def unapprove_merge_request(project, merge_request, options = {})
109165 post("/projects/#{url_encode project}/merge_requests/#{merge_request}/unapprove", body: options)
110166 end
167
168 # Get the approval state of merge requests
169 #
170 # @example
171 # Gitlab.merge_request_approval_state(5, 36)
172 #
173 # @param [Integer, String] project The ID or name of a project.
174 # @param [Integer] id The ID of a merge request.
175 # @return [Array<Gitlab::ObjectifiedHash>]
176 def merge_request_approval_state(project, id)
177 get("/projects/#{url_encode project}/merge_requests/#{id}/approval_state")
178 end
111179 end
112180 end
3434 #
3535 # @example
3636 # Gitlab.merge_request(5, 36)
37 #
38 # @param [Integer, String] project The ID or name of a project.
39 # @param [Integer] id The ID of a merge request.
37 # Gitlab.merge_request(5, 36, { include_diverged_commits_count: true })
38 #
39 # @param [Integer, String] project The ID or name of a project.
40 # @param [Integer] id The ID of a merge request.
41 # @option options [Boolean] :render_html If true response includes rendered HTML for title and description.
42 # @option options [Boolean] :include_diverged_commits_count If true response includes the commits behind the target branch.
43 # @option options [Boolean] :include_rebase_in_progress If true response includes whether a rebase operation is in progress.
4044 # @return <Gitlab::ObjectifiedHash]
41 def merge_request(project, id)
42 get("/projects/#{url_encode project}/merge_requests/#{id}")
45 def merge_request(project, id, options = {})
46 get("/projects/#{url_encode project}/merge_requests/#{id}", query: options)
4347 end
4448
4549 # Gets a list of merge request pipelines.
8084 # @option options [String] :source_branch (required) The source branch name.
8185 # @option options [String] :target_branch (required) The target branch name.
8286 # @option options [Integer] :assignee_id (optional) The ID of a user to assign merge request.
87 # @option options [Array<Integer>] :assignee_ids (optional) The ID of the user(s) to assign the MR to. Set to 0 or provide an empty value to unassign all assignees.
88 # @option options [String] :description (optional) Description of MR. Limited to 1,048,576 characters.
8389 # @option options [Integer] :target_project_id (optional) The target project ID.
8490 # @option options [String] :labels (optional) Labels as a comma-separated list.
91 # @option options [Integer] :milestone_id (optional) The global ID of a milestone
92 # @option options [Boolean] :remove_source_branch (optional) Flag indicating if a merge request should remove the source branch when merging
93 # @option options [Boolean] :allow_collaboration (optional) Allow commits from members who can merge to the target branch
94 # @option options [Boolean] :squash (optional) Squash commits into a single commit when merging
8595 # @return [Gitlab::ObjectifiedHash] Information about created merge request.
8696 def create_merge_request(project, title, options = {})
8797 body = { title: title }.merge(options)
114124 # @param [Integer, String] project The ID or name of a project.
115125 # @param [Integer] id The ID of a merge request.
116126 # @param [Hash] options A customizable set of options.
117 # @option options [String] :merge_commit_message Custom merge commit message
127 # @option options [String] :merge_commit_message(optional) Custom merge commit message
128 # @option options [String] :squash_commit_message(optional) Custom squash commit message
129 # @option options [Boolean] :squash(optional) if true the commits will be squashed into a single commit on merge
130 # @option options [Boolean] :should_remove_source_branch(optional) if true removes the source branch
131 # @option options [Boolean] :merge_when_pipeline_succeeds(optional) if true the MR is merged when the pipeline succeeds
132 # @option options [String] :sha(optional) if present, then this SHA must match the HEAD of the source branch, otherwise the merge will fail
118133 # @return [Gitlab::ObjectifiedHash] Information about updated merge request.
119134 def accept_merge_request(project, id, options = {})
120135 put("/projects/#{url_encode project}/merge_requests/#{id}/merge", body: options)
5858 get("/projects/#{url_encode project}/merge_requests/#{merge_request}/notes", query: options)
5959 end
6060 alias merge_request_comments merge_request_notes
61
62 # Gets a list of notes for an epic.
63 #
64 # @example
65 # Gitlab.epic_notes(5, 10)
66 #
67 # @param [Integer] project The ID of a group.
68 # @param [Integer] epic The ID of an epic.
69 # @option options [Integer] :page The page number.
70 # @option options [Integer] :per_page The number of results per page.
71 # @return [Array<Gitlab::ObjectifiedHash>]
72 def epic_notes(group, epic, options = {})
73 get("/groups/#{url_encode group}/epics/#{epic}/notes", query: options)
74 end
6175
6276 # Gets a single wall note.
6377 #
160174 post("/projects/#{url_encode project}/merge_requests/#{merge_request}/notes", body: { body: body })
161175 end
162176 alias create_merge_request_comment create_merge_request_note
177
178 # Creates a new epic note.
179 #
180 # @example
181 # Gitlab.create_epic_note(6, 1, 'Adding a note to my epic.')
182 #
183 # @param [Integer, String] group The ID or name of a group.
184 # @param [Integer] epic The ID of an epic.
185 # @param [String] body The body of a note.
186 # @return [Gitlab::ObjectifiedHash] Information about created note.
187 def create_epic_note(group, epic, body)
188 post("/groups/#{url_encode group}/epics/#{epic}/notes", body: { body: body })
189 end
163190
164191 # Deletes a wall note.
165192 #
0 # frozen_string_literal: true
1
2 class Gitlab::Client
3 # Defines methods related to user snippets.
4 # @see https://docs.gitlab.com/ce/api/snippets.html
5 module UserSnippets
6 # Get a list of the snippets of the current user.
7 #
8 # @example
9 # Gitlab.user_snippets
10 #
11 # @return [Array<Gitlab::ObjectifiedHash>] List of snippets of current user
12 def user_snippets
13 get('/snippets')
14 end
15
16 # Get a single snippet.
17 #
18 # @example
19 # Gitlab.user_snippet(1)
20 #
21 # @param [Integer] id ID of snippet to retrieve.
22 # @return [Gitlab::ObjectifiedHash] Information about the user snippet
23 def user_snippet(id)
24 get("/snippets/#{id}")
25 end
26
27 # Get raw contents of a single snippet.
28 #
29 # @example
30 # Gitlab.user_snippet_raw(1)
31 #
32 # @param [Integer] id ID of snippet to retrieve.
33 # @return [String] User snippet text
34 def user_snippet_raw(id)
35 get("/snippets/#{id}/raw",
36 format: nil,
37 headers: { Accept: 'text/plain' },
38 parser: ::Gitlab::Request::Parser)
39 end
40
41 # Create a new snippet.
42 #
43 # @example
44 # Gitlab.create_user_snippet({ title: 'REST', file_name: 'api.rb', content: 'some code', description: 'Hello World snippet', visibility: 'public'})
45 #
46 # @param [Hash] options A customizable set of options.
47 # @option options [String] :title (required) Title of a snippet.
48 # @option options [String] :file_name (required) Name of a snippet file.
49 # @option options [String] :content (required) Content of a snippet.
50 # @option options [String] :description (optional) Description of a snippet.
51 # @option options [String] :visibility (optional) visibility of a snippet.
52 # @return [Gitlab::ObjectifiedHash] Information about created snippet.
53 def create_user_snippet(options = {})
54 post('/snippets', body: options)
55 end
56
57 # Update an existing snippet.
58 #
59 # @example
60 # Gitlab.edit_user_snippet(34, { file_name: 'README.txt' })
61 # Gitlab.edit_user_snippet(34, { file_name: 'README.txt', title: 'New title' })
62 #
63 # @param [Integer] id ID of snippet to update.
64 # @param [Hash] options A customizable set of options.
65 # @option options [String] :title (optional) Title of a snippet.
66 # @option options [String] :file_name (optional) Name of a snippet file.
67 # @option options [String] :content (optional) Content of a snippet.
68 # @option options [String] :description (optional) Description of a snippet.
69 # @option options [String] :visibility (optional) visibility of a snippet.
70 # @return [Gitlab::ObjectifiedHash] Information about updated snippet.
71 def edit_user_snippet(id, options = {})
72 put("/snippets/#{id}", body: options)
73 end
74
75 # Delete an existing snippet.
76 #
77 # @example
78 # Gitlab.delete_user_snippet(14)
79 #
80 # @param [Integer] id ID of snippet to delete.
81 # @return [void] This API call returns an empty response body.
82 def delete_user_snippet(id)
83 delete("/snippets/#{id}")
84 end
85
86 # List all public snippets.
87 #
88 # @example
89 # Gitlab.public_snippets
90 # Gitlab.public_snippets(per_page: 2, page: 1)
91 #
92 # @param [Hash] options A customizable set of options.
93 # @option options [String] :per_page (optional) Number of snippets to return per page.
94 # @option options [String] :page (optional) Page to retrieve.
95 #
96 # @return [Array<Gitlab::ObjectifiedHash>] List of all public snippets
97 def public_snippets(options = {})
98 get('/snippets/public', query: options)
99 end
100
101 # Get user agent details for a snippet.
102 #
103 # @example
104 # Gitlab.snippet_user_agent_details(1)
105 #
106 # @param [Integer] id ID of snippet to delete.
107 #
108 # @return [Array<Gitlab::ObjectifiedHash>] Details of the user agent
109 def snippet_user_agent_details(id)
110 get("/snippets/#{id}/user_agent_detail")
111 end
112 end
113 end
122122 post('/session', body: { email: email, password: password }, unauthenticated: true)
123123 end
124124
125 # Gets a list of user activities (for admin access only).
126 #
127 # @example
128 # Gitlab.activities
129 #
130 # @param [Hash] options A customizable set of options.
131 # @option options [Integer] :page The page number.
132 # @option options [Integer] :per_page The number of results per page.
133 # @option options [String] :from The start date for paginated results.
134 # @return [Array<Gitlab::ObjectifiedHash>]
135 def activities(options = {})
136 get('/user/activities', query: options)
137 end
138
125139 # Gets a list of user's SSH keys.
126140 #
127141 # @example
224238 #
225239 # @param [String] email Email address
226240 # @param [Integer] user_id The ID of a user.
227 # @return [Gitlab::ObjectifiedHash]
228 def add_email(email, user_id = nil)
241 # @param [Boolean] skip_confirmation Skip confirmation and assume e-mail is verified
242 # @return [Gitlab::ObjectifiedHash]
243 def add_email(email, user_id = nil, skip_confirmation = nil)
229244 url = user_id.to_i.zero? ? '/user/emails' : "/users/#{user_id}/emails"
230 post(url, body: { email: email })
245 if skip_confirmation.nil?
246 post(url, body: { email: email })
247 else
248 post(url, body: { email: email, skip_confirmation: skip_confirmation })
249 end
231250 end
232251
233252 # Delete email
1818 include ContainerRegistry
1919 include Deployments
2020 include Environments
21 include EpicIssues
2122 include Epics
2223 include Events
2324 include Features
6061 include Templates
6162 include Todos
6263 include Users
64 include UserSnippets
6365 include Versions
6466 include Wikis
6567
6262 else
6363 @response.parsed_response
6464 end
65 rescue Gitlab::Error::Parsing
66 # Return stringified response when receiving a
67 # parsing error to avoid obfuscation of the
68 # api error.
69 #
70 # note: The Gitlab API does not always return valid
71 # JSON when there are errors.
72 @response.to_s
6573 end
6674
6775 # Handle error response message in case of nested hashes
8181 def change_help_output!(cmd, output_str)
8282 output_str = +output_str
8383 output_str.gsub!(/#{cmd}\((.*?)\)/m, cmd + ' \1')
84 output_str.gsub!(/\,[\s]*/, ' ')
84 output_str.gsub!(/,\s*/, ' ')
8585
8686 # Ensure @option descriptions are on a single line
8787 output_str.gsub!(/\n\[/, " \[")
8888 output_str.gsub!(/\s(@)/, "\n@")
89 output_str.gsub!(/(\])\n(\:)/, '\1 \2')
90 output_str.gsub!(/(\:.*)(\n)(.*\.)/, '\1 \3')
89 output_str.gsub!(/(\])\n(:)/, '\1 \2')
90 output_str.gsub!(/(:.*)(\n)(.*\.)/, '\1 \3')
9191 output_str.gsub!(/\{(.+)\}/, '"{\1}"')
9292 end
9393 end
66 def initialize(hash)
77 @hash = hash
88 @data = hash.each_with_object({}) do |(key, value), data|
9 value = ObjectifiedHash.new(value) if value.is_a? Hash
9 value = self.class.new(value) if value.is_a? Hash
10 value = value.map { |v| v.is_a?(Hash) ? self.class.new(v) : v } if value.is_a? Array
1011 data[key.to_s] = value
1112 end
1213 end
1314
1415 # @return [Hash] The original hash.
1516 def to_hash
16 @hash
17 hash
1718 end
1819 alias to_h to_hash
1920
2021 # @return [String] Formatted string with the class name, object id and original hash.
2122 def inspect
22 "#<#{self.class}:#{object_id} {hash: #{@hash.inspect}}"
23 "#<#{self.class}:#{object_id} {hash: #{hash.inspect}}"
2324 end
2425
25 # Delegate to ObjectifiedHash.
26 def method_missing(key)
27 @data.key?(key.to_s) ? @data[key.to_s] : super
26 def [](key)
27 data[key]
28 end
29
30 private
31
32 attr_reader :hash, :data
33
34 # Respond to messages for which `self.data` has a key
35 def method_missing(method_name, *args, &block)
36 if data.key?(method_name.to_s)
37 data[method_name.to_s]
38 elsif data.respond_to?(method_name)
39 warn 'WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.'
40 data.send(method_name, *args, &block)
41 else
42 super
43 end
2844 end
2945
3046 def respond_to_missing?(method_name, include_private = false)
31 @hash.keys.map(&:to_sym).include?(method_name.to_sym) || super
47 hash.keys.map(&:to_sym).include?(method_name.to_sym) || super
3248 end
3349 end
3450 end
66 class PageLinks
77 HEADER_LINK = 'Link'
88 DELIM_LINKS = ','
9 LINK_REGEX = /<([^>]+)>; rel=\"([^\"]+)\"/.freeze
9 LINK_REGEX = /<([^>]+)>; rel="([^"]+)"/.freeze
1010 METAS = %w[last next first prev].freeze
1111
1212 attr_accessor(*METAS)
4141 end
4242 end
4343
44 def auto_paginate
45 response = block_given? ? nil : []
46 each_page do |page|
47 if block_given?
48 page.each do |item|
49 yield item
50 end
51 else
52 response += page
53 end
54 end
55 response
44 def lazy_paginate
45 to_enum(:each_page).lazy.flat_map(&:to_ary)
5646 end
5747
58 def paginate_with_limit(limit)
59 response = block_given? ? nil : []
60 count = 0
61 each_page do |page|
62 if block_given?
63 page.each do |item|
64 yield item
65 count += 1
66 break if count >= limit
67 end
68 else
69 response += page[0, limit - count]
70 count = response.length
71 end
72 break if count >= limit
73 end
74 response
48 def auto_paginate(&block)
49 return lazy_paginate.to_a unless block_given?
50
51 lazy_paginate.each(&block)
52 end
53
54 def paginate_with_limit(limit, &block)
55 return lazy_paginate.take(limit).to_a unless block_given?
56
57 lazy_paginate.take(limit).each(&block)
7558 end
7659
7760 def last_page?
8265 def last_page
8366 return nil if @client.nil? || !has_last_page?
8467
85 path = @links.last.sub(/#{@client.endpoint}/, '')
86 @client.get(path)
68 @client.get(client_relative_path(@links.last))
8769 end
8870
8971 def first_page?
9476 def first_page
9577 return nil if @client.nil? || !has_first_page?
9678
97 path = @links.first.sub(/#{@client.endpoint}/, '')
98 @client.get(path)
79 @client.get(client_relative_path(@links.first))
9980 end
10081
10182 def next_page?
10687 def next_page
10788 return nil if @client.nil? || !has_next_page?
10889
109 path = @links.next.sub(/#{@client.endpoint}/, '')
110 @client.get(path)
90 @client.get(client_relative_path(@links.next))
11191 end
11292
11393 def prev_page?
11898 def prev_page
11999 return nil if @client.nil? || !has_prev_page?
120100
121 path = @links.prev.sub(/#{@client.endpoint}/, '')
122 @client.get(path)
101 @client.get(client_relative_path(@links.prev))
102 end
103
104 def client_relative_path(link)
105 client_endpoint_path = URI.parse(@client.endpoint).request_uri # api/v4
106 URI.parse(link).request_uri.sub(client_endpoint_path, '')
123107 end
124108 end
125109 end
00 # frozen_string_literal: true
11
22 module Gitlab
3 VERSION = '4.14.1'
3 VERSION = '4.16.1'
44 end
4141 #
4242 # @return [Array<Symbol>]
4343 def self.actions
44 hidden = /endpoint|private_token|auth_token|user_agent|sudo|get|post|put|\Adelete\z|validate|request_defaults|httparty/
44 hidden =
45 /endpoint|private_token|auth_token|user_agent|sudo|get|post|put|\Adelete\z|validate\z|request_defaults|httparty/
4546 (Gitlab::Client.instance_methods - Object.methods).reject { |e| e[hidden] }
4647 end
4748 end
0 {
1 "id": 1,
2 "username": "raymond_smith",
3 "name": "Raymond Smith",
4 "state": "active",
5 "created_at": "2012-10-22T14:13:35Z",
6 "requested_at": "2012-10-22T14:13:35Z"
7 }
0 {"id":1,"username":"raymond_smith","name":"Raymond Smith","state":"active","created_at":"2012-10-22T14:13:35Z","requested_at":"2012-10-22T14:13:35Z"}
0 [
1 {
2 "id": 1,
3 "username": "raymond_smith",
4 "name": "Raymond Smith",
5 "state": "active",
6 "created_at": "2012-10-22T14:13:35Z",
7 "requested_at": "2012-10-22T14:13:35Z"
8 },
9 {
10 "id": 2,
11 "username": "john_doe",
12 "name": "John Doe",
13 "state": "active",
14 "created_at": "2012-10-22T14:13:35Z",
15 "requested_at": "2012-10-22T14:13:35Z"
16 }
17 ]
0 [{"id":1,"username":"raymond_smith","name":"Raymond Smith","state":"active","created_at":"2012-10-22T14:13:35Z","requested_at":"2012-10-22T14:13:35Z"},{"id":2,"username":"john_doe","name":"John Doe","state":"active","created_at":"2012-10-22T14:13:35Z","requested_at":"2012-10-22T14:13:35Z"}]
0 [{"username":"someuser","last_activity_on":"2020-03-16","last_activity_at":"2020-03-16"}]
0 {
1 "default_projects_limit": 100000,
2 "signup_enabled": true,
3 "id": 1,
4 "default_branch_protection": 2,
5 "restricted_visibility_levels": [],
6 "password_authentication_enabled_for_web": true,
7 "after_sign_out_path": null,
8 "max_attachment_size": 10,
9 "user_oauth_applications": true,
10 "updated_at": "2016-01-04T15:44:55.176Z",
11 "session_expire_delay": 10080,
12 "home_page_url": null,
13 "default_snippet_visibility": "private",
14 "domain_whitelist": [],
15 "domain_blacklist_enabled": false,
16 "domain_blacklist": [],
17 "created_at": "2016-01-04T15:44:55.176Z",
18 "default_project_visibility": "private",
19 "default_group_visibility": "private",
20 "gravatar_enabled": true,
21 "sign_in_text": null,
22 "container_registry_token_expire_delay": 5,
23 "repository_storages": [
24 "default"
25 ],
26 "plantuml_enabled": false,
27 "plantuml_url": null,
28 "terminal_max_session_time": 0,
29 "polling_interval_multiplier": 1,
30 "rsa_key_restriction": 0,
31 "dsa_key_restriction": 0,
32 "ecdsa_key_restriction": 0,
33 "ed25519_key_restriction": 0,
34 "first_day_of_week": 0,
35 "enforce_terms": true,
36 "terms": "Hello world!",
37 "performance_bar_allowed_group_id": 42,
38 "instance_statistics_visibility_private": false,
39 "user_show_add_ssh_key_message": true,
40 "file_template_project_id": 1,
41 "local_markdown_version": 0,
42 "geo_node_allowed_ips": "0.0.0.0/0, ::/0"
43 }
0 {"default_projects_limit":100000,"signup_enabled":true,"id":1,"default_branch_protection":2,"restricted_visibility_levels":[],"password_authentication_enabled_for_web":true,"after_sign_out_path":null,"max_attachment_size":10,"user_oauth_applications":true,"updated_at":"2016-01-04T15:44:55.176Z","session_expire_delay":10080,"home_page_url":null,"default_snippet_visibility":"private","domain_whitelist":[],"domain_blacklist_enabled":false,"domain_blacklist":[],"created_at":"2016-01-04T15:44:55.176Z","default_project_visibility":"private","default_group_visibility":"private","gravatar_enabled":true,"sign_in_text":null,"container_registry_token_expire_delay":5,"repository_storages":["default"],"plantuml_enabled":false,"plantuml_url":null,"terminal_max_session_time":0,"polling_interval_multiplier":1,"rsa_key_restriction":0,"dsa_key_restriction":0,"ecdsa_key_restriction":0,"ed25519_key_restriction":0,"first_day_of_week":0,"enforce_terms":true,"terms":"Hello world!","performance_bar_allowed_group_id":42,"instance_statistics_visibility_private":false,"user_show_add_ssh_key_message":true,"file_template_project_id":1,"local_markdown_version":0,"geo_node_allowed_ips":"0.0.0.0/0, ::/0"}
0 {
1 "id": 1,
2 "username": "raymond_smith",
3 "name": "Raymond Smith",
4 "state": "active",
5 "created_at": "2012-10-22T14:13:35Z",
6 "access_level": 20
7 }
0 {"id":1,"username":"raymond_smith","name":"Raymond Smith","state":"active","created_at":"2012-10-22T14:13:35Z","access_level":20}
0 {
1 "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=64&d=identicon"
2 }
0 {"avatar_url":"https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=64&d=identicon"}
0 {
1 "id": 1,
2 "name": "project issue board",
3 "project": {
4 "id": 5,
5 "name": "Diaspora Project Site",
6 "name_with_namespace": "Diaspora / Diaspora Project Site",
7 "path": "diaspora-project-site",
8 "path_with_namespace": "diaspora/diaspora-project-site",
9 "http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
10 "web_url": "http://example.com/diaspora/diaspora-project-site"
11 },
12 "milestone": {
13 "id": 12,
14 "title": "10.0"
15 },
16 "lists" : [
17 {
18 "id" : 1,
19 "label" : {
20 "name" : "Testing",
21 "color" : "#F0AD4E",
22 "description" : null
23 },
24 "position" : 1
25 },
26 {
27 "id" : 2,
28 "label" : {
29 "name" : "Ready",
30 "color" : "#FF0000",
31 "description" : null
32 },
33 "position" : 2
34 },
35 {
36 "id" : 3,
37 "label" : {
38 "name" : "Production",
39 "color" : "#FF5F00",
40 "description" : null
41 },
42 "position" : 3
43 }
44 ]
45 }
0 {"id":1,"name":"project issue board","project":{"id":5,"name":"Diaspora Project Site","name_with_namespace":"Diaspora / Diaspora Project Site","path":"diaspora-project-site","path_with_namespace":"diaspora/diaspora-project-site","http_url_to_repo":"http://example.com/diaspora/diaspora-project-site.git","web_url":"http://example.com/diaspora/diaspora-project-site"},"milestone":{"id":12,"title":"10.0"},"lists":[{"id":1,"label":{"name":"Testing","color":"#F0AD4E","description":null},"position":1},{"id":2,"label":{"name":"Ready","color":"#FF0000","description":null},"position":2},{"id":3,"label":{"name":"Production","color":"#FF5F00","description":null},"position":3}]}
0 { "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1 }
0 {"id":1,"label":{"name":"Testing","color":"#F0AD4E","description":null},"position":1}
0 [ { "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1 }, { "id" : 2, "label" : { "name" : "Ready", "color" : "#FF0000", "description" : null }, "position" : 2 }, { "id" : 3, "label" : { "name" : "Production", "color" : "#FF5F00", "description" : null }, "position" : 3 } ]
0 [{"id":1,"label":{"name":"Testing","color":"#F0AD4E","description":null},"position":1},{"id":2,"label":{"name":"Ready","color":"#FF0000","description":null},"position":2},{"id":3,"label":{"name":"Production","color":"#FF5F00","description":null},"position":3}]
0 [ { "id" : 1, "lists" : [ { "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1 }, { "id" : 2, "label" : { "name" : "Ready", "color" : "#FF0000", "description" : null }, "position" : 2 }, { "id" : 3, "label" : { "name" : "Production", "color" : "#FF5F00", "description" : null }, "position" : 3 } ] } ]
0 [{"id":1,"lists":[{"id":1,"label":{"name":"Testing","color":"#F0AD4E","description":null},"position":1},{"id":2,"label":{"name":"Ready","color":"#FF0000","description":null},"position":2},{"id":3,"label":{"name":"Production","color":"#FF5F00","description":null},"position":3}]}]
0 {"name":"api","commit":{"id":"f7dd067490fe57505f7226c3b54d3127d2f7fd46","parents":[{"id":"949b1df930bedace1dbd755aaa4a82e8c451a616"}],"tree":"f8c4b21c036339f92fcc5482aa28a41250553b27","message":"API: expose issues project id","author":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"committer":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"authored_date":"2012-07-25T04:22:21-07:00","committed_date":"2012-07-25T04:22:21-07:00"},"protected": true}
0 {"name":"api","commit":{"id":"f7dd067490fe57505f7226c3b54d3127d2f7fd46","parents":[{"id":"949b1df930bedace1dbd755aaa4a82e8c451a616"}],"tree":"f8c4b21c036339f92fcc5482aa28a41250553b27","message":"API: expose issues project id","author":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"committer":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"authored_date":"2012-07-25T04:22:21-07:00","committed_date":"2012-07-25T04:22:21-07:00"},"protected":true}
0 {
1 "branch_name": "api"
2 }
0 {"branch_name":"api"}
0 [{"name":"api","commit":{"id":"f7dd067490fe57505f7226c3b54d3127d2f7fd46","parents":[{"id":"949b1df930bedace1dbd755aaa4a82e8c451a616"}],"tree":"f8c4b21c036339f92fcc5482aa28a41250553b27","message":"API: expose issues project id","author":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"committer":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"authored_date":"2012-07-25T04:22:21-07:00","committed_date":"2012-07-25T04:22:21-07:00"}},{"name":"dashboard-feed","commit":{"id":"f8f6ff065eccc6ede4d35ed87a09bb962b84ca25","parents":[{"id":"2cf8010792c3075824ee27d0f037aeb178cbbf7e"}],"tree":"e17f2157143d550891d4669c10b7446e4739bc6d","message":"add projects atom feed","author":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"committer":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"authored_date":"2012-05-31T23:42:02-07:00","committed_date":"2012-05-31T23:42:02-07:00"}},{"name":"master","commit":{"id":"2cf8010792c3075824ee27d0f037aeb178cbbf7e","parents":[{"id":"af226ae9c9af406c8a0e0bbdf364563495c2f432"},{"id":"e851cb07762aa464aae10e8b4b28de87c1a6f925"}],"tree":"6c6845838039f01723d91f395a1d2fa1dcc82522","message":"Merge pull request #868 from SaitoWu/bugfix/encoding\n\nBugfix/encoding","author":{"name":"Dmitriy Zaporozhets","email":"dmitriy.zaporozhets@gmail.com"},"committer":{"name":"Dmitriy Zaporozhets","email":"dmitriy.zaporozhets@gmail.com"},"authored_date":"2012-05-30T00:24:43-07:00","committed_date":"2012-05-30T00:24:43-07:00"}},{"name":"preview_notes","commit":{"id":"3749e0d99ac6bfbc65889b1b7a5310e14e7fe89a","parents":[{"id":"2483181f2c3d4ea7d2c68147b19bc07fc3937b0c"}],"tree":"f8c56161b0d6561568f088df9961362eb1ece88b","message":"pass project_id to notes preview path","author":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"committer":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"authored_date":"2012-08-09T23:46:27-07:00","committed_date":"2012-08-09T23:46:27-07:00"}},{"name":"refactoring","commit":{"id":"7c7761099cae83f59fe5780340e100be890847b2","parents":[{"id":"058d80b3363dd4fc4417ca4f60f76119188a2470"}],"tree":"d7d4a94c700dc0e84ee943019213d2358a49c413","message":"fix deprecation warnings","author":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"committer":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"authored_date":"2012-05-29T07:16:28-07:00","committed_date":"2012-05-29T07:16:28-07:00"}}]
0 [{"name":"api","commit":{"id":"f7dd067490fe57505f7226c3b54d3127d2f7fd46","parents":[{"id":"949b1df930bedace1dbd755aaa4a82e8c451a616"}],"tree":"f8c4b21c036339f92fcc5482aa28a41250553b27","message":"API: expose issues project id","author":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"committer":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"authored_date":"2012-07-25T04:22:21-07:00","committed_date":"2012-07-25T04:22:21-07:00"}},{"name":"dashboard-feed","commit":{"id":"f8f6ff065eccc6ede4d35ed87a09bb962b84ca25","parents":[{"id":"2cf8010792c3075824ee27d0f037aeb178cbbf7e"}],"tree":"e17f2157143d550891d4669c10b7446e4739bc6d","message":"add projects atom feed","author":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"committer":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"authored_date":"2012-05-31T23:42:02-07:00","committed_date":"2012-05-31T23:42:02-07:00"}},{"name":"master","commit":{"id":"2cf8010792c3075824ee27d0f037aeb178cbbf7e","parents":[{"id":"af226ae9c9af406c8a0e0bbdf364563495c2f432"},{"id":"e851cb07762aa464aae10e8b4b28de87c1a6f925"}],"tree":"6c6845838039f01723d91f395a1d2fa1dcc82522","message":"Merge pull request #868 from SaitoWu/bugfix/encoding\n\nBugfix/encoding","author":{"name":"Dmitriy Zaporozhets","email":"dmitriy.zaporozhets@gmail.com"},"committer":{"name":"Dmitriy Zaporozhets","email":"dmitriy.zaporozhets@gmail.com"},"authored_date":"2012-05-30T00:24:43-07:00","committed_date":"2012-05-30T00:24:43-07:00"}},{"name":"preview_notes","commit":{"id":"3749e0d99ac6bfbc65889b1b7a5310e14e7fe89a","parents":[{"id":"2483181f2c3d4ea7d2c68147b19bc07fc3937b0c"}],"tree":"f8c56161b0d6561568f088df9961362eb1ece88b","message":"pass project_id to notes preview path","author":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"committer":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"authored_date":"2012-08-09T23:46:27-07:00","committed_date":"2012-08-09T23:46:27-07:00"}},{"name":"refactoring","commit":{"id":"7c7761099cae83f59fe5780340e100be890847b2","parents":[{"id":"058d80b3363dd4fc4417ca4f60f76119188a2470"}],"tree":"d7d4a94c700dc0e84ee943019213d2358a49c413","message":"fix deprecation warnings","author":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"committer":{"name":"Nihad Abbasov","email":"narkoz.2008@gmail.com"},"authored_date":"2012-05-29T07:16:28-07:00","committed_date":"2012-05-29T07:16:28-07:00"}}]
0 {
1 "message":"Deploy in progress",
2 "starts_at":"2016-08-24T23:21:16.078Z",
3 "ends_at":"2016-08-26T23:21:16.080Z",
4 "color":"#cecece",
5 "font":"#FFFFFF",
6 "id":1,
7 "active":false
8 }
0 {"message":"Deploy in progress","starts_at":"2016-08-24T23:21:16.078Z","ends_at":"2016-08-26T23:21:16.080Z","color":"#cecece","font":"#FFFFFF","id":1,"active":false}
0 [
1 {
2 "message":"Example broadcast message",
3 "starts_at":"2016-08-24T23:21:16.078Z",
4 "ends_at":"2016-08-26T23:21:16.080Z",
5 "color":"#E75E40",
6 "font":"#FFFFFF",
7 "id":1,
8 "active": false
9 }
10 ]
0 [{"message":"Example broadcast message","starts_at":"2016-08-24T23:21:16.078Z","ends_at":"2016-08-26T23:21:16.080Z","color":"#E75E40","font":"#FFFFFF","id":1,"active":false}]
0 {
1 "commit": {
2 "author_email": "admin@example.com",
3 "author_name": "Administrator",
4 "created_at": "2015-12-24T16:51:14.000+01:00",
5 "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
6 "message": "Test the CI integration.",
7 "short_id": "0ff3ae19",
8 "title": "Test the CI integration."
9 },
10 "coverage": null,
11 "created_at": "2015-12-24T15:51:21.880Z",
12 "download_url": null,
13 "finished_at": "2015-12-24T17:54:31.198Z",
14 "id": 8,
15 "name": "rubocop",
16 "ref": "master",
17 "runner": null,
18 "stage": "test",
19 "started_at": "2015-12-24T17:54:30.733Z",
20 "status": "failed",
21 "tag": false,
22 "user": {
23 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
24 "bio": null,
25 "created_at": "2015-12-21T13:14:24.077Z",
26 "id": 1,
27 "is_admin": true,
28 "linkedin": "",
29 "name": "John Smith",
30 "skype": "",
31 "state": "active",
32 "twitter": "",
33 "username": "root",
34 "web_url": "http://gitlab.dev/u/root",
35 "website_url": ""
36 }
37 }
0 {"commit":{"author_email":"admin@example.com","author_name":"Administrator","created_at":"2015-12-24T16:51:14.000+01:00","id":"0ff3ae198f8601a285adcf5c0fff204ee6fba5fd","message":"Test the CI integration.","short_id":"0ff3ae19","title":"Test the CI integration."},"coverage":null,"created_at":"2015-12-24T15:51:21.880Z","download_url":null,"finished_at":"2015-12-24T17:54:31.198Z","id":8,"name":"rubocop","ref":"master","runner":null,"stage":"test","started_at":"2015-12-24T17:54:30.733Z","status":"failed","tag":false,"user":{"avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","bio":null,"created_at":"2015-12-21T13:14:24.077Z","id":1,"is_admin":true,"linkedin":"","name":"John Smith","skype":"","state":"active","twitter":"","username":"root","web_url":"http://gitlab.dev/u/root","website_url":""}}
spec/fixtures/build_artifacts.json less more
Binary diff not shown
0 {
1 "commit": {
2 "author_email": "admin@example.com",
3 "author_name": "John Smith",
4 "created_at": "2015-12-24T16:51:14.000+01:00",
5 "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
6 "message": "Test the CI integration.",
7 "short_id": "0ff3ae19",
8 "title": "Test the CI integration."
9 },
10 "coverage": null,
11 "created_at": "2016-01-11T10:13:33.506Z",
12 "download_url": null,
13 "finished_at": "2016-01-11T10:14:09.526Z",
14 "id": 69,
15 "name": "rubocop",
16 "ref": "master",
17 "runner": null,
18 "stage": "test",
19 "started_at": null,
20 "status": "canceled",
21 "tag": false,
22 "user": null
23 }
0 {"commit":{"author_email":"admin@example.com","author_name":"John Smith","created_at":"2015-12-24T16:51:14.000+01:00","id":"0ff3ae198f8601a285adcf5c0fff204ee6fba5fd","message":"Test the CI integration.","short_id":"0ff3ae19","title":"Test the CI integration."},"coverage":null,"created_at":"2016-01-11T10:13:33.506Z","download_url":null,"finished_at":"2016-01-11T10:14:09.526Z","id":69,"name":"rubocop","ref":"master","runner":null,"stage":"test","started_at":null,"status":"canceled","tag":false,"user":null}
0 {
1 "commit": {
2 "author_email": "admin@example.com",
3 "author_name": "John Smith",
4 "created_at": "2015-12-24T16:51:14.000+01:00",
5 "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
6 "message": "Test the CI integration.",
7 "short_id": "0ff3ae19",
8 "title": "Test the CI integration."
9 },
10 "coverage": null,
11 "download_url": null,
12 "id": 69,
13 "name": "rubocop",
14 "ref": "master",
15 "runner": null,
16 "stage": "test",
17 "created_at": "2016-01-11T10:13:33.506Z",
18 "started_at": "2016-01-11T10:13:33.506Z",
19 "finished_at": "2016-01-11T10:15:10.506Z",
20 "status": "failed",
21 "tag": false,
22 "user": null
23 }
0 {"commit":{"author_email":"admin@example.com","author_name":"John Smith","created_at":"2015-12-24T16:51:14.000+01:00","id":"0ff3ae198f8601a285adcf5c0fff204ee6fba5fd","message":"Test the CI integration.","short_id":"0ff3ae19","title":"Test the CI integration."},"coverage":null,"download_url":null,"id":69,"name":"rubocop","ref":"master","runner":null,"stage":"test","created_at":"2016-01-11T10:13:33.506Z","started_at":"2016-01-11T10:13:33.506Z","finished_at":"2016-01-11T10:15:10.506Z","status":"failed","tag":false,"user":null}
0 {
1 "commit": {
2 "author_email": "admin@example.com",
3 "author_name": "John Smith",
4 "created_at": "2015-12-24T16:51:14.000+01:00",
5 "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
6 "message": "Test the CI integration.",
7 "short_id": "0ff3ae19",
8 "title": "Test the CI integration."
9 },
10 "coverage": null,
11 "created_at": "2016-01-11T10:13:33.506Z",
12 "download_url": null,
13 "finished_at": null,
14 "id": 69,
15 "name": "rubocop",
16 "ref": "master",
17 "runner": null,
18 "stage": "test",
19 "started_at": null,
20 "status": "pending",
21 "tag": false,
22 "user": null
23 }
0 {"commit":{"author_email":"admin@example.com","author_name":"John Smith","created_at":"2015-12-24T16:51:14.000+01:00","id":"0ff3ae198f8601a285adcf5c0fff204ee6fba5fd","message":"Test the CI integration.","short_id":"0ff3ae19","title":"Test the CI integration."},"coverage":null,"created_at":"2016-01-11T10:13:33.506Z","download_url":null,"finished_at":null,"id":69,"name":"rubocop","ref":"master","runner":null,"stage":"test","started_at":null,"status":"pending","tag":false,"user":null}
0 [
1 {
2 "commit": {
3 "author_email": "admin@example.com",
4 "author_name": "Administrator",
5 "created_at": "2015-12-24T16:51:14.000+01:00",
6 "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
7 "message": "Test the CI integration.",
8 "short_id": "0ff3ae19",
9 "title": "Test the CI integration."
10 },
11 "coverage": null,
12 "created_at": "2015-12-24T15:51:21.802Z",
13 "download_url": null,
14 "finished_at": "2015-12-24T17:54:27.895Z",
15 "id": 7,
16 "name": "teaspoon",
17 "ref": "master",
18 "runner": null,
19 "stage": "test",
20 "started_at": "2015-12-24T17:54:27.722Z",
21 "status": "failed",
22 "tag": false,
23 "user": {
24 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
25 "bio": null,
26 "created_at": "2015-12-21T13:14:24.077Z",
27 "id": 1,
28 "is_admin": true,
29 "linkedin": "",
30 "name": "Administrator",
31 "skype": "",
32 "state": "active",
33 "twitter": "",
34 "username": "root",
35 "web_url": "http://gitlab.dev/u/root",
36 "website_url": ""
37 }
38 },
39 {
40 "commit": {
41 "author_email": "admin@example.com",
42 "author_name": "Administrator",
43 "created_at": "2015-12-24T16:51:14.000+01:00",
44 "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
45 "message": "Test the CI integration.",
46 "short_id": "0ff3ae19",
47 "title": "Test the CI integration."
48 },
49 "coverage": null,
50 "created_at": "2015-12-24T15:51:21.727Z",
51 "download_url": null,
52 "finished_at": "2015-12-24T17:54:24.921Z",
53 "id": 6,
54 "name": "spinach:other",
55 "ref": "master",
56 "runner": null,
57 "stage": "test",
58 "started_at": "2015-12-24T17:54:24.729Z",
59 "status": "failed",
60 "tag": false,
61 "user": {
62 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
63 "bio": null,
64 "created_at": "2015-12-21T13:14:24.077Z",
65 "id": 1,
66 "is_admin": true,
67 "linkedin": "",
68 "name": "Administrator",
69 "skype": "",
70 "state": "active",
71 "twitter": "",
72 "username": "root",
73 "web_url": "http://gitlab.dev/u/root",
74 "website_url": ""
75 }
76 }
77 ]
0 [{"commit":{"author_email":"admin@example.com","author_name":"Administrator","created_at":"2015-12-24T16:51:14.000+01:00","id":"0ff3ae198f8601a285adcf5c0fff204ee6fba5fd","message":"Test the CI integration.","short_id":"0ff3ae19","title":"Test the CI integration."},"coverage":null,"created_at":"2015-12-24T15:51:21.802Z","download_url":null,"finished_at":"2015-12-24T17:54:27.895Z","id":7,"name":"teaspoon","ref":"master","runner":null,"stage":"test","started_at":"2015-12-24T17:54:27.722Z","status":"failed","tag":false,"user":{"avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","bio":null,"created_at":"2015-12-21T13:14:24.077Z","id":1,"is_admin":true,"linkedin":"","name":"Administrator","skype":"","state":"active","twitter":"","username":"root","web_url":"http://gitlab.dev/u/root","website_url":""}},{"commit":{"author_email":"admin@example.com","author_name":"Administrator","created_at":"2015-12-24T16:51:14.000+01:00","id":"0ff3ae198f8601a285adcf5c0fff204ee6fba5fd","message":"Test the CI integration.","short_id":"0ff3ae19","title":"Test the CI integration."},"coverage":null,"created_at":"2015-12-24T15:51:21.727Z","download_url":null,"finished_at":"2015-12-24T17:54:24.921Z","id":6,"name":"spinach:other","ref":"master","runner":null,"stage":"test","started_at":"2015-12-24T17:54:24.729Z","status":"failed","tag":false,"user":{"avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","bio":null,"created_at":"2015-12-21T13:14:24.077Z","id":1,"is_admin":true,"linkedin":"","name":"Administrator","skype":"","state":"active","twitter":"","username":"root","web_url":"http://gitlab.dev/u/root","website_url":""}}]
0 [
1 {
2 "commit": {
3 "author_email": "admin@example.com",
4 "author_name": "Administrator",
5 "created_at": "2015-12-24T16:51:14.000+01:00",
6 "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
7 "message": "Test the CI integration.",
8 "short_id": "0ff3ae19",
9 "title": "Test the CI integration."
10 },
11 "coverage": null,
12 "created_at": "2016-01-11T10:13:33.506Z",
13 "download_url": null,
14 "finished_at": "2016-01-11T10:14:09.526Z",
15 "id": 69,
16 "name": "rubocop",
17 "ref": "master",
18 "runner": null,
19 "stage": "test",
20 "started_at": null,
21 "status": "canceled",
22 "tag": false,
23 "user": null
24 },
25 {
26 "commit": {
27 "author_email": "admin@example.com",
28 "author_name": "Administrator",
29 "created_at": "2015-12-24T16:51:14.000+01:00",
30 "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
31 "message": "Test the CI integration.",
32 "short_id": "0ff3ae19",
33 "title": "Test the CI integration."
34 },
35 "coverage": null,
36 "created_at": "2015-12-24T15:51:21.957Z",
37 "download_url": null,
38 "finished_at": "2015-12-24T17:54:33.913Z",
39 "id": 9,
40 "name": "brakeman",
41 "ref": "master",
42 "runner": null,
43 "stage": "test",
44 "started_at": "2015-12-24T17:54:33.727Z",
45 "status": "failed",
46 "tag": false,
47 "user": {
48 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
49 "bio": null,
50 "created_at": "2015-12-21T13:14:24.077Z",
51 "id": 1,
52 "is_admin": true,
53 "linkedin": "",
54 "name": "Administrator",
55 "skype": "",
56 "state": "active",
57 "twitter": "",
58 "username": "root",
59 "web_url": "http://gitlab.dev/u/root",
60 "website_url": ""
61 }
62 }
63 ]
0 [{"commit":{"author_email":"admin@example.com","author_name":"Administrator","created_at":"2015-12-24T16:51:14.000+01:00","id":"0ff3ae198f8601a285adcf5c0fff204ee6fba5fd","message":"Test the CI integration.","short_id":"0ff3ae19","title":"Test the CI integration."},"coverage":null,"created_at":"2016-01-11T10:13:33.506Z","download_url":null,"finished_at":"2016-01-11T10:14:09.526Z","id":69,"name":"rubocop","ref":"master","runner":null,"stage":"test","started_at":null,"status":"canceled","tag":false,"user":null},{"commit":{"author_email":"admin@example.com","author_name":"Administrator","created_at":"2015-12-24T16:51:14.000+01:00","id":"0ff3ae198f8601a285adcf5c0fff204ee6fba5fd","message":"Test the CI integration.","short_id":"0ff3ae19","title":"Test the CI integration."},"coverage":null,"created_at":"2015-12-24T15:51:21.957Z","download_url":null,"finished_at":"2015-12-24T17:54:33.913Z","id":9,"name":"brakeman","ref":"master","runner":null,"stage":"test","started_at":"2015-12-24T17:54:33.727Z","status":"failed","tag":false,"user":{"avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","bio":null,"created_at":"2015-12-21T13:14:24.077Z","id":1,"is_admin":true,"linkedin":"","name":"Administrator","skype":"","state":"active","twitter":"","username":"root","web_url":"http://gitlab.dev/u/root","website_url":""}}]
0
1 {
2 "commit": {
3 "id": "12d65c8dd2b2676fa3ac47d955accc085a37a9c1",
4 "short_id": "12d65c8dd2b",
5 "title": "JS fix",
6 "author_name": "Dmitriy Zaporozhets",
7 "author_email": "dmitriy.zaporozhets@gmail.com",
8 "created_at": "2014-02-27T10:27:00+02:00"
9 },
10 "commits": [{
11 "id": "12d65c8dd2b2676fa3ac47d955accc085a37a9c1",
12 "short_id": "12d65c8dd2b",
13 "title": "JS fix",
14 "author_name": "Dmitriy Zaporozhets",
15 "author_email": "dmitriy.zaporozhets@gmail.com",
16 "created_at": "2014-02-27T10:27:00+02:00"
17 }],
18 "diffs": [{
19 "old_path": "files/js/application.js",
20 "new_path": "files/js/application.js",
21 "a_mode": null,
22 "b_mode": "100644",
23 "diff": "--- a/files/js/application.js\n+++ b/files/js/application.js\n@@ -24,8 +24,10 @@\n //= require g.raphael-min\n //= require g.bar-min\n //= require branch-graph\n-//= require highlightjs.min\n-//= require ace/ace\n //= require_tree .\n //= require d3\n //= require underscore\n+\n+function fix() { \n+ alert(\"Fixed\")\n+}",
24 "new_file": false,
25 "renamed_file": false,
26 "deleted_file": false
27 }],
28 "compare_timeout": false,
29 "compare_same_ref": false
30 }
0 {"commit":{"id":"12d65c8dd2b2676fa3ac47d955accc085a37a9c1","short_id":"12d65c8dd2b","title":"JS fix","author_name":"Dmitriy Zaporozhets","author_email":"dmitriy.zaporozhets@gmail.com","created_at":"2014-02-27T10:27:00+02:00"},"commits":[{"id":"12d65c8dd2b2676fa3ac47d955accc085a37a9c1","short_id":"12d65c8dd2b","title":"JS fix","author_name":"Dmitriy Zaporozhets","author_email":"dmitriy.zaporozhets@gmail.com","created_at":"2014-02-27T10:27:00+02:00"}],"diffs":[{"old_path":"files/js/application.js","new_path":"files/js/application.js","a_mode":null,"b_mode":"100644","diff":"--- a/files/js/application.js\n+++ b/files/js/application.js\n@@ -24,8 +24,10 @@\n //= require g.raphael-min\n //= require g.bar-min\n //= require branch-graph\n-//= require highlightjs.min\n-//= require ace/ace\n //= require_tree .\n //= require d3\n //= require underscore\n+\n+function fix() { \n+ alert(\"Fixed\")\n+}","new_file":false,"renamed_file":false,"deleted_file":false}],"compare_timeout":false,"compare_same_ref":false}
0 [{
1 "name": "Dmitriy Zaporozhets",
2 "email": "dmitriy.zaporozhets@gmail.com",
3 "commits": 117,
4 "additions": 2097,
5 "deletions": 517
6 }, {
7 "name": "Jacob Vosmaer",
8 "email": "contact@jacobvosmaer.nl",
9 "commits": 33,
10 "additions": 338,
11 "deletions": 244
12 }]
0 [{"name":"Dmitriy Zaporozhets","email":"dmitriy.zaporozhets@gmail.com","commits":117,"additions":2097,"deletions":517},{"name":"Jacob Vosmaer","email":"contact@jacobvosmaer.nl","commits":33,"additions":338,"deletions":244}]
0 {
1 "source_issue": {
2 "id": 83,
3 "iid": 11,
4 "project_id": 4,
5 "created_at": "2016-01-07T12:44:33.959Z",
6 "title": "Issues with auth",
7 "state": "opened",
8 "assignees": [],
9 "assignee": null,
10 "labels": [
11 "bug"
12 ],
13 "author": {
14 "name": "Alexandra Bashirian",
15 "avatar_url": null,
16 "state": "active",
17 "web_url": "https://gitlab.example.com/eileen.lowe",
18 "id": 18,
19 "username": "eileen.lowe"
20 },
21 "description": null,
22 "updated_at": "2016-01-07T12:44:33.959Z",
23 "milestone": null,
24 "subscribed": true,
25 "user_notes_count": 0,
26 "due_date": null,
27 "web_url": "http://example.com/example/example/issues/11",
28 "confidential": false,
29 "weight": null
30 },
31 "target_issue": {
32 "id": 84,
33 "iid": 14,
34 "project_id": 4,
35 "created_at": "2016-01-07T12:44:33.959Z",
36 "title": "Issues with auth",
37 "state": "opened",
38 "assignees": [],
39 "assignee": null,
40 "labels": [
41 "bug"
42 ],
43 "author": {
44 "name": "Alexandra Bashirian",
45 "avatar_url": null,
46 "state": "active",
47 "web_url": "https://gitlab.example.com/eileen.lowe",
48 "id": 18,
49 "username": "eileen.lowe"
50 },
51 "description": null,
52 "updated_at": "2016-01-07T12:44:33.959Z",
53 "milestone": null,
54 "subscribed": true,
55 "user_notes_count": 0,
56 "due_date": null,
57 "web_url": "http://example.com/example/example/issues/14",
58 "confidential": false,
59 "weight": null
60 }
61 }
0 {"source_issue":{"id":83,"iid":11,"project_id":4,"created_at":"2016-01-07T12:44:33.959Z","title":"Issues with auth","state":"opened","assignees":[],"assignee":null,"labels":["bug"],"author":{"name":"Alexandra Bashirian","avatar_url":null,"state":"active","web_url":"https://gitlab.example.com/eileen.lowe","id":18,"username":"eileen.lowe"},"description":null,"updated_at":"2016-01-07T12:44:33.959Z","milestone":null,"subscribed":true,"user_notes_count":0,"due_date":null,"web_url":"http://example.com/example/example/issues/11","confidential":false,"weight":null},"target_issue":{"id":84,"iid":14,"project_id":4,"created_at":"2016-01-07T12:44:33.959Z","title":"Issues with auth","state":"opened","assignees":[],"assignee":null,"labels":["bug"],"author":{"name":"Alexandra Bashirian","avatar_url":null,"state":"active","web_url":"https://gitlab.example.com/eileen.lowe","id":18,"username":"eileen.lowe"},"description":null,"updated_at":"2016-01-07T12:44:33.959Z","milestone":null,"subscribed":true,"user_notes_count":0,"due_date":null,"web_url":"http://example.com/example/example/issues/14","confidential":false,"weight":null}}
0 {"id":1,"title":"This is a snippet","file_name":"test.txt","description":"Hello World snippet","visibility":"internal","author":{"id":1,"username":"john_smith","email":"john@example.com","name":"John Smith","state":"active","created_at":"2012-05-23T08:00:58Z"},"expires_at":null,"updated_at":"2012-06-28T10:52:04Z","created_at":"2012-06-28T10:52:04Z","project_id":null,"web_url":"http://example.com/snippets/1","raw_url":"http://example.com/snippets/1/raw"}
0 {
1 "id": 1,
2 "username": "raymond_smith",
3 "name": "Raymond Smith",
4 "state": "active",
5 "created_at": "2012-10-22T14:13:35Z",
6 "access_level": 30
7 }
0 {"id":1,"username":"raymond_smith","name":"Raymond Smith","state":"active","created_at":"2012-10-22T14:13:35Z","access_level":30}
0 {
1 "source_issue": {
2 "id": 83,
3 "iid": 11,
4 "project_id": 4,
5 "created_at": "2016-01-07T12:44:33.959Z",
6 "title": "Issues with auth",
7 "state": "opened",
8 "assignees": [],
9 "assignee": null,
10 "labels": [
11 "bug"
12 ],
13 "author": {
14 "name": "Alexandra Bashirian",
15 "avatar_url": null,
16 "state": "active",
17 "web_url": "https://gitlab.example.com/eileen.lowe",
18 "id": 18,
19 "username": "eileen.lowe"
20 },
21 "description": null,
22 "updated_at": "2016-01-07T12:44:33.959Z",
23 "milestone": null,
24 "subscribed": true,
25 "user_notes_count": 0,
26 "due_date": null,
27 "web_url": "http://example.com/example/example/issues/11",
28 "confidential": false,
29 "weight": null
30 },
31 "target_issue": {
32 "id": 84,
33 "iid": 14,
34 "project_id": 4,
35 "created_at": "2016-01-07T12:44:33.959Z",
36 "title": "Issues with auth",
37 "state": "opened",
38 "assignees": [],
39 "assignee": null,
40 "labels": [
41 "bug"
42 ],
43 "author": {
44 "name": "Alexandra Bashirian",
45 "avatar_url": null,
46 "state": "active",
47 "web_url": "https://gitlab.example.com/eileen.lowe",
48 "id": 18,
49 "username": "eileen.lowe"
50 },
51 "description": null,
52 "updated_at": "2016-01-07T12:44:33.959Z",
53 "milestone": null,
54 "subscribed": true,
55 "user_notes_count": 0,
56 "due_date": null,
57 "web_url": "http://example.com/example/example/issues/14",
58 "confidential": false,
59 "weight": null
60 }
61 }
0 {"source_issue":{"id":83,"iid":11,"project_id":4,"created_at":"2016-01-07T12:44:33.959Z","title":"Issues with auth","state":"opened","assignees":[],"assignee":null,"labels":["bug"],"author":{"name":"Alexandra Bashirian","avatar_url":null,"state":"active","web_url":"https://gitlab.example.com/eileen.lowe","id":18,"username":"eileen.lowe"},"description":null,"updated_at":"2016-01-07T12:44:33.959Z","milestone":null,"subscribed":true,"user_notes_count":0,"due_date":null,"web_url":"http://example.com/example/example/issues/11","confidential":false,"weight":null},"target_issue":{"id":84,"iid":14,"project_id":4,"created_at":"2016-01-07T12:44:33.959Z","title":"Issues with auth","state":"opened","assignees":[],"assignee":null,"labels":["bug"],"author":{"name":"Alexandra Bashirian","avatar_url":null,"state":"active","web_url":"https://gitlab.example.com/eileen.lowe","id":18,"username":"eileen.lowe"},"description":null,"updated_at":"2016-01-07T12:44:33.959Z","milestone":null,"subscribed":true,"user_notes_count":0,"due_date":null,"web_url":"http://example.com/example/example/issues/14","confidential":false,"weight":null}}
0 {
1 "id": 42,
2 "iid": 2,
3 "ref": "master",
4 "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
5 "created_at": "2016-08-11T11:32:35.444Z",
6 "user": {
7 "name": "Administrator",
8 "username": "root",
9 "id": 1,
10 "state": "active",
11 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
12 "web_url": "http://localhost:3000/root"
13 },
14 "environment": {
15 "id": 9,
16 "name": "production",
17 "external_url": "https://about.gitlab.com"
18 },
19 "deployable": {
20 "id": 664,
21 "status": "success",
22 "stage": "deploy",
23 "name": "deploy",
24 "ref": "master",
25 "tag": false,
26 "coverage": null,
27 "created_at": "2016-08-11T11:32:24.456Z",
28 "started_at": null,
29 "finished_at": "2016-08-11T11:32:35.145Z",
30 "user": {
31 "name": "Administrator",
32 "username": "root",
33 "id": 1,
34 "state": "active",
35 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
36 "web_url": "http://localhost:3000/root",
37 "created_at": "2016-08-11T07:09:20.351Z",
38 "bio": null,
39 "location": null,
40 "skype": "",
41 "linkedin": "",
42 "twitter": "",
43 "website_url": ""
44 },
45 "commit": {
46 "id": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
47 "short_id": "a91957a8",
48 "title": "Merge branch 'rename-readme' into 'master'\r",
49 "author_name": "Administrator",
50 "author_email": "admin@example.com",
51 "created_at": "2016-08-11T13:28:26.000+02:00",
52 "message": "Merge branch 'rename-readme' into 'master'\r\n\r\nRename README\r\n\r\n\r\n\r\nSee merge request !2"
53 },
54 "runner": null
55 }
56 }
0 {"id":42,"iid":2,"ref":"master","sha":"a91957a858320c0e17f3a0eca7cfacbff50ea29a","created_at":"2016-08-11T11:32:35.444Z","user":{"name":"Administrator","username":"root","id":1,"state":"active","avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","web_url":"http://localhost:3000/root"},"environment":{"id":9,"name":"production","external_url":"https://about.gitlab.com"},"deployable":{"id":664,"status":"success","stage":"deploy","name":"deploy","ref":"master","tag":false,"coverage":null,"created_at":"2016-08-11T11:32:24.456Z","started_at":null,"finished_at":"2016-08-11T11:32:35.145Z","user":{"name":"Administrator","username":"root","id":1,"state":"active","avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","web_url":"http://localhost:3000/root","created_at":"2016-08-11T07:09:20.351Z","bio":null,"location":null,"skype":"","linkedin":"","twitter":"","website_url":""},"commit":{"id":"a91957a858320c0e17f3a0eca7cfacbff50ea29a","short_id":"a91957a8","title":"Merge branch 'rename-readme' into 'master'\r","author_name":"Administrator","author_email":"admin@example.com","created_at":"2016-08-11T13:28:26.000+02:00","message":"Merge branch 'rename-readme' into 'master'\r\n\r\nRename README\r\n\r\n\r\n\r\nSee merge request !2"},"runner":null}}
0 [
1 {
2 "created_at": "2016-08-11T07:36:40.222Z",
3 "deployable": {
4 "commit": {
5 "author_email": "admin@example.com",
6 "author_name": "Administrator",
7 "created_at": "2016-08-11T09:36:01.000+02:00",
8 "id": "99d03678b90d914dbb1b109132516d71a4a03ea8",
9 "message": "Merge branch 'new-title' into 'master'\r\n\r\nUpdate README\r\n\r\n\r\n\r\nSee merge request !1",
10 "short_id": "99d03678",
11 "title": "Merge branch 'new-title' into 'master'\r"
12 },
13 "coverage": null,
14 "created_at": "2016-08-11T07:36:27.357Z",
15 "finished_at": "2016-08-11T07:36:39.851Z",
16 "id": 657,
17 "name": "deploy",
18 "ref": "master",
19 "runner": null,
20 "stage": "deploy",
21 "started_at": null,
22 "status": "success",
23 "tag": false,
24 "user": {
25 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
26 "bio": null,
27 "created_at": "2016-08-11T07:09:20.351Z",
28 "id": 1,
29 "linkedin": "",
30 "location": null,
31 "name": "Administrator",
32 "skype": "",
33 "state": "active",
34 "twitter": "",
35 "username": "root",
36 "web_url": "http://localhost:3000/root",
37 "website_url": ""
38 }
39 },
40 "environment": {
41 "external_url": "https://about.gitlab.com",
42 "id": 9,
43 "name": "production"
44 },
45 "id": 41,
46 "iid": 1,
47 "ref": "master",
48 "sha": "99d03678b90d914dbb1b109132516d71a4a03ea8",
49 "user": {
50 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
51 "id": 1,
52 "name": "Administrator",
53 "state": "active",
54 "username": "root",
55 "web_url": "http://localhost:3000/root"
56 }
57 },
58 {
59 "created_at": "2016-08-11T11:32:35.444Z",
60 "deployable": {
61 "commit": {
62 "author_email": "admin@example.com",
63 "author_name": "Administrator",
64 "created_at": "2016-08-11T13:28:26.000+02:00",
65 "id": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
66 "message": "Merge branch 'rename-readme' into 'master'\r\n\r\nRename README\r\n\r\n\r\n\r\nSee merge request !2",
67 "short_id": "a91957a8",
68 "title": "Merge branch 'rename-readme' into 'master'\r"
69 },
70 "coverage": null,
71 "created_at": "2016-08-11T11:32:24.456Z",
72 "finished_at": "2016-08-11T11:32:35.145Z",
73 "id": 664,
74 "name": "deploy",
75 "ref": "master",
76 "runner": null,
77 "stage": "deploy",
78 "started_at": null,
79 "status": "success",
80 "tag": false,
81 "user": {
82 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
83 "bio": null,
84 "created_at": "2016-08-11T07:09:20.351Z",
85 "id": 1,
86 "linkedin": "",
87 "location": null,
88 "name": "Administrator",
89 "skype": "",
90 "state": "active",
91 "twitter": "",
92 "username": "root",
93 "web_url": "http://localhost:3000/root",
94 "website_url": ""
95 }
96 },
97 "environment": {
98 "external_url": "https://about.gitlab.com",
99 "id": 9,
100 "name": "production"
101 },
102 "id": 42,
103 "iid": 2,
104 "ref": "master",
105 "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
106 "user": {
107 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
108 "id": 1,
109 "name": "Administrator",
110 "state": "active",
111 "username": "root",
112 "web_url": "http://localhost:3000/root"
113 }
114 }
115 ]
0 [{"created_at":"2016-08-11T07:36:40.222Z","deployable":{"commit":{"author_email":"admin@example.com","author_name":"Administrator","created_at":"2016-08-11T09:36:01.000+02:00","id":"99d03678b90d914dbb1b109132516d71a4a03ea8","message":"Merge branch 'new-title' into 'master'\r\n\r\nUpdate README\r\n\r\n\r\n\r\nSee merge request !1","short_id":"99d03678","title":"Merge branch 'new-title' into 'master'\r"},"coverage":null,"created_at":"2016-08-11T07:36:27.357Z","finished_at":"2016-08-11T07:36:39.851Z","id":657,"name":"deploy","ref":"master","runner":null,"stage":"deploy","started_at":null,"status":"success","tag":false,"user":{"avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","bio":null,"created_at":"2016-08-11T07:09:20.351Z","id":1,"linkedin":"","location":null,"name":"Administrator","skype":"","state":"active","twitter":"","username":"root","web_url":"http://localhost:3000/root","website_url":""}},"environment":{"external_url":"https://about.gitlab.com","id":9,"name":"production"},"id":41,"iid":1,"ref":"master","sha":"99d03678b90d914dbb1b109132516d71a4a03ea8","user":{"avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","id":1,"name":"Administrator","state":"active","username":"root","web_url":"http://localhost:3000/root"}},{"created_at":"2016-08-11T11:32:35.444Z","deployable":{"commit":{"author_email":"admin@example.com","author_name":"Administrator","created_at":"2016-08-11T13:28:26.000+02:00","id":"a91957a858320c0e17f3a0eca7cfacbff50ea29a","message":"Merge branch 'rename-readme' into 'master'\r\n\r\nRename README\r\n\r\n\r\n\r\nSee merge request !2","short_id":"a91957a8","title":"Merge branch 'rename-readme' into 'master'\r"},"coverage":null,"created_at":"2016-08-11T11:32:24.456Z","finished_at":"2016-08-11T11:32:35.145Z","id":664,"name":"deploy","ref":"master","runner":null,"stage":"deploy","started_at":null,"status":"success","tag":false,"user":{"avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","bio":null,"created_at":"2016-08-11T07:09:20.351Z","id":1,"linkedin":"","location":null,"name":"Administrator","skype":"","state":"active","twitter":"","username":"root","web_url":"http://localhost:3000/root","website_url":""}},"environment":{"external_url":"https://about.gitlab.com","id":9,"name":"production"},"id":42,"iid":2,"ref":"master","sha":"a91957a858320c0e17f3a0eca7cfacbff50ea29a","user":{"avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","id":1,"name":"Administrator","state":"active","username":"root","web_url":"http://localhost:3000/root"}}]
0 {
1 "name": "Binary",
2 "content": "# This file is a template, and might need editing before it works on your project.\n# This Dockerfile installs a compiled binary into a bare system.\n# You must either commit your compiled binary into source control (not recommended)\n# or build the binary first as part of a CI/CD pipeline.\n\nFROM buildpack-deps:jessie\n\nWORKDIR /usr/local/bin\n\n# Change `app` to whatever your binary is called\nAdd app .\nCMD [\"./app\"]\n"
3 }
4
0 {"name":"Binary","content":"# This file is a template, and might need editing before it works on your project.\n# This Dockerfile installs a compiled binary into a bare system.\n# You must either commit your compiled binary into source control (not recommended)\n# or build the binary first as part of a CI/CD pipeline.\n\nFROM buildpack-deps:jessie\n\nWORKDIR /usr/local/bin\n\n# Change `app` to whatever your binary is called\nAdd app .\nCMD [\"./app\"]\n"}
0 [
1 {
2 "key": "Binary",
3 "name": "Binary"
4 },
5 {
6 "key": "Binary-alpine",
7 "name": "Binary-alpine"
8 },
9 {
10 "key": "Binary-scratch",
11 "name": "Binary-scratch"
12 },
13 {
14 "key": "Golang",
15 "name": "Golang"
16 },
17 {
18 "key": "Golang-alpine",
19 "name": "Golang-alpine"
20 },
21 {
22 "key": "Golang-scratch",
23 "name": "Golang-scratch"
24 },
25 {
26 "key": "HTTPd",
27 "name": "HTTPd"
28 },
29 {
30 "key": "Node",
31 "name": "Node"
32 },
33 {
34 "key": "Node-alpine",
35 "name": "Node-alpine"
36 },
37 {
38 "key": "OpenJDK",
39 "name": "OpenJDK"
40 },
41 {
42 "key": "OpenJDK-alpine",
43 "name": "OpenJDK-alpine"
44 },
45 {
46 "key": "PHP",
47 "name": "PHP"
48 },
49 {
50 "key": "Python",
51 "name": "Python"
52 },
53 {
54 "key": "Python-alpine",
55 "name": "Python-alpine"
56 },
57 {
58 "key": "Python2",
59 "name": "Python2"
60 },
61 {
62 "key": "Ruby",
63 "name": "Ruby"
64 },
65 {
66 "key": "Ruby-alpine",
67 "name": "Ruby-alpine"
68 }
69 ]
0 [{"key":"Binary","name":"Binary"},{"key":"Binary-alpine","name":"Binary-alpine"},{"key":"Binary-scratch","name":"Binary-scratch"},{"key":"Golang","name":"Golang"},{"key":"Golang-alpine","name":"Golang-alpine"},{"key":"Golang-scratch","name":"Golang-scratch"},{"key":"HTTPd","name":"HTTPd"},{"key":"Node","name":"Node"},{"key":"Node-alpine","name":"Node-alpine"},{"key":"OpenJDK","name":"OpenJDK"},{"key":"OpenJDK-alpine","name":"OpenJDK-alpine"},{"key":"PHP","name":"PHP"},{"key":"Python","name":"Python"},{"key":"Python-alpine","name":"Python-alpine"},{"key":"Python2","name":"Python2"},{"key":"Ruby","name":"Ruby"},{"key":"Ruby-alpine","name":"Ruby-alpine"}]
0 {
1 "id": 12,
2 "name": "staging",
3 "slug": "staging-cb247rv",
4 "external_url": "https://staging.example.gitlab.com"
5 }
0 {"id":12,"name":"staging","slug":"staging-cb247rv","external_url":"https://staging.example.gitlab.com"}
0 [
1 {
2 "id": 1,
3 "name": "review/fix-foo",
4 "slug": "review-fix-foo-dfjre3",
5 "external_url": "https://review-fix-foo-dfjre3.example.gitlab.com"
6 },
7 {
8 "id": 12,
9 "name": "review/fix-bar",
10 "slug": "review-fix-bar-dbwr18",
11 "external_url": "https://review-fix-bar-dbwr18.example.gitlab.com"
12 }
13 ]
0 [{"id":1,"name":"review/fix-foo","slug":"review-fix-foo-dfjre3","external_url":"https://review-fix-foo-dfjre3.example.gitlab.com"},{"id":12,"name":"review/fix-bar","slug":"review-fix-bar-dbwr18","external_url":"https://review-fix-bar-dbwr18.example.gitlab.com"}]
0 {
1 "id": 30,
2 "iid": 5,
3 "group_id": 7,
4 "title": "Ea cupiditate dolores ut vero consequatur quasi veniam voluptatem et non.",
5 "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.",
6 "state": "opened",
7 "web_url": "http://localhost:3001/groups/test/-/epics/5",
8 "reference": "&5",
9 "author":{
10 "id": 7,
11 "name": "Pamella Huel",
12 "username": "arnita",
13 "state": "active",
14 "avatar_url": "http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon",
15 "web_url": "http://localhost:3001/arnita"
16 },
17 "start_date": null,
18 "start_date_is_fixed": false,
19 "start_date_fixed": null,
20 "start_date_from_inherited_source": null,
21 "due_date": "2018-07-31",
22 "due_date_is_fixed": false,
23 "due_date_fixed": null,
24 "due_date_from_inherited_source": "2018-07-31",
25 "created_at": "2018-07-17T13:36:22.770Z",
26 "updated_at": "2018-07-18T12:22:05.239Z",
27 "closed_at": "2018-08-18T12:22:05.239Z",
28 "labels": [],
29 "upvotes": 4,
30 "downvotes": 0,
31 "subscribed": true
32 }
33
0 {"id":30,"iid":5,"group_id":7,"title":"Ea cupiditate dolores ut vero consequatur quasi veniam voluptatem et non.","description":"Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.","state":"opened","web_url":"http://localhost:3001/groups/test/-/epics/5","reference":"&5","author":{"id":7,"name":"Pamella Huel","username":"arnita","state":"active","avatar_url":"http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon","web_url":"http://localhost:3001/arnita"},"start_date":null,"start_date_is_fixed":false,"start_date_fixed":null,"start_date_from_inherited_source":null,"due_date":"2018-07-31","due_date_is_fixed":false,"due_date_fixed":null,"due_date_from_inherited_source":"2018-07-31","created_at":"2018-07-17T13:36:22.770Z","updated_at":"2018-07-18T12:22:05.239Z","closed_at":"2018-08-18T12:22:05.239Z","labels":[],"upvotes":4,"downvotes":0,"subscribed":true}
0 [{"id":1,"project_id":1,"title":"Culpa eius recusandae suscipit autem distinctio dolorum.","description":null,"labels":[],"milestone":null,"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z","epic_iid":3,"epic":{"id":2,"iid":3,"title":"Culpa eius recusandae suscipit","group_id":7}},{"id":6,"project_id":2,"title":"Ut in dolorum omnis sed sit aliquam.","description":null,"labels":[],"milestone":null,"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z","epic_iid":3,"epic":{"id":2,"iid":3,"title":"Culpa eius recusandae suscipit","group_id":7}},{"id":12,"project_id":3,"title":"Veniam et tempore quidem eum reprehenderit cupiditate non aut velit eaque.","description":null,"labels":[],"milestone":null,"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z","epic_iid":3,"epic":{"id":2,"iid":3,"title":"Culpa eius recusandae suscipit","group_id":7}},{"id":21,"project_id":1,"title":"Vitae ea aliquam et quo eligendi sapiente voluptatum labore hic nihil culpa.","description":null,"labels":[],"milestone":null,"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z","epic_iid":3,"epic":{"id":2,"iid":3,"title":"Culpa eius recusandae suscipit","group_id":7}},{"id":26,"project_id":2,"title":"Quo enim est nihil atque placeat voluptas neque eos voluptas.","description":null,"labels":[],"milestone":null,"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z","epic_iid":3,"epic":{"id":2,"iid":3,"title":"Culpa eius recusandae suscipit","group_id":7}},{"id":32,"project_id":3,"title":"Deserunt tenetur impedit est beatae voluptas voluptas quaerat quisquam.","description":null,"labels":[],"milestone":null,"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z","epic_iid":3,"epic":{"id":2,"iid":3,"title":"Culpa eius recusandae suscipit","group_id":7}}]
0 [
1 {
2 "id": 29,
3 "iid": 4,
4 "group_id": 7,
5 "title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.",
6 "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.",
7 "state": "opened",
8 "web_url": "http://localhost:3001/groups/test/-/epics/4",
9 "reference": "&4",
10 "author": {
11 "id": 10,
12 "name": "Lu Mayer",
13 "username": "kam",
14 "state": "active",
15 "avatar_url": "http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon",
16 "web_url": "http://localhost:3001/kam"
17 },
18 "start_date": null,
19 "start_date_is_fixed": false,
20 "start_date_fixed": null,
21 "start_date_from_inherited_source": null,
22 "due_date": "2018-07-31",
23 "due_date_is_fixed": false,
24 "due_date_fixed": null,
25 "due_date_from_inherited_source": "2018-07-31",
26 "created_at": "2018-07-17T13:36:22.770Z",
27 "updated_at": "2018-07-18T12:22:05.239Z",
28 "closed_at": "2018-08-18T12:22:05.239Z",
29 "labels": [],
30 "upvotes": 4,
31 "downvotes": 0
32 }
33 ]
34
0 [{"id":29,"iid":4,"group_id":7,"title":"Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.","description":"Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.","state":"opened","web_url":"http://localhost:3001/groups/test/-/epics/4","reference":"&4","author":{"id":10,"name":"Lu Mayer","username":"kam","state":"active","avatar_url":"http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon","web_url":"http://localhost:3001/kam"},"start_date":null,"start_date_is_fixed":false,"start_date_fixed":null,"start_date_from_inherited_source":null,"due_date":"2018-07-31","due_date_is_fixed":false,"due_date_fixed":null,"due_date_from_inherited_source":"2018-07-31","created_at":"2018-07-17T13:36:22.770Z","updated_at":"2018-07-18T12:22:05.239Z","closed_at":"2018-08-18T12:22:05.239Z","labels":[],"upvotes":4,"downvotes":0}]
0 {"message": "409 Already exists"}
0 {"message":"409 Already exists"}
0 {"message": "404 Project Not Found"}
0 {"message":"404 Project Not Found"}
0 {
1 "name": "new_library",
2 "state": "conditional",
3 "gates": [
4 {
5 "key": "boolean",
6 "value": false
7 },
8 {
9 "key": "percentage_of_time",
10 "value": 30
11 }
12 ]
13 }
0 {"name":"new_library","state":"conditional","gates":[{"key":"boolean","value":false},{"key":"percentage_of_time","value":30}]}
0 [
1 {
2 "name": "experimental_feature",
3 "state": "off",
4 "gates": [
5 {
6 "key": "boolean",
7 "value": false
8 }
9 ]
10 },
11 {
12 "name": "new_library",
13 "state": "on",
14 "gates": [
15 {
16 "key": "boolean",
17 "value": true
18 }
19 ]
20 }
21 ]
0 [{"name":"experimental_feature","state":"off","gates":[{"key":"boolean","value":false}]},{"name":"new_library","state":"on","gates":[{"key":"boolean","value":true}]}]
0 [
1 {
2 "commit": {
3 "id": "d42409d56517157c48bf3bd97d3f75974dde19fb",
4 "message": "Add feature\n\nalso fix bug\n",
5 "parent_ids": [
6 "cc6e14f9328fa6d7b5a0d3c30dc2002a3f2a3822"
7 ],
8 "authored_date": "2015-12-18T08:12:22.000Z",
9 "author_name": "John Doe",
10 "author_email": "john.doe@example.com",
11 "committed_date": "2015-12-18T08:12:22.000Z",
12 "committer_name": "John Doe",
13 "committer_email": "john.doe@example.com"
14 },
15 "lines": [
16 "require 'fileutils'",
17 "require 'open3'"
18 ]
19 }
20 ]
21
22
0 [{"commit":{"id":"d42409d56517157c48bf3bd97d3f75974dde19fb","message":"Add feature\n\nalso fix bug\n","parent_ids":["cc6e14f9328fa6d7b5a0d3c30dc2002a3f2a3822"],"authored_date":"2015-12-18T08:12:22.000Z","author_name":"John Doe","author_email":"john.doe@example.com","committed_date":"2015-12-18T08:12:22.000Z","committer_name":"John Doe","committer_email":"john.doe@example.com"},"lines":["require 'fileutils'","require 'open3'"]}]
0 {"file_name":"README.md", "file_path":"README.md", "size":"19", "encoding":"base64", "content":"VGhpcyBpcyBhICpSRUFETUUqIQ==\n", "ref":"master", "blob_id":"0eba9dff767611060181e0423a1de2941d27efc8", "commit_id":"eb38397cb6ae669219e6bc18ad19981fff18ea29"}
0 {"file_name":"README.md","file_path":"README.md","size":"19","encoding":"base64","content":"VGhpcyBpcyBhICpSRUFETUUqIQ==\n","ref":"master","blob_id":"0eba9dff767611060181e0423a1de2941d27efc8","commit_id":"eb38397cb6ae669219e6bc18ad19981fff18ea29"}
0 {
1 "name": "Ruby",
2 "content": "*.gem\n*.rbc\n/.config\n/coverage/\n/InstalledFiles\n/pkg/\n/spec/reports/\n/spec/examples.txt\n/test/tmp/\n/test/version_tmp/\n/tmp/\n\n# Used by dotenv library to load environment variables.\n# .env\n\n## Specific to RubyMotion:\n.dat*\n.repl_history\nbuild/\n*.bridgesupport\nbuild-iPhoneOS/\nbuild-iPhoneSimulator/\n\n## Specific to RubyMotion (use of CocoaPods):\n#\n# We recommend against adding the Pods directory to your .gitignore. However\n# you should judge for yourself, the pros and cons are mentioned at:\n# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control\n#\n# vendor/Pods/\n\n## Documentation cache and generated files:\n/.yardoc/\n/_yardoc/\n/doc/\n/rdoc/\n\n## Environment normalization:\n/.bundle/\n/vendor/bundle\n/lib/bundler/man/\n\n# for a library or gem, you might want to ignore these files since the code is\n# intended to run in multiple environments; otherwise, check them in:\n# Gemfile.lock\n# .ruby-version\n# .ruby-gemset\n\n# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:\n.rvmrc\n"
3 }
0 {"name":"Ruby","content":"*.gem\n*.rbc\n/.config\n/coverage/\n/InstalledFiles\n/pkg/\n/spec/reports/\n/spec/examples.txt\n/test/tmp/\n/test/version_tmp/\n/tmp/\n\n# Used by dotenv library to load environment variables.\n# .env\n\n## Specific to RubyMotion:\n.dat*\n.repl_history\nbuild/\n*.bridgesupport\nbuild-iPhoneOS/\nbuild-iPhoneSimulator/\n\n## Specific to RubyMotion (use of CocoaPods):\n#\n# We recommend against adding the Pods directory to your .gitignore. However\n# you should judge for yourself, the pros and cons are mentioned at:\n# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control\n#\n# vendor/Pods/\n\n## Documentation cache and generated files:\n/.yardoc/\n/_yardoc/\n/doc/\n/rdoc/\n\n## Environment normalization:\n/.bundle/\n/vendor/bundle\n/lib/bundler/man/\n\n# for a library or gem, you might want to ignore these files since the code is\n# intended to run in multiple environments; otherwise, check them in:\n# Gemfile.lock\n# .ruby-version\n# .ruby-gemset\n\n# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:\n.rvmrc\n"}
0 [
1 {
2 "key": "Actionscript",
3 "name": "Actionscript"
4 },
5 {
6 "key": "Ada",
7 "name": "Ada"
8 },
9 {
10 "key": "Agda",
11 "name": "Agda"
12 },
13 {
14 "key": "Android",
15 "name": "Android"
16 },
17 {
18 "key": "AppEngine",
19 "name": "AppEngine"
20 },
21 {
22 "key": "AppceleratorTitanium",
23 "name": "AppceleratorTitanium"
24 },
25 {
26 "key": "ArchLinuxPackages",
27 "name": "ArchLinuxPackages"
28 },
29 {
30 "key": "Autotools",
31 "name": "Autotools"
32 },
33 {
34 "key": "C",
35 "name": "C"
36 },
37 {
38 "key": "C++",
39 "name": "C++"
40 },
41 {
42 "key": "CFWheels",
43 "name": "CFWheels"
44 },
45 {
46 "key": "CMake",
47 "name": "CMake"
48 },
49 {
50 "key": "CUDA",
51 "name": "CUDA"
52 },
53 {
54 "key": "CakePHP",
55 "name": "CakePHP"
56 },
57 {
58 "key": "ChefCookbook",
59 "name": "ChefCookbook"
60 },
61 {
62 "key": "Clojure",
63 "name": "Clojure"
64 },
65 {
66 "key": "CodeIgniter",
67 "name": "CodeIgniter"
68 },
69 {
70 "key": "CommonLisp",
71 "name": "CommonLisp"
72 },
73 {
74 "key": "Composer",
75 "name": "Composer"
76 },
77 {
78 "key": "Concrete5",
79 "name": "Concrete5"
80 }
81 ]
0 [{"key":"Actionscript","name":"Actionscript"},{"key":"Ada","name":"Ada"},{"key":"Agda","name":"Agda"},{"key":"Android","name":"Android"},{"key":"AppEngine","name":"AppEngine"},{"key":"AppceleratorTitanium","name":"AppceleratorTitanium"},{"key":"ArchLinuxPackages","name":"ArchLinuxPackages"},{"key":"Autotools","name":"Autotools"},{"key":"C","name":"C"},{"key":"C++","name":"C++"},{"key":"CFWheels","name":"CFWheels"},{"key":"CMake","name":"CMake"},{"key":"CUDA","name":"CUDA"},{"key":"CakePHP","name":"CakePHP"},{"key":"ChefCookbook","name":"ChefCookbook"},{"key":"Clojure","name":"Clojure"},{"key":"CodeIgniter","name":"CodeIgniter"},{"key":"CommonLisp","name":"CommonLisp"},{"key":"Composer","name":"Composer"},{"key":"Concrete5","name":"Concrete5"}]
0 {
1 "name": "Ruby",
2 "content": "# This file is a template, and might need editing before it works on your project.\n# Official language image. Look for the different tagged releases at:\n# https://hub.docker.com/r/library/ruby/tags/\nimage: \"ruby:2.3\"\n\n# Pick zero or more services to be used on all builds.\n# Only needed when using a docker container to run your tests in.\n# Check out: http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#what-is-service\nservices:\n - mysql:latest\n - redis:latest\n - postgres:latest\n\nvariables:\n POSTGRES_DB: database_name\n\n# Cache gems in between builds\ncache:\n paths:\n - vendor/ruby\n\n# This is a basic example for a gem or script which doesn't use\n# services such as redis or postgres\nbefore_script:\n - ruby -v # Print out ruby version for debugging\n # Uncomment next line if your rails app needs a JS runtime:\n # - apt-get update -q && apt-get install nodejs -yqq\n - gem install bundler --no-ri --no-rdoc # Bundler is not installed with the image\n - bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby\n\n# Optional - Delete if not using `rubocop`\nrubocop:\n script:\n - rubocop\n\nrspec:\n script:\n - rspec spec\n\nrails:\n variables:\n DATABASE_URL: \"postgresql://postgres:postgres@postgres:5432/$POSTGRES_DB\"\n script:\n - bundle exec rake db:migrate\n - bundle exec rake db:seed\n - bundle exec rake test\n"
3 }
0 {"name":"Ruby","content":"# This file is a template, and might need editing before it works on your project.\n# Official language image. Look for the different tagged releases at:\n# https://hub.docker.com/r/library/ruby/tags/\nimage: \"ruby:2.3\"\n\n# Pick zero or more services to be used on all builds.\n# Only needed when using a docker container to run your tests in.\n# Check out: http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#what-is-service\nservices:\n - mysql:latest\n - redis:latest\n - postgres:latest\n\nvariables:\n POSTGRES_DB: database_name\n\n# Cache gems in between builds\ncache:\n paths:\n - vendor/ruby\n\n# This is a basic example for a gem or script which doesn't use\n# services such as redis or postgres\nbefore_script:\n - ruby -v # Print out ruby version for debugging\n # Uncomment next line if your rails app needs a JS runtime:\n # - apt-get update -q && apt-get install nodejs -yqq\n - gem install bundler --no-ri --no-rdoc # Bundler is not installed with the image\n - bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby\n\n# Optional - Delete if not using `rubocop`\nrubocop:\n script:\n - rubocop\n\nrspec:\n script:\n - rspec spec\n\nrails:\n variables:\n DATABASE_URL: \"postgresql://postgres:postgres@postgres:5432/$POSTGRES_DB\"\n script:\n - bundle exec rake db:migrate\n - bundle exec rake db:seed\n - bundle exec rake test\n"}
0 [
1 {
2 "key": "Android",
3 "name": "Android"
4 },
5 {
6 "key": "Auto-DevOps",
7 "name": "Auto-DevOps"
8 },
9 {
10 "key": "Bash",
11 "name": "Bash"
12 },
13 {
14 "key": "C++",
15 "name": "C++"
16 },
17 {
18 "key": "Chef",
19 "name": "Chef"
20 },
21 {
22 "key": "Clojure",
23 "name": "Clojure"
24 },
25 {
26 "key": "Crystal",
27 "name": "Crystal"
28 },
29 {
30 "key": "Django",
31 "name": "Django"
32 },
33 {
34 "key": "Docker",
35 "name": "Docker"
36 },
37 {
38 "key": "Elixir",
39 "name": "Elixir"
40 },
41 {
42 "key": "Go",
43 "name": "Go"
44 },
45 {
46 "key": "Gradle",
47 "name": "Gradle"
48 },
49 {
50 "key": "Grails",
51 "name": "Grails"
52 },
53 {
54 "key": "Julia",
55 "name": "Julia"
56 },
57 {
58 "key": "LaTeX",
59 "name": "LaTeX"
60 },
61 {
62 "key": "Laravel",
63 "name": "Laravel"
64 },
65 {
66 "key": "Maven",
67 "name": "Maven"
68 },
69 {
70 "key": "Mono",
71 "name": "Mono"
72 },
73 {
74 "key": "Nodejs",
75 "name": "Nodejs"
76 },
77 {
78 "key": "OpenShift",
79 "name": "OpenShift"
80 }
81 ]
0 [{"key":"Android","name":"Android"},{"key":"Auto-DevOps","name":"Auto-DevOps"},{"key":"Bash","name":"Bash"},{"key":"C++","name":"C++"},{"key":"Chef","name":"Chef"},{"key":"Clojure","name":"Clojure"},{"key":"Crystal","name":"Crystal"},{"key":"Django","name":"Django"},{"key":"Docker","name":"Docker"},{"key":"Elixir","name":"Elixir"},{"key":"Go","name":"Go"},{"key":"Gradle","name":"Gradle"},{"key":"Grails","name":"Grails"},{"key":"Julia","name":"Julia"},{"key":"LaTeX","name":"LaTeX"},{"key":"Laravel","name":"Laravel"},{"key":"Maven","name":"Maven"},{"key":"Mono","name":"Mono"},{"key":"Nodejs","name":"Nodejs"},{"key":"OpenShift","name":"OpenShift"}]
0 {"id": 10, "name": "GitLab-Group", "path": "gitlab-group", "owner_id": 6, "projects": [
1 {
2 "id": 9,
3 "name": "mojito",
4 "description": null,
5 "default_branch": "master",
6 "owner": {
7 "id": 6,
8 "username": "jose",
9 "email": "jose@abc.com",
10 "name": "Jose Jose",
11 "blocked": false,
12 "created_at": "2013-02-06T06:54:06Z"
13 },
14 "path": "mojito",
15 "path_with_namespace": "gitlab-group/mojito",
16 "issues_enabled": true,
17 "merge_requests_enabled": true,
18 "wall_enabled": true,
19 "wiki_enabled": true,
20 "created_at": "2013-02-06T16:59:15Z",
21 "namespace": {
22 "created_at": "2013-02-06T16:58:22Z",
23 "id": 10,
24 "name": "GitLab-Group",
25 "owner_id": 6,
26 "path": "gitlab-group",
27 "updated_at": "2013-02-06T16:58:22Z"
28 }
29 },
30 {
31 "id": 10,
32 "name": "gitlabhq",
33 "description": null,
34 "default_branch": null,
35 "owner": {
36 "id": 6,
37 "username": "randx",
38 "email": "randx@github.com",
39 "name": "Dmitry Z",
40 "blocked": false,
41 "created_at": "2013-02-06T06:54:06Z"
42 },
43 "path": "gitlabhq",
44 "path_with_namespace": "gitlab-group/gitlabhq",
45 "issues_enabled": true,
46 "merge_requests_enabled": true,
47 "wall_enabled": true,
48 "wiki_enabled": true,
49 "created_at": "2013-02-06T17:02:31Z",
50 "namespace": {
51 "created_at": "2013-02-06T16:58:22Z",
52 "id": 10,
53 "name": "GitLab-Group",
54 "owner_id": 6,
55 "path": "gitlab-group",
56 "updated_at": "2013-02-06T16:58:22Z"
57 }
58 }
59 ]}
0 {"id":10,"name":"GitLab-Group","path":"gitlab-group","owner_id":6,"projects":[{"id":9,"name":"mojito","description":null,"default_branch":"master","owner":{"id":6,"username":"jose","email":"jose@abc.com","name":"Jose Jose","blocked":false,"created_at":"2013-02-06T06:54:06Z"},"path":"mojito","path_with_namespace":"gitlab-group/mojito","issues_enabled":true,"merge_requests_enabled":true,"wall_enabled":true,"wiki_enabled":true,"created_at":"2013-02-06T16:59:15Z","namespace":{"created_at":"2013-02-06T16:58:22Z","id":10,"name":"GitLab-Group","owner_id":6,"path":"gitlab-group","updated_at":"2013-02-06T16:58:22Z"}},{"id":10,"name":"gitlabhq","description":null,"default_branch":null,"owner":{"id":6,"username":"randx","email":"randx@github.com","name":"Dmitry Z","blocked":false,"created_at":"2013-02-06T06:54:06Z"},"path":"gitlabhq","path_with_namespace":"gitlab-group/gitlabhq","issues_enabled":true,"merge_requests_enabled":true,"wall_enabled":true,"wiki_enabled":true,"created_at":"2013-02-06T17:02:31Z","namespace":{"created_at":"2013-02-06T16:58:22Z","id":10,"name":"GitLab-Group","owner_id":6,"path":"gitlab-group","updated_at":"2013-02-06T16:58:22Z"}}]}
0 {"cn":"all","group_access":50,"provider":"ldap"}
0 {"cn":"all","group_access":50,"provider":"ldap"}
0 {
1 "id": 1,
2 "name": "group issue board",
3 "group": {
4 "id": 5,
5 "name": "Documentcloud",
6 "path": "documentcloud",
7 "owner_id": null,
8 "created_at": "2018-05-07T06:52:45.788Z",
9 "updated_at": "2018-07-03T06:48:17.005Z",
10 "description": "Consequatur aut a aperiam ut.",
11 "avatar": {
12 "url": null
13 },
14 "membership_lock": false,
15 "share_with_group_lock": false,
16 "visibility_level": 20,
17 "request_access_enabled": false,
18 "ldap_sync_status": "ready",
19 "ldap_sync_error": null,
20 "ldap_sync_last_update_at": null,
21 "ldap_sync_last_successful_update_at": null,
22 "ldap_sync_last_sync_at": null,
23 "lfs_enabled": null,
24 "parent_id": null,
25 "shared_runners_minutes_limit": null,
26 "repository_size_limit": null,
27 "require_two_factor_authentication": false,
28 "two_factor_grace_period": 48,
29 "plan_id": null,
30 "project_creation_level": 2,
31 "runners_token": "rgeeL-nv4wa9YdRvuMid"
32 },
33 "milestone": {
34 "id": 12,
35 "title": "10.0"
36 },
37 "lists" : [
38 {
39 "id" : 1,
40 "label" : {
41 "name" : "Testing",
42 "color" : "#F0AD4E",
43 "description" : null
44 },
45 "position" : 1
46 },
47 {
48 "id" : 2,
49 "label" : {
50 "name" : "Ready",
51 "color" : "#FF0000",
52 "description" : null
53 },
54 "position" : 2
55 },
56 {
57 "id" : 3,
58 "label" : {
59 "name" : "Production",
60 "color" : "#FF5F00",
61 "description" : null
62 },
63 "position" : 3
64 }
65 ]
66 }
0 {"id":1,"name":"group issue board","group":{"id":5,"name":"Documentcloud","path":"documentcloud","owner_id":null,"created_at":"2018-05-07T06:52:45.788Z","updated_at":"2018-07-03T06:48:17.005Z","description":"Consequatur aut a aperiam ut.","avatar":{"url":null},"membership_lock":false,"share_with_group_lock":false,"visibility_level":20,"request_access_enabled":false,"ldap_sync_status":"ready","ldap_sync_error":null,"ldap_sync_last_update_at":null,"ldap_sync_last_successful_update_at":null,"ldap_sync_last_sync_at":null,"lfs_enabled":null,"parent_id":null,"shared_runners_minutes_limit":null,"repository_size_limit":null,"require_two_factor_authentication":false,"two_factor_grace_period":48,"plan_id":null,"project_creation_level":2,"runners_token":"rgeeL-nv4wa9YdRvuMid"},"milestone":{"id":12,"title":"10.0"},"lists":[{"id":1,"label":{"name":"Testing","color":"#F0AD4E","description":null},"position":1},{"id":2,"label":{"name":"Ready","color":"#FF0000","description":null},"position":2},{"id":3,"label":{"name":"Production","color":"#FF5F00","description":null},"position":3}]}
0 {
1 "id" : 1,
2 "label" : {
3 "name" : "Testing",
4 "color" : "#F0AD4E",
5 "description" : null
6 },
7 "position" : 1
8 }
0 {"id":1,"label":{"name":"Testing","color":"#F0AD4E","description":null},"position":1}
0 [
1 {
2 "id" : 1,
3 "label" : {
4 "name" : "Testing",
5 "color" : "#F0AD4E",
6 "description" : null
7 },
8 "position" : 1
9 },
10 {
11 "id" : 2,
12 "label" : {
13 "name" : "Ready",
14 "color" : "#FF0000",
15 "description" : null
16 },
17 "position" : 2
18 },
19 {
20 "id" : 3,
21 "label" : {
22 "name" : "Production",
23 "color" : "#FF5F00",
24 "description" : null
25 },
26 "position" : 3
27 }
28 ]
0 [{"id":1,"label":{"name":"Testing","color":"#F0AD4E","description":null},"position":1},{"id":2,"label":{"name":"Ready","color":"#FF0000","description":null},"position":2},{"id":3,"label":{"name":"Production","color":"#FF5F00","description":null},"position":3}]
0 [
1 {
2 "id": 1,
3 "name": "group issue board",
4 "group": {
5 "id": 5,
6 "name": "Documentcloud",
7 "path": "documentcloud",
8 "owner_id": null,
9 "created_at": "2018-05-07T06:52:45.788Z",
10 "updated_at": "2018-07-03T06:48:17.005Z",
11 "description": "Consequatur aut a aperiam ut.",
12 "avatar": {
13 "url": null
14 },
15 "membership_lock": false,
16 "share_with_group_lock": false,
17 "visibility_level": 20,
18 "request_access_enabled": false,
19 "ldap_sync_status": "ready",
20 "ldap_sync_error": null,
21 "ldap_sync_last_update_at": null,
22 "ldap_sync_last_successful_update_at": null,
23 "ldap_sync_last_sync_at": null,
24 "lfs_enabled": null,
25 "parent_id": null,
26 "shared_runners_minutes_limit": null,
27 "repository_size_limit": null,
28 "require_two_factor_authentication": false,
29 "two_factor_grace_period": 48,
30 "plan_id": null,
31 "project_creation_level": 2,
32 "runners_token": "rgeeL-nv4wa9YdRvuMid"
33 },
34 "milestone": {
35 "id": 12,
36 "title": "10.0"
37 },
38 "lists" : [
39 {
40 "id" : 1,
41 "label" : {
42 "name" : "Testing",
43 "color" : "#F0AD4E",
44 "description" : null
45 },
46 "position" : 1
47 },
48 {
49 "id" : 2,
50 "label" : {
51 "name" : "Ready",
52 "color" : "#FF0000",
53 "description" : null
54 },
55 "position" : 2
56 },
57 {
58 "id" : 3,
59 "label" : {
60 "name" : "Production",
61 "color" : "#FF5F00",
62 "description" : null
63 },
64 "position" : 3
65 }
66 ]
67 }
68 ]
0 [{"id":1,"name":"group issue board","group":{"id":5,"name":"Documentcloud","path":"documentcloud","owner_id":null,"created_at":"2018-05-07T06:52:45.788Z","updated_at":"2018-07-03T06:48:17.005Z","description":"Consequatur aut a aperiam ut.","avatar":{"url":null},"membership_lock":false,"share_with_group_lock":false,"visibility_level":20,"request_access_enabled":false,"ldap_sync_status":"ready","ldap_sync_error":null,"ldap_sync_last_update_at":null,"ldap_sync_last_successful_update_at":null,"ldap_sync_last_sync_at":null,"lfs_enabled":null,"parent_id":null,"shared_runners_minutes_limit":null,"repository_size_limit":null,"require_two_factor_authentication":false,"two_factor_grace_period":48,"plan_id":null,"project_creation_level":2,"runners_token":"rgeeL-nv4wa9YdRvuMid"},"milestone":{"id":12,"title":"10.0"},"lists":[{"id":1,"label":{"name":"Testing","color":"#F0AD4E","description":null},"position":1},{"id":2,"label":{"name":"Ready","color":"#FF0000","description":null},"position":2},{"id":3,"label":{"name":"Production","color":"#FF5F00","description":null},"position":3}]}]
0 {"id":42,"name":"Gitlab-Group","path":"gitlab-group","created_at":"2016-02-24T20:16:42.906Z","updated_at":"2016-02-24T20:16:42.906Z"}
0 {"id":42,"name":"Gitlab-Group","path":"gitlab-group","created_at":"2016-02-24T20:16:42.906Z","updated_at":"2016-02-24T20:16:42.906Z"}
0 {
1 "id": 1,
2 "name": "Foobar Group",
3 "path": "foo-bar",
4 "description": "An interesting group",
5 "visibility": "public",
6 "lfs_enabled": true,
7 "avatar_url": "http://gitlab.example.com/uploads/group/avatar/1/foo.jpg",
8 "web_url": "http://gitlab.example.com/groups/foo-bar",
9 "request_access_enabled": false,
10 "full_name": "Foobar Group",
11 "full_path": "foo-bar",
12 "parent_id": 123
13 }
0 {"id":1,"name":"Foobar Group","path":"foo-bar","description":"An interesting group","visibility":"public","lfs_enabled":true,"avatar_url":"http://gitlab.example.com/uploads/group/avatar/1/foo.jpg","web_url":"http://gitlab.example.com/groups/foo-bar","request_access_enabled":false,"full_name":"Foobar Group","full_path":"foo-bar","parent_id":123}
0 [
1 {
2 "project_id" : 4,
3 "milestone" : {
4 "due_date" : null,
5 "project_id" : 4,
6 "state" : "closed",
7 "description" : "Rerum est voluptatem provident consequuntur molestias similique ipsum dolor.",
8 "iid" : 3,
9 "id" : 11,
10 "title" : "v3.0",
11 "created_at" : "2016-01-04T15:31:39.788Z",
12 "updated_at" : "2016-01-04T15:31:39.788Z"
13 },
14 "author" : {
15 "state" : "active",
16 "web_url" : "https://gitlab.example.com/root",
17 "avatar_url" : null,
18 "username" : "root",
19 "id" : 1,
20 "name" : "Administrator"
21 },
22 "description" : "Omnis vero earum sunt corporis dolor et placeat.",
23 "state" : "closed",
24 "iid" : 1,
25 "assignees" : [{
26 "avatar_url" : null,
27 "web_url" : "https://gitlab.example.com/lennie",
28 "state" : "active",
29 "username" : "lennie",
30 "id" : 9,
31 "name" : "Dr. Luella Kovacek"
32 }],
33 "assignee" : {
34 "avatar_url" : null,
35 "web_url" : "https://gitlab.example.com/lennie",
36 "state" : "active",
37 "username" : "lennie",
38 "id" : 9,
39 "name" : "Dr. Luella Kovacek"
40 },
41 "labels" : [],
42 "id" : 41,
43 "title" : "Ut commodi ullam eos dolores perferendis nihil sunt.",
44 "updated_at" : "2016-01-04T15:31:46.176Z",
45 "created_at" : "2016-01-04T15:31:46.176Z",
46 "closed_at" : null,
47 "user_notes_count": 1,
48 "due_date": null,
49 "web_url": "http://example.com/example/example/issues/1",
50 "time_stats": {
51 "time_estimate": 0,
52 "total_time_spent": 0,
53 "human_time_estimate": null,
54 "human_total_time_spent": null
55 },
56 "confidential": false,
57 "discussion_locked": false
58 },
59 {
60 "project_id" : 4,
61 "milestone" : {
62 "due_date" : null,
63 "project_id" : 4,
64 "state" : "closed",
65 "description" : "Rerum est voluptatem provident consequuntur molestias similique ipsum dolor.",
66 "iid" : 3,
67 "id" : 11,
68 "title" : "v3.0",
69 "created_at" : "2016-01-04T15:31:39.788Z",
70 "updated_at" : "2016-01-04T15:31:39.788Z"
71 },
72 "author" : {
73 "state" : "active",
74 "web_url" : "https://gitlab.example.com/root",
75 "avatar_url" : null,
76 "username" : "root",
77 "id" : 1,
78 "name" : "Administrator"
79 },
80 "description" : "different",
81 "state" : "closed",
82 "iid" : 1,
83 "assignees" : [{
84 "avatar_url" : null,
85 "web_url" : "https://gitlab.example.com/lennie",
86 "state" : "active",
87 "username" : "lennie",
88 "id" : 9,
89 "name" : "Dr. Luella Kovacek"
90 }],
91 "assignee" : {
92 "avatar_url" : null,
93 "web_url" : "https://gitlab.example.com/lennie",
94 "state" : "active",
95 "username" : "lennie",
96 "id" : 9,
97 "name" : "Dr. Luella Kovacek"
98 },
99 "labels" : [],
100 "id" : 41,
101 "title" : "different",
102 "updated_at" : "2016-01-04T15:31:46.176Z",
103 "created_at" : "2016-01-04T15:31:46.176Z",
104 "closed_at" : null,
105 "user_notes_count": 1,
106 "due_date": null,
107 "web_url": "http://example.com/example/example/issues/1",
108 "time_stats": {
109 "time_estimate": 0,
110 "total_time_spent": 0,
111 "human_time_estimate": null,
112 "human_total_time_spent": null
113 },
114 "confidential": false,
115 "discussion_locked": false
116 }
117 ]
0 [{"project_id":4,"milestone":{"due_date":null,"project_id":4,"state":"closed","description":"Rerum est voluptatem provident consequuntur molestias similique ipsum dolor.","iid":3,"id":11,"title":"v3.0","created_at":"2016-01-04T15:31:39.788Z","updated_at":"2016-01-04T15:31:39.788Z"},"author":{"state":"active","web_url":"https://gitlab.example.com/root","avatar_url":null,"username":"root","id":1,"name":"Administrator"},"description":"Omnis vero earum sunt corporis dolor et placeat.","state":"closed","iid":1,"assignees":[{"avatar_url":null,"web_url":"https://gitlab.example.com/lennie","state":"active","username":"lennie","id":9,"name":"Dr. Luella Kovacek"}],"assignee":{"avatar_url":null,"web_url":"https://gitlab.example.com/lennie","state":"active","username":"lennie","id":9,"name":"Dr. Luella Kovacek"},"labels":[],"id":41,"title":"Ut commodi ullam eos dolores perferendis nihil sunt.","updated_at":"2016-01-04T15:31:46.176Z","created_at":"2016-01-04T15:31:46.176Z","closed_at":null,"user_notes_count":1,"due_date":null,"web_url":"http://example.com/example/example/issues/1","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"confidential":false,"discussion_locked":false},{"project_id":4,"milestone":{"due_date":null,"project_id":4,"state":"closed","description":"Rerum est voluptatem provident consequuntur molestias similique ipsum dolor.","iid":3,"id":11,"title":"v3.0","created_at":"2016-01-04T15:31:39.788Z","updated_at":"2016-01-04T15:31:39.788Z"},"author":{"state":"active","web_url":"https://gitlab.example.com/root","avatar_url":null,"username":"root","id":1,"name":"Administrator"},"description":"different","state":"closed","iid":1,"assignees":[{"avatar_url":null,"web_url":"https://gitlab.example.com/lennie","state":"active","username":"lennie","id":9,"name":"Dr. Luella Kovacek"}],"assignee":{"avatar_url":null,"web_url":"https://gitlab.example.com/lennie","state":"active","username":"lennie","id":9,"name":"Dr. Luella Kovacek"},"labels":[],"id":41,"title":"different","updated_at":"2016-01-04T15:31:46.176Z","created_at":"2016-01-04T15:31:46.176Z","closed_at":null,"user_notes_count":1,"due_date":null,"web_url":"http://example.com/example/example/issues/1","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"confidential":false,"discussion_locked":false}]
0 {
1 "name": "Backlog",
2 "color": "#DD10AA",
3 "open_issues_count": 72,
4 "closed_issues_count": 72,
5 "open_merge_requests_count": 4,
6 "subscribed": true
7 }
0 {"name":"Backlog","color":"#DD10AA","open_issues_count":72,"closed_issues_count":72,"open_merge_requests_count":4,"subscribed":true}
0 {
1 "name": "Backlog",
2 "color": "#DD10AA",
3 "open_issues_count": 72,
4 "closed_issues_count": 72,
5 "open_merge_requests_count": 4,
6 "subscribed": false
7 }
0 {"name":"Backlog","color":"#DD10AA","open_issues_count":72,"closed_issues_count":72,"open_merge_requests_count":4,"subscribed":false}
0 [
1 {
2 "name": "Backlog",
3 "color": "#DD10AA",
4 "open_issues_count": 72,
5 "closed_issues_count": 72,
6 "open_merge_requests_count": 4,
7 "subscribed": true
8 },
9 {
10 "name": "Documentation",
11 "color": "#1E80DD",
12 "open_issues_count": 42,
13 "closed_issues_count": 42,
14 "open_merge_requests_count": 6,
15 "subscribed": true
16 }
17 ]
0 [{"name":"Backlog","color":"#DD10AA","open_issues_count":72,"closed_issues_count":72,"open_merge_requests_count":4,"subscribed":true},{"name":"Documentation","color":"#1E80DD","open_issues_count":42,"closed_issues_count":42,"open_merge_requests_count":6,"subscribed":true}]
0 [{"id":1,"target_branch":"master","source_branch":"api","project_id":3,"title":"New feature","closed":false,"merged":false,"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-10-19T05:56:05Z"},"assignee":{"id":2,"email":"jack@example.com","name":"Jack Smith","blocked":false,"created_at":"2012-10-19T05:56:14Z"}}]
0 [{"id":1,"target_branch":"master","source_branch":"api","project_id":3,"title":"New feature","closed":false,"merged":false,"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-10-19T05:56:05Z"},"assignee":{"id":2,"email":"jack@example.com","name":"Jack Smith","blocked":false,"created_at":"2012-10-19T05:56:14Z"}}]
0 {"id":1,"group_id":3,"title":"3.0","description":"","due_date":"2012-10-22","closed":false,"updated_at":"2012-09-17T10:15:31Z","created_at":"2012-09-17T10:15:31Z"}
0 {"id":1,"group_id":3,"title":"3.0","description":"","due_date":"2012-10-22","closed":false,"updated_at":"2012-09-17T10:15:31Z","created_at":"2012-09-17T10:15:31Z"}
0 [{"id":1,"project_id":3,"title":"Culpa eius recusandae suscipit autem distinctio dolorum.","description":null,"labels":[],"milestone":{"id": 1},"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z"},{"id":6,"project_id":3,"title":"Ut in dolorum omnis sed sit aliquam.","description":null,"labels":[],"milestone":{"id": 1},"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z"},{"id":12,"project_id":3,"title":"Veniam et tempore quidem eum reprehenderit cupiditate non aut velit eaque.","description":null,"labels":[],"milestone":{"id": 1},"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z"},{"id":21,"project_id":3,"title":"Vitae ea aliquam et quo eligendi sapiente voluptatum labore hic nihil culpa.","description":null,"labels":[],"milestone":{"id": 1},"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z"},{"id":26,"project_id":3,"title":"Quo enim est nihil atque placeat voluptas neque eos voluptas.","description":null,"labels":[],"milestone":{"id": 1},"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z"},{"id":32,"project_id":3,"title":"Deserunt tenetur impedit est beatae voluptas voluptas quaerat quisquam.","description":null,"labels":[],"milestone":{"id": 1},"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z"}]
0 [{"id":1,"project_id":3,"title":"Culpa eius recusandae suscipit autem distinctio dolorum.","description":null,"labels":[],"milestone":{"id":1},"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z"},{"id":6,"project_id":3,"title":"Ut in dolorum omnis sed sit aliquam.","description":null,"labels":[],"milestone":{"id":1},"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z"},{"id":12,"project_id":3,"title":"Veniam et tempore quidem eum reprehenderit cupiditate non aut velit eaque.","description":null,"labels":[],"milestone":{"id":1},"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z"},{"id":21,"project_id":3,"title":"Vitae ea aliquam et quo eligendi sapiente voluptatum labore hic nihil culpa.","description":null,"labels":[],"milestone":{"id":1},"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z"},{"id":26,"project_id":3,"title":"Quo enim est nihil atque placeat voluptas neque eos voluptas.","description":null,"labels":[],"milestone":{"id":1},"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z"},{"id":32,"project_id":3,"title":"Deserunt tenetur impedit est beatae voluptas voluptas quaerat quisquam.","description":null,"labels":[],"milestone":{"id":1},"assignee":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"closed":false,"updated_at":"2012-09-17T09:42:20Z","created_at":"2012-09-17T09:42:20Z"}]
0 [{"id":1,"iid":1,"project_id":1,"title":"lorem ipsum","description":"","state":"opened","created_at":"2017-03-24T12:23:53.918Z","updated_at":"2017-03-24T12:23:53.918Z","target_branch":"master","source_branch":"def","upvotes":0,"downvotes":0,"author":{"name":"John Doe","username":"jdoe","id":1,"state":"active","avatar_url":"","web_url":"https://gitlab.com/jdoen"},"assignee":null,"source_project_id":1,"target_project_id":1,"labels":[],"work_in_progress":false,"milestone":{"id":1,"iid":1,"project_id":1,"title":"Test","description":"","state":"active","created_at":"2017-03-24T12:23:00.560Z","updated_at":"2017-03-24T12:23:00.560Z","due_date":null,"start_date":null},"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","sha":"aec123d1775790b2347fdd684b5ba613fdeb994b","merge_commit_sha":null,"user_notes_count":0,"approvals_before_merge":null,"should_remove_source_branch":null,"force_remove_source_branch":false,"squash":false,"web_url":"https://gitlab.com/jdoe/milestone_merge_requests_test/merge_requests/2"},{"id":2,"iid":2,"project_id":1,"title":"ipsum lorem","description":"","state":"opened","created_at":"2017-03-24T12:23:24.662Z","updated_at":"2017-03-24T12:23:33.522Z","target_branch":"master","source_branch":"test1","upvotes":0,"downvotes":0,"author":{"name":"Joren","username":"jdoe","id":1,"state":"active","":"","web_url":"https://gitlab.com/jdoe"},"assignee":null,"source_project_id":1,"target_project_id":1,"labels":[],"work_in_progress":false,"milestone":{"id":1,"iid":1,"project_id":1,"title":"Test","description":"","state":"active","created_at":"2017-03-24T12:23:00.560Z","updated_at":"2017-03-24T12:23:00.560Z","due_date":null,"start_date":null},"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","sha":"3ee44c9b40deddae596f838b97523c6f010fd80d","merge_commit_sha":null,"user_notes_count":0,"approvals_before_merge":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"squash":false,"web_url":"https://gitlab.com/jdoe/milestone_merge_requests_test/merge_requests/1"}]
0 [{"id":1,"iid":1,"project_id":1,"title":"lorem ipsum","description":"","state":"opened","created_at":"2017-03-24T12:23:53.918Z","updated_at":"2017-03-24T12:23:53.918Z","target_branch":"master","source_branch":"def","upvotes":0,"downvotes":0,"author":{"name":"John Doe","username":"jdoe","id":1,"state":"active","avatar_url":"","web_url":"https://gitlab.com/jdoen"},"assignee":null,"source_project_id":1,"target_project_id":1,"labels":[],"work_in_progress":false,"milestone":{"id":1,"iid":1,"project_id":1,"title":"Test","description":"","state":"active","created_at":"2017-03-24T12:23:00.560Z","updated_at":"2017-03-24T12:23:00.560Z","due_date":null,"start_date":null},"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","sha":"aec123d1775790b2347fdd684b5ba613fdeb994b","merge_commit_sha":null,"user_notes_count":0,"approvals_before_merge":null,"should_remove_source_branch":null,"force_remove_source_branch":false,"squash":false,"web_url":"https://gitlab.com/jdoe/milestone_merge_requests_test/merge_requests/2"},{"id":2,"iid":2,"project_id":1,"title":"ipsum lorem","description":"","state":"opened","created_at":"2017-03-24T12:23:24.662Z","updated_at":"2017-03-24T12:23:33.522Z","target_branch":"master","source_branch":"test1","upvotes":0,"downvotes":0,"author":{"name":"Joren","username":"jdoe","id":1,"state":"active","":"","web_url":"https://gitlab.com/jdoe"},"assignee":null,"source_project_id":1,"target_project_id":1,"labels":[],"work_in_progress":false,"milestone":{"id":1,"iid":1,"project_id":1,"title":"Test","description":"","state":"active","created_at":"2017-03-24T12:23:00.560Z","updated_at":"2017-03-24T12:23:00.560Z","due_date":null,"start_date":null},"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","sha":"3ee44c9b40deddae596f838b97523c6f010fd80d","merge_commit_sha":null,"user_notes_count":0,"approvals_before_merge":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"squash":false,"web_url":"https://gitlab.com/jdoe/milestone_merge_requests_test/merge_requests/1"}]
0 [{"id":1,"group_id":3,"title":"3.0","description":"","due_date":"2012-10-22","closed":false,"updated_at":"2012-09-17T10:15:31Z","created_at":"2012-09-17T10:15:31Z"}]
0 [{"id":1,"group_id":3,"title":"3.0","description":"","due_date":"2012-10-22","closed":false,"updated_at":"2012-09-17T10:15:31Z","created_at":"2012-09-17T10:15:31Z"}]
0 [
1 {
2 "id": 4,
3 "description": null,
4 "default_branch": "master",
5 "public": false,
6 "visibility_level": 0,
7 "ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git",
8 "http_url_to_repo": "http://example.com/diaspora/diaspora-client.git",
9 "web_url": "http://example.com/diaspora/diaspora-client",
10 "tag_list": [
11 "example",
12 "disapora client"
13 ],
14 "owner": {
15 "id": 3,
16 "name": "Diaspora",
17 "created_at": "2013-09-30T13: 46: 02Z"
18 },
19 "name": "Diaspora Client",
20 "name_with_namespace": "Diaspora / Diaspora Client",
21 "path": "diaspora-client",
22 "path_with_namespace": "diaspora/diaspora-client",
23 "issues_enabled": true,
24 "merge_requests_enabled": true,
25 "builds_enabled": true,
26 "wiki_enabled": true,
27 "snippets_enabled": false,
28 "created_at": "2013-09-30T13: 46: 02Z",
29 "last_activity_at": "2013-09-30T13: 46: 02Z",
30 "creator_id": 3,
31 "namespace": {
32 "created_at": "2013-09-30T13: 46: 02Z",
33 "description": "",
34 "id": 3,
35 "name": "Diaspora",
36 "owner_id": 1,
37 "path": "diaspora",
38 "updated_at": "2013-09-30T13: 46: 02Z"
39 },
40 "archived": false,
41 "avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png"
42 }
43 ]
0 [{"id":4,"description":null,"default_branch":"master","public":false,"visibility_level":0,"ssh_url_to_repo":"git@example.com:diaspora/diaspora-client.git","http_url_to_repo":"http://example.com/diaspora/diaspora-client.git","web_url":"http://example.com/diaspora/diaspora-client","tag_list":["example","disapora client"],"owner":{"id":3,"name":"Diaspora","created_at":"2013-09-30T13: 46: 02Z"},"name":"Diaspora Client","name_with_namespace":"Diaspora / Diaspora Client","path":"diaspora-client","path_with_namespace":"diaspora/diaspora-client","issues_enabled":true,"merge_requests_enabled":true,"builds_enabled":true,"wiki_enabled":true,"snippets_enabled":false,"created_at":"2013-09-30T13: 46: 02Z","last_activity_at":"2013-09-30T13: 46: 02Z","creator_id":3,"namespace":{"created_at":"2013-09-30T13: 46: 02Z","description":"","id":3,"name":"Diaspora","owner_id":1,"path":"diaspora","updated_at":"2013-09-30T13: 46: 02Z"},"archived":false,"avatar_url":"http://example.com/uploads/project/avatar/4/uploads/avatar.png"}]
0 [{"id": 5,"name": "Five-Group","path": "five-group","owner_id": 2},{"id": 8,"name": "Eight Group","path": "eight-group","owner_id": 6}
1 ]
0 [{"id":5,"name":"Five-Group","path":"five-group","owner_id":2},{"id":8,"name":"Eight Group","path":"eight-group","owner_id":6}]
0 [
1 {
2 "id": 1,
3 "name": "Foobar Group",
4 "path": "foo-bar",
5 "description": "An interesting group",
6 "visibility": "public",
7 "lfs_enabled": true,
8 "avatar_url": "http://gitlab.example.com/uploads/group/avatar/1/foo.jpg",
9 "web_url": "http://gitlab.example.com/groups/foo-bar",
10 "request_access_enabled": false,
11 "full_name": "Foobar Group",
12 "full_path": "foo-bar",
13 "parent_id": 123
14 }
15 ]
0 [{"id":1,"name":"Foobar Group","path":"foo-bar","description":"An interesting group","visibility":"public","lfs_enabled":true,"avatar_url":"http://gitlab.example.com/uploads/group/avatar/1/foo.jpg","web_url":"http://gitlab.example.com/groups/foo-bar","request_access_enabled":false,"full_name":"Foobar Group","full_path":"foo-bar","parent_id":123}]
0 [{"id": 3,"name": "ThreeGroup","path": "threegroup","owner_id": 1},{"id": 5,"name": "Five-Group","path": "five-group","owner_id": 2},{"id": 8,"name": "Eight Group","path": "eight-group","owner_id": 6}
1 ]
0 [{"id":3,"name":"ThreeGroup","path":"threegroup","owner_id":1},{"id":5,"name":"Five-Group","path":"five-group","owner_id":2},{"id":8,"name":"Eight Group","path":"eight-group","owner_id":6}]
0 {
1 "status": "invalid",
2 "errors": [
3 "variables config should be a hash of key value pairs"
4 ]
5 }
0 {"status":"invalid","errors":["variables config should be a hash of key value pairs"]}
0 {
1 "id": 4,
2 "name": "blowfish",
3 "user": {
4 "name": "Administrator",
5 "username": "root",
6 "id": 1,
7 "state": "active",
8 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
9 "web_url": "http://gitlab.example.com/root"
10 },
11 "created_at": "2016-06-15T10:09:34.206Z",
12 "updated_at": "2016-06-15T10:09:34.206Z",
13 "awardable_id": 80,
14 "awardable_type": "Issue"
15 }
0 {"id":4,"name":"blowfish","user":{"name":"Administrator","username":"root","id":1,"state":"active","avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","web_url":"http://gitlab.example.com/root"},"created_at":"2016-06-15T10:09:34.206Z","updated_at":"2016-06-15T10:09:34.206Z","awardable_id":80,"awardable_type":"Issue"}
0 [
1 {
2 "id": 4,
3 "name": "1234",
4 "user": {
5 "name": "Administrator",
6 "username": "root",
7 "id": 1,
8 "state": "active",
9 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
10 "web_url": "http://gitlab.example.com/root"
11 },
12 "created_at": "2016-06-15T10:09:34.206Z",
13 "updated_at": "2016-06-15T10:09:34.206Z",
14 "awardable_id": 80,
15 "awardable_type": "Issue"
16 },
17 {
18 "id": 1,
19 "name": "microphone",
20 "user": {
21 "name": "User 4",
22 "username": "user4",
23 "id": 26,
24 "state": "active",
25 "avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon",
26 "web_url": "http://gitlab.example.com/user4"
27 },
28 "created_at": "2016-06-15T10:09:34.177Z",
29 "updated_at": "2016-06-15T10:09:34.177Z",
30 "awardable_id": 80,
31 "awardable_type": "Issue"
32 }
33 ]
0 [{"id":4,"name":"1234","user":{"name":"Administrator","username":"root","id":1,"state":"active","avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","web_url":"http://gitlab.example.com/root"},"created_at":"2016-06-15T10:09:34.206Z","updated_at":"2016-06-15T10:09:34.206Z","awardable_id":80,"awardable_type":"Issue"},{"id":1,"name":"microphone","user":{"name":"User 4","username":"user4","id":26,"state":"active","avatar_url":"http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon","web_url":"http://gitlab.example.com/user4"},"created_at":"2016-06-15T10:09:34.177Z","updated_at":"2016-06-15T10:09:34.177Z","awardable_id":80,"awardable_type":"Issue"}]
0 {
1 "commit": {
2 "author_email": "admin@example.com",
3 "author_name": "Administrator",
4 "created_at": "2015-12-24T16:51:14.000+01:00",
5 "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
6 "message": "Test the CI integration.",
7 "short_id": "0ff3ae19",
8 "title": "Test the CI integration."
9 },
10 "coverage": null,
11 "created_at": "2015-12-24T15:51:21.880Z",
12 "artifacts_file": null,
13 "finished_at": "2015-12-24T17:54:31.198Z",
14 "id": 8,
15 "name": "rubocop",
16 "pipeline": {
17 "id": 6,
18 "ref": "master",
19 "sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
20 "status": "pending"
21 },
22 "ref": "master",
23 "runner": null,
24 "stage": "test",
25 "started_at": "2015-12-24T17:54:30.733Z",
26 "status": "failed",
27 "tag": false,
28 "user": {
29 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
30 "bio": null,
31 "created_at": "2015-12-21T13:14:24.077Z",
32 "id": 1,
33 "linkedin": "",
34 "name": "Administrator",
35 "skype": "",
36 "state": "active",
37 "twitter": "",
38 "username": "root",
39 "web_url": "http://gitlab.dev/root",
40 "website_url": ""
41 }
42 }
0 {"commit":{"author_email":"admin@example.com","author_name":"Administrator","created_at":"2015-12-24T16:51:14.000+01:00","id":"0ff3ae198f8601a285adcf5c0fff204ee6fba5fd","message":"Test the CI integration.","short_id":"0ff3ae19","title":"Test the CI integration."},"coverage":null,"created_at":"2015-12-24T15:51:21.880Z","artifacts_file":null,"finished_at":"2015-12-24T17:54:31.198Z","id":8,"name":"rubocop","pipeline":{"id":6,"ref":"master","sha":"0ff3ae198f8601a285adcf5c0fff204ee6fba5fd","status":"pending"},"ref":"master","runner":null,"stage":"test","started_at":"2015-12-24T17:54:30.733Z","status":"failed","tag":false,"user":{"avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","bio":null,"created_at":"2015-12-21T13:14:24.077Z","id":1,"linkedin":"","name":"Administrator","skype":"","state":"active","twitter":"","username":"root","web_url":"http://gitlab.dev/root","website_url":""}}
0 [
1 {
2 "commit": {
3 "author_email": "admin@example.com",
4 "author_name": "Administrator",
5 "created_at": "2015-12-24T16:51:14.000+01:00",
6 "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
7 "message": "Test the CI integration.",
8 "short_id": "0ff3ae19",
9 "title": "Test the CI integration."
10 },
11 "coverage": null,
12 "created_at": "2015-12-24T15:51:21.802Z",
13 "artifacts_file": {
14 "filename": "artifacts.zip",
15 "size": 1000
16 },
17 "finished_at": "2015-12-24T17:54:27.895Z",
18 "id": 7,
19 "name": "teaspoon",
20 "pipeline": {
21 "id": 6,
22 "ref": "master",
23 "sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
24 "status": "pending"
25 },
26 "ref": "master",
27 "runner": null,
28 "stage": "test",
29 "started_at": "2015-12-24T17:54:27.722Z",
30 "status": "failed",
31 "tag": false,
32 "user": {
33 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
34 "bio": null,
35 "created_at": "2015-12-21T13:14:24.077Z",
36 "id": 1,
37 "linkedin": "",
38 "name": "Administrator",
39 "skype": "",
40 "state": "active",
41 "twitter": "",
42 "username": "root",
43 "web_url": "http://gitlab.dev/root",
44 "website_url": ""
45 }
46 },
47 {
48 "commit": {
49 "author_email": "admin@example.com",
50 "author_name": "Administrator",
51 "created_at": "2015-12-24T16:51:14.000+01:00",
52 "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
53 "message": "Test the CI integration.",
54 "short_id": "0ff3ae19",
55 "title": "Test the CI integration."
56 },
57 "coverage": null,
58 "created_at": "2015-12-24T15:51:21.727Z",
59 "artifacts_file": null,
60 "finished_at": "2015-12-24T17:54:24.921Z",
61 "id": 6,
62 "name": "spinach:other",
63 "pipeline": {
64 "id": 6,
65 "ref": "master",
66 "sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
67 "status": "pending"
68 },
69 "ref": "master",
70 "runner": null,
71 "stage": "test",
72 "started_at": "2015-12-24T17:54:24.729Z",
73 "status": "failed",
74 "tag": false,
75 "user": {
76 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
77 "bio": null,
78 "created_at": "2015-12-21T13:14:24.077Z",
79 "id": 1,
80 "linkedin": "",
81 "name": "Administrator",
82 "skype": "",
83 "state": "active",
84 "twitter": "",
85 "username": "root",
86 "web_url": "http://gitlab.dev/root",
87 "website_url": ""
88 }
89 }
90 ]
0 [{"commit":{"author_email":"admin@example.com","author_name":"Administrator","created_at":"2015-12-24T16:51:14.000+01:00","id":"0ff3ae198f8601a285adcf5c0fff204ee6fba5fd","message":"Test the CI integration.","short_id":"0ff3ae19","title":"Test the CI integration."},"coverage":null,"created_at":"2015-12-24T15:51:21.802Z","artifacts_file":{"filename":"artifacts.zip","size":1000},"finished_at":"2015-12-24T17:54:27.895Z","id":7,"name":"teaspoon","pipeline":{"id":6,"ref":"master","sha":"0ff3ae198f8601a285adcf5c0fff204ee6fba5fd","status":"pending"},"ref":"master","runner":null,"stage":"test","started_at":"2015-12-24T17:54:27.722Z","status":"failed","tag":false,"user":{"avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","bio":null,"created_at":"2015-12-21T13:14:24.077Z","id":1,"linkedin":"","name":"Administrator","skype":"","state":"active","twitter":"","username":"root","web_url":"http://gitlab.dev/root","website_url":""}},{"commit":{"author_email":"admin@example.com","author_name":"Administrator","created_at":"2015-12-24T16:51:14.000+01:00","id":"0ff3ae198f8601a285adcf5c0fff204ee6fba5fd","message":"Test the CI integration.","short_id":"0ff3ae19","title":"Test the CI integration."},"coverage":null,"created_at":"2015-12-24T15:51:21.727Z","artifacts_file":null,"finished_at":"2015-12-24T17:54:24.921Z","id":6,"name":"spinach:other","pipeline":{"id":6,"ref":"master","sha":"0ff3ae198f8601a285adcf5c0fff204ee6fba5fd","status":"pending"},"ref":"master","runner":null,"stage":"test","started_at":"2015-12-24T17:54:24.729Z","status":"failed","tag":false,"user":{"avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","bio":null,"created_at":"2015-12-21T13:14:24.077Z","id":1,"linkedin":"","name":"Administrator","skype":"","state":"active","twitter":"","username":"root","web_url":"http://gitlab.dev/root","website_url":""}}]
0 {"id":1,"title":"narkoz@helium","key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkUsh42Nh1yefGd1jbSELn5XsY8p5Oxmau0/1HqHnjuYOaj5X+kHccFDwtmtg9Ox8ua/+WptNsiE8IUwsD3zKgEjajgwq3gMeeFdxfXwM+tEvHOOMV9meRrgRWGYCToPbT6sR7/YMAYa7cPqWSpx/oZhYfz4XtoMv3ZZT1fZMmx3MY3HwXwW8j+obJyN2K4LN0TFi9RPgWWYn0DCyb9OccmABimt3i74WoJ/OT8r6/7swce8+OSe0Q2wBhyTtvxg2vtUcoek8Af+EZaUMBwSEzEsocOCzwQvjF5XUk5o7dJ8nP8W3RE60JWX57t16eQm7lBmumLYfszpn2isd6W7a1 narkoz@helium"}
0 {"id":1,"title":"narkoz@helium","key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkUsh42Nh1yefGd1jbSELn5XsY8p5Oxmau0/1HqHnjuYOaj5X+kHccFDwtmtg9Ox8ua/+WptNsiE8IUwsD3zKgEjajgwq3gMeeFdxfXwM+tEvHOOMV9meRrgRWGYCToPbT6sR7/YMAYa7cPqWSpx/oZhYfz4XtoMv3ZZT1fZMmx3MY3HwXwW8j+obJyN2K4LN0TFi9RPgWWYn0DCyb9OccmABimt3i74WoJ/OT8r6/7swce8+OSe0Q2wBhyTtvxg2vtUcoek8Af+EZaUMBwSEzEsocOCzwQvjF5XUk5o7dJ8nP8W3RE60JWX57t16eQm7lBmumLYfszpn2isd6W7a1 narkoz@helium"}
0 [{"id":1,"title":"narkoz@helium","key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkUsh42Nh1yefGd1jbSELn5XsY8p5Oxmau0/1HqHnjuYOaj5X+kHccFDwtmtg9Ox8ua/+WptNsiE8IUwsD3zKgEjajgwq3gMeeFdxfXwM+tEvHOOMV9meRrgRWGYCToPbT6sR7/YMAYa7cPqWSpx/oZhYfz4XtoMv3ZZT1fZMmx3MY3HwXwW8j+obJyN2K4LN0TFi9RPgWWYn0DCyb9OccmABimt3i74WoJ/OT8r6/7swce8+OSe0Q2wBhyTtvxg2vtUcoek8Af+EZaUMBwSEzEsocOCzwQvjF5XUk5o7dJ8nP8W3RE60JWX57t16eQm7lBmumLYfszpn2isd6W7a1 narkoz@helium"}]
0 [{"id":1,"title":"narkoz@helium","key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkUsh42Nh1yefGd1jbSELn5XsY8p5Oxmau0/1HqHnjuYOaj5X+kHccFDwtmtg9Ox8ua/+WptNsiE8IUwsD3zKgEjajgwq3gMeeFdxfXwM+tEvHOOMV9meRrgRWGYCToPbT6sR7/YMAYa7cPqWSpx/oZhYfz4XtoMv3ZZT1fZMmx3MY3HwXwW8j+obJyN2K4LN0TFi9RPgWWYn0DCyb9OccmABimt3i74WoJ/OT8r6/7swce8+OSe0Q2wBhyTtvxg2vtUcoek8Af+EZaUMBwSEzEsocOCzwQvjF5XUk5o7dJ8nP8W3RE60JWX57t16eQm7lBmumLYfszpn2isd6W7a1 narkoz@helium"}]
0 {"name": "Backlog", "color": "#DD10AA", "subscribed": true}
0 {"name":"Backlog","color":"#DD10AA","subscribed":true}
0 {"name": "Backlog", "color": "#DD10AA", "subscribed": false}
0 {"name":"Backlog","color":"#DD10AA","subscribed":false}
0 [{"name": "Backlog", "color": "#DD10AA"},{"name": "Documentation", "color": "#1E80DD"}]
0 [{"name":"Backlog","color":"#DD10AA"},{"name":"Documentation","color":"#1E80DD"}]
0 {
1 "key": "mit",
2 "name": "MIT License",
3 "nickname": null,
4 "popular": true,
5 "html_url": "http://choosealicense.com/licenses/mit/",
6 "source_url": "https://opensource.org/licenses/MIT",
7 "description": "A short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.",
8 "conditions": [
9 "include-copyright"
10 ],
11 "permissions": [
12 "commercial-use",
13 "modifications",
14 "distribution",
15 "private-use"
16 ],
17 "limitations": [
18 "liability",
19 "warranty"
20 ],
21 "content": "MIT License\n\nCopyright (c) 2018 [fullname]\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
22 }
0 {"key":"mit","name":"MIT License","nickname":null,"popular":true,"html_url":"http://choosealicense.com/licenses/mit/","source_url":"https://opensource.org/licenses/MIT","description":"A short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.","conditions":["include-copyright"],"permissions":["commercial-use","modifications","distribution","private-use"],"limitations":["liability","warranty"],"content":"MIT License\n\nCopyright (c) 2018 [fullname]\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"}
0 {
1 "key": "mit",
2 "name": "MIT License",
3 "nickname": null,
4 "featured": true,
5 "html_url": "http://choosealicense.com/licenses/mit/",
6 "source_url": "http://opensource.org/licenses/MIT",
7 "description": "A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty.",
8 "conditions": [
9 "include-copyright"
10 ],
11 "permissions": [
12 "commercial-use",
13 "modifications",
14 "distribution",
15 "private-use"
16 ],
17 "limitations": [
18 "no-liability"
19 ],
20 "content": "The MIT License (MIT)\n\nCopyright (c) 2016 John Doe\n [...]"
21 }
0 {"key":"mit","name":"MIT License","nickname":null,"featured":true,"html_url":"http://choosealicense.com/licenses/mit/","source_url":"http://opensource.org/licenses/MIT","description":"A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty.","conditions":["include-copyright"],"permissions":["commercial-use","modifications","distribution","private-use"],"limitations":["no-liability"],"content":"The MIT License (MIT)\n\nCopyright (c) 2016 John Doe\n [...]"}
0 [
1 {
2 "key": "apache-2.0",
3 "name": "Apache License 2.0",
4 "nickname": null,
5 "featured": true,
6 "html_url": "http://choosealicense.com/licenses/apache-2.0/",
7 "source_url": "http://www.apache.org/licenses/LICENSE-2.0.html",
8 "description": "A permissive license that also provides an express grant of patent rights from contributors to users.",
9 "conditions": [
10 "include-copyright",
11 "document-changes"
12 ],
13 "permissions": [
14 "commercial-use",
15 "modifications",
16 "distribution",
17 "patent-use",
18 "private-use"
19 ],
20 "limitations": [
21 "trademark-use",
22 "no-liability"
23 ],
24 "content": " Apache License\n Version 2.0, January 2004\n [...]"
25 },
26 {
27 "key": "gpl-3.0",
28 "name": "GNU General Public License v3.0",
29 "nickname": "GNU GPLv3",
30 "featured": true,
31 "html_url": "http://choosealicense.com/licenses/gpl-3.0/",
32 "source_url": "http://www.gnu.org/licenses/gpl-3.0.txt",
33 "description": "The GNU GPL is the most widely used free software license and has a strong copyleft requirement. When distributing derived works, the source code of the work must be made available under the same license.",
34 "conditions": [
35 "include-copyright",
36 "document-changes",
37 "disclose-source",
38 "same-license"
39 ],
40 "permissions": [
41 "commercial-use",
42 "modifications",
43 "distribution",
44 "patent-use",
45 "private-use"
46 ],
47 "limitations": [
48 "no-liability"
49 ],
50 "content": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n [...]"
51 },
52 {
53 "key": "mit",
54 "name": "MIT License",
55 "nickname": null,
56 "featured": true,
57 "html_url": "http://choosealicense.com/licenses/mit/",
58 "source_url": "http://opensource.org/licenses/MIT",
59 "description": "A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty.",
60 "conditions": [
61 "include-copyright"
62 ],
63 "permissions": [
64 "commercial-use",
65 "modifications",
66 "distribution",
67 "private-use"
68 ],
69 "limitations": [
70 "no-liability"
71 ],
72 "content": "The MIT License (MIT)\n\nCopyright (c) [year] [fullname]\n [...]"
73 }
74 ]
0 [{"key":"apache-2.0","name":"Apache License 2.0","nickname":null,"featured":true,"html_url":"http://choosealicense.com/licenses/apache-2.0/","source_url":"http://www.apache.org/licenses/LICENSE-2.0.html","description":"A permissive license that also provides an express grant of patent rights from contributors to users.","conditions":["include-copyright","document-changes"],"permissions":["commercial-use","modifications","distribution","patent-use","private-use"],"limitations":["trademark-use","no-liability"],"content":" Apache License\n Version 2.0, January 2004\n [...]"},{"key":"gpl-3.0","name":"GNU General Public License v3.0","nickname":"GNU GPLv3","featured":true,"html_url":"http://choosealicense.com/licenses/gpl-3.0/","source_url":"http://www.gnu.org/licenses/gpl-3.0.txt","description":"The GNU GPL is the most widely used free software license and has a strong copyleft requirement. When distributing derived works, the source code of the work must be made available under the same license.","conditions":["include-copyright","document-changes","disclose-source","same-license"],"permissions":["commercial-use","modifications","distribution","patent-use","private-use"],"limitations":["no-liability"],"content":" GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n [...]"},{"key":"mit","name":"MIT License","nickname":null,"featured":true,"html_url":"http://choosealicense.com/licenses/mit/","source_url":"http://opensource.org/licenses/MIT","description":"A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty.","conditions":["include-copyright"],"permissions":["commercial-use","modifications","distribution","private-use"],"limitations":["no-liability"],"content":"The MIT License (MIT)\n\nCopyright (c) [year] [fullname]\n [...]"}]
0 { "html": "<p dir=\"auto\">Hello world! <gl-emoji title=\"party popper\" data-name=\"tada\" data-unicode-version=\"6.0\">🎉</gl-emoji></p>" }
0 {"html":"<p dir=\"auto\">Hello world! <gl-emoji title=\"party popper\" data-name=\"tada\" data-unicode-version=\"6.0\">🎉</gl-emoji></p>"}
0 {
1 "id": "1a0b36b3cdad1d2ee32457c102a8c0b7056fa863",
2 "short_id": "1a0b36b3",
3 "title": "Initial commit",
4 "created_at": "2014-02-27T08:03:18.000Z",
5 "parent_ids": [],
6 "message": "Initial commit\n",
7 "author_name": "Dmitriy Zaporozhets",
8 "author_email": "dmitriy.zaporozhets@gmail.com",
9 "authored_date": "2014-02-27T08:03:18.000Z",
10 "committer_name": "Dmitriy Zaporozhets",
11 "committer_email": "dmitriy.zaporozhets@gmail.com",
12 "committed_date": "2014-02-27T08:03:18.000Z"
13 }
0 {"id":"1a0b36b3cdad1d2ee32457c102a8c0b7056fa863","short_id":"1a0b36b3","title":"Initial commit","created_at":"2014-02-27T08:03:18.000Z","parent_ids":[],"message":"Initial commit\n","author_name":"Dmitriy Zaporozhets","author_email":"dmitriy.zaporozhets@gmail.com","authored_date":"2014-02-27T08:03:18.000Z","committer_name":"Dmitriy Zaporozhets","committer_email":"dmitriy.zaporozhets@gmail.com","committed_date":"2014-02-27T08:03:18.000Z"}
0 {"id":1,"iid":1,"project_id":3,"title":"Approvals API","description":"Test","state":"opened","created_at":"2016-06-08T00:19:52.638Z","updated_at":"2016-06-08T21:20:42.470Z","merge_status":"cannot_be_merged","approvals_required":2,"approvals_left":2,"approved_by":[],"approvers":[{"user":{"name":"Administrator","username":"root","id":1,"state":"active","avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","web_url":"http://localhost:3000/root"}}],"approver_groups":[{"group":{"id":5,"name":"group1","path":"group1","description":"","visibility":"public","lfs_enabled":false,"avatar_url":null,"web_url":"http://localhost/groups/group1","request_access_enabled":false,"full_name":"group1","full_path":"group1","parent_id":null,"ldap_cn":null,"ldap_access":null}}]}
0 {
1 "id": 5,
2 "iid": 5,
3 "project_id": 1,
4 "title": "Approvals API",
5 "description": "Test",
6 "state": "opened",
7 "created_at": "2016-06-08T00:19:52.638Z",
8 "updated_at": "2016-06-08T21:20:42.470Z",
9 "merge_status": "can_be_merged",
10 "approvals_required": 2,
11 "approvals_missing": 2,
12 "approved_by": [],
13 "approvers": [
14 {
15 "user": {
16 "name": "Administrator",
17 "username": "root",
18 "id": 1,
19 "state": "active",
20 "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon",
21 "web_url": "http://localhost:3000/u/root"
22 }
23 }
24 ],
25 "approver_groups": [
26 {
27 "group": {
28 "id": 5,
29 "name": "group1",
30 "path": "group1",
31 "description": "",
32 "visibility": "public",
33 "lfs_enabled": false,
34 "avatar_url": null,
35 "web_url": "http://localhost/groups/group1",
36 "request_access_enabled": false,
37 "full_name": "group1",
38 "full_path": "group1",
39 "parent_id": null,
40 "ldap_cn": null,
41 "ldap_access": null
42 }
43 }
44 ]
45 }
0 {"id":5,"iid":5,"project_id":1,"title":"Approvals API","description":"Test","state":"opened","created_at":"2016-06-08T00:19:52.638Z","updated_at":"2016-06-08T21:20:42.470Z","merge_status":"can_be_merged","approvals_required":2,"approvals_missing":2,"approved_by":[],"approvers":[{"user":{"name":"Administrator","username":"root","id":1,"state":"active","avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon","web_url":"http://localhost:3000/u/root"}}],"approver_groups":[{"group":{"id":5,"name":"group1","path":"group1","description":"","visibility":"public","lfs_enabled":false,"avatar_url":null,"web_url":"http://localhost/groups/group1","request_access_enabled":false,"full_name":"group1","full_path":"group1","parent_id":null,"ldap_cn":null,"ldap_access":null}}]}