sonarqube 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e680fc94b776928413282ec95fba32c8fd7e51c4b5bc87a4bcf55c1d52278243
4
- data.tar.gz: f50d05b8fdcae29c3012ece050e5a150b9ca34ccced8ae4d284a6a8cd7673695
3
+ metadata.gz: 36f0b9e09a5bfb9b12982dcd90c1d948b9b8f1f9208b7013df3f3e01abff6dd5
4
+ data.tar.gz: f40d3080cfe16333e36848d29085d1c2fd6931abc23c481eda5eaf9bda95235b
5
5
  SHA512:
6
- metadata.gz: 55b07744ea669d652069d03647ccb2e8474b27c68d259590a777ab2738163188f0ce1f8010f4c46c671a38964fa2221498c18e690c49c8b1dddda403699da3cb
7
- data.tar.gz: 379617da7805974463649b0d1379f08f9a6cc075ee840eb26b1466835e9e232e1b873420ec7d26352b8852c5ae5552ed30a0a18effdfb999af2658ab6cbf74ee
6
+ metadata.gz: d4386f5ea8015775811541b8eb725ae60b8489a8d1127ffa1445e95a4e01d0360001569897ab88f4691ad0b3c1cfe3973654c324f5bf011f36bc07f201e6216c
7
+ data.tar.gz: 4fe56aee93ffb543a2de3bbedac9560558265ab59f547225e23d8bfa4f7f9654150cb82927d026b9bad9c5e8b60a27100dceaf7b041ecea643b61aeb06fdf5c4
@@ -4,6 +4,14 @@
4
4
 
5
5
  Please see: https://github.com/psyreactor/sonarqube-ruby/releases
6
6
 
7
+ ### 1.1.0 (24/08/2020)
8
+
9
+ - New features
10
+ * Added support for users_token API
11
+ - Fix
12
+ * Fix Readme
13
+ * Add site documentation
14
+
7
15
  ### 1.0.2 (24/08/2020)
8
16
 
9
17
  - Fix
data/README.md CHANGED
@@ -88,28 +88,6 @@ project.to_hash
88
88
  # => {"project"=>{"key"=>"new_project", "name"=>"new_project", "qualifier"=>"TRK", "visibility"=>"public"}}
89
89
  ```
90
90
 
91
- #### Delete Project
92
- ```ruby
93
- project = Sonarqube.project_delete('test')
94
- # => #<Sonarqube::ObjectifiedHash:46220 {hash: {}}
95
- project.to_hash.empty?
96
- # => true
97
- ```
98
-
99
- #### Search Project
100
- ```ruby
101
- projects = Sonarqube.project_search()
102
- # => #<Sonarqube::ObjectifiedHash:46240 {hash: {"paging"=>{"pageIndex"=>1, "pageSize"=>100, "total"=>2}, "components"=>[{"organization"=>"default-organization", "key"=>"old_key", "name"=>"new_proyect", "qualifier"=>"TRK", "visibility"=>"private"}, {"organization"=>"default-organization", "key"=>"test", "name"=>"test", "qualifier"=>"TRK", "visibility"=>"public"}]}}
103
- projects.components.each do | project |
104
- puts "name: #{project.name}"
105
- puts "key: #{project.key}"
106
- end
107
- # name: new_proyect
108
- # key: old_key
109
- # name: test
110
- # key: test
111
- ```
112
-
113
91
  ### Users
114
92
 
115
93
  #### Create User
@@ -122,56 +100,9 @@ user.user.name
122
100
  # name_user
123
101
  ```
124
102
 
125
- #### Delete User
126
- ```ruby
127
- user = Sonarqube.user_delete('test')
128
- # => #<Sonarqube::ObjectifiedHash:46220 {hash: {}}
129
- user.to_hash.empty?
130
- # => true
131
- ```
132
-
133
- #### Search User
134
- ```ruby
135
- users = Sonarqube.users_search()
136
- # => #<Sonarqube::ObjectifiedHash:46340 {hash: {"paging"=>{"pageIndex"=>1, "pageSize"=>50, "total"=>5}, "users"=>[{"login"=>"admin", "name"=>"Administrator", "active"=>true, "groups"=>["sonar-administrators", "sonar-users"], "tokensCount"=>1, "local"=>true, "externalIdentity"=>"admin", "externalProvider"=>"sonarqube", "lastConnectionDate"=>"2020-08-22T23:09:14+0000"}, {"login"=>"new_user", "name"=>"key_new_user", "active"=>true, "groups"=>["sonar-users"], "tokensCount"=>0, "local"=>true, "externalIdentity"=>"new_user", "externalProvider"=>"sonarqube"}, {"login"=>"login_name", "name"=>"name_user", "active"=>true, "groups"=>["sonar-users"], "tokensCount"=>0, "local"=>true, "externalIdentity"=>"login_name", "externalProvider"=>"sonarqube"}, {"login"=>"test3", "name"=>"test QA", "active"=>true, "groups"=>["sonar-users"], "tokensCount"=>0, "local"=>true, "externalIdentity"=>"test3", "externalProvider"=>"sonarqube"}, {"login"=>"newlogin", "name"=>"test QA", "active"=>true, "groups"=>["sonar-users"], "tokensCount"=>0, "local"=>true, "externalIdentity"=>"newlogin", "externalProvider"=>"sonarqube"}]}}
137
- users.users.each do | user |
138
- puts "name: #{user.name}"
139
- puts "login: #{user.login}"
140
- puts "lastConection: #{user.lastConnectionDate}" if defined? user.lastConnectionDate
141
- end
142
- # name: Administrator
143
- # login: admin
144
- # lastConection: 2020-08-22T23:09:14+0000
145
- # name: key_new_user
146
- # login: new_user
147
- # name: name_user
148
- # login: login_name
149
- # name: test QA
150
- # login: test3
151
- # name: test QA
152
- # login: newlogin
153
- ```
154
103
 
