rally_api 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/rally_api/rally_json_connection.rb +16 -10
- data/lib/rally_api/rally_rest_json.rb +15 -12
- data/lib/rally_api/version.rb +1 -1
- metadata +5 -5
@@ -15,11 +15,13 @@ module RallyAPI
|
|
15
15
|
|
16
16
|
DEFAULT_PAGE_SIZE = 200
|
17
17
|
|
18
|
-
attr_accessor :rally_headers, :retries, :retry_list
|
18
|
+
attr_accessor :rally_headers, :retries, :retry_list, :low_debug, :logger
|
19
19
|
|
20
20
|
def initialize(headers, low_debug, proxy_info)
|
21
21
|
@rally_headers = headers
|
22
22
|
@low_debug = low_debug
|
23
|
+
@logger = nil
|
24
|
+
|
23
25
|
@retries = 0
|
24
26
|
@retry_list = {}
|
25
27
|
|
@@ -36,7 +38,7 @@ module RallyAPI
|
|
36
38
|
def read_object(url, args, params = nil)
|
37
39
|
args[:method] = :get
|
38
40
|
result = send_json_request(url, args, params)
|
39
|
-
|
41
|
+
log_info(result) if @low_debug
|
40
42
|
rally_type = result.keys[0]
|
41
43
|
result[rally_type]
|
42
44
|
end
|
@@ -45,9 +47,9 @@ module RallyAPI
|
|
45
47
|
args[:method] = :post
|
46
48
|
text_json = rally_object.to_json
|
47
49
|
args[:payload] = text_json
|
48
|
-
|
50
|
+
log_info("create - payload json: #{text_json}") if @low_debug
|
49
51
|
result = send_json_request(url, args)
|
50
|
-
|
52
|
+
log_info("create - result: #{result}") if @low_debug
|
51
53
|
result["CreateResult"]["Object"]
|
52
54
|
end
|
53
55
|
|
@@ -55,9 +57,9 @@ module RallyAPI
|
|
55
57
|
args[:method] = :post
|
56
58
|
text_json = rally_fields.to_json
|
57
59
|
args[:payload] = text_json
|
58
|
-
|
60
|
+
log_info("update payload json: #{text_json}") if @low_debug
|
59
61
|
result = send_json_request(url, args)
|
60
|
-
|
62
|
+
log_info("update - result: #{result}") if @low_debug
|
61
63
|
result["OperationResult"]
|
62
64
|
end
|
63
65
|
|
@@ -72,7 +74,7 @@ module RallyAPI
|
|
72
74
|
def delete_object(url,args)
|
73
75
|
args[:method] = :delete
|
74
76
|
result = send_json_request(url,args)
|
75
|
-
|
77
|
+
log_info("delete result - #{result}") if @low_debug
|
76
78
|
result["OperationResult"]
|
77
79
|
end
|
78
80
|
|
@@ -160,11 +162,11 @@ module RallyAPI
|
|
160
162
|
|
161
163
|
begin
|
162
164
|
req = RestClient::Request.new(request_args)
|
163
|
-
|
165
|
+
log_info(req.url) if @low_debug
|
164
166
|
response = req.execute
|
165
167
|
rescue => ex
|
166
168
|
msg = "Rally Rest Json: - rescued exception - #{ex.message} on request to #{url} with params #{url_params}"
|
167
|
-
|
169
|
+
log_info(msg)
|
168
170
|
if !@retry_list.has_key?(req.url)
|
169
171
|
@retry_list[req.url] = 0
|
170
172
|
end
|
@@ -175,13 +177,17 @@ module RallyAPI
|
|
175
177
|
raise StandardError, msg
|
176
178
|
end
|
177
179
|
@retry_list.delete(req.url)
|
178
|
-
|
180
|
+
log_info(response) if @low_debug
|
179
181
|
json_obj = JSON.parse(response.body) #todo handle null post error
|
180
182
|
errs = check_for_errors(json_obj)
|
181
183
|
raise StandardError, "\nError on request - #{url} - \n#{errs}" if errs[:errors].length > 0
|
182
184
|
json_obj
|
183
185
|
end
|
184
186
|
|
187
|
+
def log_info(message)
|
188
|
+
puts message
|
189
|
+
@logger.debug(message) unless @logger.nil?
|
190
|
+
end
|
185
191
|
|
186
192
|
def check_for_errors(result)
|
187
193
|
errors = []
|
@@ -18,19 +18,12 @@ require_relative "rally_query_result"
|
|
18
18
|
#
|
19
19
|
# ===Getting Started
|
20
20
|
# RallyAPI::RallyRestJson is the starting point for working in Ruby with Rally's REST WSAPI
|
21
|
-
#
|
22
21
|
# config = {:base_url => "https://rally1.rallydev.com/slm"}
|
23
|
-
#
|
24
22
|
# config[:username] = "user@company.com"
|
25
|
-
#
|
26
23
|
# config[:password] = "password"
|
27
|
-
#
|
28
24
|
# config[:workspace] = "Workspace Name"
|
29
|
-
#
|
30
25
|
# config[:project] = "Project Name"
|
31
|
-
#
|
32
26
|
# config[:headers] = headers #from RallyAPI::CustomHttpHeader.new()
|
33
|
-
#
|
34
27
|
# @rally = RallyAPI::RallyRestJson.new(config)
|
35
28
|
|
36
29
|
|
@@ -55,7 +48,7 @@ module RallyAPI
|
|
55
48
|
|
56
49
|
attr_accessor :rally_url, :rally_user, :rally_password, :rally_workspace_name, :rally_project_name, :wsapi_version
|
57
50
|
attr_accessor :rally_headers, :rally_default_workspace, :rally_default_project, :low_debug, :proxy_info, :retries
|
58
|
-
attr_accessor :rally_rest_api_compat
|
51
|
+
attr_accessor :rally_rest_api_compat, :logger
|
59
52
|
|
60
53
|
attr_reader :rally_objects
|
61
54
|
|
@@ -71,12 +64,12 @@ module RallyAPI
|
|
71
64
|
@retries = args[:retries] || 0
|
72
65
|
@rally_rest_api_compat = args[:rally_rest_api_compat] || false
|
73
66
|
|
74
|
-
@low_debug = args[:debug]
|
67
|
+
@low_debug = args[:debug] || false
|
68
|
+
@logger = args[:logger] || nil #assumes this is an instance of Logger
|
75
69
|
|
76
70
|
@rally_connection = RallyJsonConnection.new(@rally_headers, @low_debug, @proxy_info)
|
77
|
-
|
78
|
-
|
79
|
-
end
|
71
|
+
@rally_connection.logger = @logger unless @logger.nil?
|
72
|
+
@rally_connection.retries = @retries if @retries > 0
|
80
73
|
|
81
74
|
@rally_objects = { :typedefinition => "TypeDefinition" }
|
82
75
|
cache_rally_objects()
|
@@ -94,6 +87,16 @@ module RallyAPI
|
|
94
87
|
self
|
95
88
|
end
|
96
89
|
|
90
|
+
def debug_logging_on
|
91
|
+
@low_debug = true
|
92
|
+
@rally_connection.low_debug = true
|
93
|
+
end
|
94
|
+
|
95
|
+
def debug_logging_off
|
96
|
+
@low_debug = false
|
97
|
+
@rally_connection.low_debug = false
|
98
|
+
end
|
99
|
+
|
97
100
|
def find_workspace(workspace_name)
|
98
101
|
sub = self.user["Subscription"].read({:fetch => "Workspaces,Name,State"})
|
99
102
|
workspace = nil
|
data/lib/rally_api/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rally_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-08-13 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|
16
|
-
requirement: &
|
16
|
+
requirement: &70123374137900 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: 1.6.7
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70123374137900
|
25
25
|
description: API wrapper for Rally's JSON REST web services api
|
26
26
|
email:
|
27
27
|
- dsmith@rallydev.com
|
@@ -40,7 +40,7 @@ files:
|
|
40
40
|
- lib/rally_api/rally_rest_json.rb
|
41
41
|
- lib/rally_api/version.rb
|
42
42
|
- lib/rally_api.rb
|
43
|
-
homepage:
|
43
|
+
homepage: https://github.com/RallyTools/RallyRestToolkitForRuby
|
44
44
|
licenses: []
|
45
45
|
post_install_message:
|
46
46
|
rdoc_options: []
|