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 +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +0 -69
- data/lib/sonarqube/client.rb +1 -0
- data/lib/sonarqube/client/tokens.rb +57 -0
- data/lib/sonarqube/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36f0b9e09a5bfb9b12982dcd90c1d948b9b8f1f9208b7013df3f3e01abff6dd5
|
4
|
+
data.tar.gz: f40d3080cfe16333e36848d29085d1c2fd6931abc23c481eda5eaf9bda95235b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4386f5ea8015775811541b8eb725ae60b8489a8d1127ffa1445e95a4e01d0360001569897ab88f4691ad0b3c1cfe3973654c324f5bf011f36bc07f201e6216c
|
7
|
+
data.tar.gz: 4fe56aee93ffb543a2de3bbedac9560558265ab59f547225e23d8bfa4f7f9654150cb82927d026b9bad9c5e8b60a27100dceaf7b041ecea643b61aeb06fdf5c4
|
data/CHANGELOG.md
CHANGED
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' })
|
data/lib/sonarqube/client.rb
CHANGED
@@ -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
|
data/lib/sonarqube/version.rb
CHANGED
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
|
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-
|
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
|