155
104
  ### Groups
156
105
 
157
- #### Create Group
158
- ```ruby
159
- group = Sonarqube.create_group('New-Group', {description: 'Sonarqube group users'})
160
- # => #<Sonarqube::ObjectifiedHash:46500 {hash: {"group"=>{"uuid"=>"AXQYrrgCsrvdoo0YodNM", "organization"=>"default-organization", "name"=>"New-Group", "description"=>"Sonarqube group users", "membersCount"=>0, "default"=>false}}}
161
- group.group.uuid
162
- # AXQYrrgCsrvdoo0YodNM
163
- group.group.description
164
- # Sonarqube group users
165
- ```
166
-
167
- #### Delete Group
168
- ```ruby
169
- group = Sonarqube.group_delete('New-Group')
170
- # => #<Sonarqube::ObjectifiedHash:46220 {hash: {}}
171
- group.to_hash.empty?
172
- # => true
173
- ```
174
-
175
106
  #### Search Group
176
107
  ```ruby
177
108
  groups = Sonarqube.search_groups({ q: 'sonar-users' })
@@ -8,6 +8,7 @@ module Sonarqube
8
8
  # Please keep in alphabetical order
9
9
  include Groups
10
10
  include Projects
11
+ include Tokens
11
12
  include Users
12
13
 
13
14
  # Text representation of the client, masking private token.
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Sonarqube::Client
4
+ # Defines methods related to tokens.
5
+ # @see https://SONAR_URL/web_api/api/user_tokens
6
+ module Tokens
7
+ # Create token for user.
8
+ #
9
+ # @example
10
+ # Sonarqube.create_token('name_token')
11
+ # Sonarqube.create_token('name_token', 'login_name')
12
+ #
13
+ # @param [String] name (required) Token name.
14
+ # @param [String] login (optional) Login user name.
15
+ # @return [Sonarqube::ObjectifiedHash]
16
+ def create_token(name, login = nil)
17
+ raise ArgumentError, 'Missing required parameters' if name.nil?
18
+
19
+ body = { name: name }
20
+ body = { login: login }.merge!(body) unless login.nil?
21
+ post('/api/user_tokens/generate', body: body)
22
+ end
23
+ alias token_create create_token
24
+
25
+ # Revoke a token.
26
+ #
27
+ # @example
28
+ # Sonarqube.revoke_token('new-group')
29
+ # Sonarqube.revoke_token('sonarqube', { description: 'New Sonarqube project' })
30
+ #
31
+ # @param [String] name (required) Token name.
32
+ # @param [String] login (optional) Login user name.
33
+ # @return [Sonarqube::ObjectifiedHash] Empty hash response.
34
+ def revoke_token(name, login = nil)
35
+ raise ArgumentError, 'Missing required parameters' if name.nil?
36
+
37
+ body = { name: name }
38
+ body = { login: login }.merge!(body) unless login.nil?
39
+ post('/api/user_tokens/revoke', body: body)
40
+ end
41
+ alias token_revoke revoke_token
42
+
43
+ # List token for user.
44
+ #
45
+ # @example
46
+ # Sonarqube.list_token('login')
47
+ #
48
+ # @param [String] login (required) The login name of user
49
+ # @return [Sonarqube::ObjectifiedHash].
50
+ def list_tokens(login)
51
+ raise ArgumentError, 'Missing required parameters' if login.nil?
52
+
53
+ get('/api/user_tokens/search', query: { login: login })
54
+ end
55
+ alias tokens_list list_tokens
56
+ end
57
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sonarqube
4
- VERSION = '1.0.2'
4
+ VERSION = '1.1.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sonarqube
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mariani Lucas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-24 00:00:00.000000000 Z
11
+ date: 2020-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -107,6 +107,7 @@ files:
107
107
  - lib/sonarqube/client.rb
108
108
  - lib/sonarqube/client/groups.rb
109
109
  - lib/sonarqube/client/projects.rb
110
+ - lib/sonarqube/client/tokens.rb
110
111
  - lib/sonarqube/client/users.rb
111
112
  - lib/sonarqube/configuration.rb
112
113
  - lib/sonarqube/error.rb