lita-rally 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2dfdc303acd775a96c9bb0fe529735b06ae83661
4
- data.tar.gz: 55cd90f45284fc4df321afb8369cc514d2b0904b
3
+ metadata.gz: 0d6742b8b93f028144ca4cb80b01fbb1a0a05d0f
4
+ data.tar.gz: e5e30a95d336f9bf9ddae3b410a52c3580a5bf9c
5
5
  SHA512:
6
- metadata.gz: ce57e0724efc92e76ba599c0b541ca3e9e7d8eec18b2c739e5c4ff1409c53a610be030220a0fabc1511de66f3a4f774f4ab4bc9c6f84de45dd013322efac9707
7
- data.tar.gz: 0823a5ca2f33e6da60879de6e6743dc32fc1bde7a4006839ff008b659c1857af38d3ace380dbe3f507fa43adf9ef80d7aee719eb6b63cd0ac227db62f629e2d4
6
+ metadata.gz: 359c6b5cd900abaac3254d169be56fcacb2ecbe202625d4123890b00bdfc61ea74b82a01f50d417b7726a037cbadd2f8c255160c63d6d6de9584209bae6b1d19
7
+ data.tar.gz: a49da9c7f4fe901074a85179251b5fc9ed3263a4f4e7a1e5cb1cad8ed93f5c8c865659d19b29456a85632b90818e358cc3c3c31a0c1d6eace1bcb40e6acdf127
@@ -93,6 +93,12 @@ module Lita
93
93
  'rally me release info for <release>' => 'Show release info'
94
94
  })
95
95
 
96
+ route(/^rally find (defect|defects|story|stories) (contain|contains) "(.+)" in (name|description)$/,
97
+ :rally_find, command: true, help: {
98
+ 'rally find <defect|story> contains "<search term>" ' \
99
+ 'in <name|description>' => 'Find the story or defect'
100
+ })
101
+
96
102
  def rally_show(response)
97
103
  type = response.matches[0][0].downcase
98
104
  id = response.matches[0][1]
@@ -110,6 +116,13 @@ module Lita
110
116
  response.reply(get_rally_release_info(release))
111
117
  end
112
118
 
119
+ def rally_find(response)
120
+ type = response.matches[0][0]
121
+ term = response.matches[0][2]
122
+ field = response.matches[0][3]
123
+ response.reply(rally_search(type, term, field))
124
+ end
125
+
113
126
  private
114
127
 
115
128
  def get_rally_api
@@ -229,6 +242,32 @@ module Lita
229
242
  )
230
243
  end
231
244
 
245
+ def rally_search(type, term, field)
246
+ rally = get_rally_api
247
+
248
+ query = RallyAPI::RallyQuery.new()
249
+ if %w{defect defects}.include?(type)
250
+ query.type = 'defect'
251
+ else
252
+ query.type = 'story'
253
+ end
254
+
255
+ if field == 'name'
256
+ query.query_string = "(Name contains \"#{term}\")"
257
+ else
258
+ query.query_string = "(Description contains \"#{term}\")"
259
+ end
260
+
261
+ result = rally.find(query)
262
+
263
+ return "No result found!" if result.count == 0
264
+
265
+ result.inject("#{result.count} results total:\n") do |o,r|
266
+ r.read
267
+ o += "#{r['FormattedID']} - #{r['Name']}\n"
268
+ end
269
+ end
270
+
232
271
  end
233
272
 
234
273
  Lita.register_handler(Rally)
data/lita-rally.gemspec CHANGED
@@ -1,26 +1,26 @@
1
1
  Gem::Specification.new do |spec|
2
- spec.name = "lita-rally"
3
- spec.version = "0.2.2"
2
+ spec.name = 'lita-rally'
3
+ spec.version = '0.3.0'
4
4
  spec.authors = ['Richard Li']
5
5
  spec.email = ['evilcat@wisewolfsolutions.com']
6
6
  spec.description = %q{Rally plugin for lita bot}
7
7
  spec.summary = %q{lita bot Rally plugin}
8
- spec.homepage = "https://github.com/ecwws/lita-rally"
9
- spec.license = "MIT"
10
- spec.metadata = { "lita_plugin_type" => "handler" }
8
+ spec.homepage = 'https://github.com/ecwws/lita-rally'
9
+ spec.license = 'MIT'
10
+ spec.metadata = { 'lita_plugin_type' => 'handler' }
11
11
 
12
12
  spec.files = `git ls-files`.split($/)
13
13
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
14
14
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
15
- spec.require_paths = ["lib"]
15
+ spec.require_paths = ['lib']
16
16
 
17
- spec.add_runtime_dependency "lita", "~> 4.1"
18
- spec.add_runtime_dependency "rest-client", "~> 0"
19
- spec.add_runtime_dependency "json", "~> 0"
20
- spec.add_runtime_dependency "rally_api", "~> 1.1.2"
17
+ spec.add_runtime_dependency 'lita', '~> 4.1'
18
+ spec.add_runtime_dependency 'rest-client', '~> 0'
19
+ spec.add_runtime_dependency 'json', '~> 0'
20
+ spec.add_runtime_dependency 'rally_api', '~> 1.1', '>= 1.1.2'
21
21
 
22
- spec.add_development_dependency "bundler", "~> 1.3"
23
- spec.add_development_dependency "rake", "~> 0"
24
- spec.add_development_dependency "rack-test", "~> 0"
25
- spec.add_development_dependency "rspec", '~> 3.0', '>= 3.0.0'
22
+ spec.add_development_dependency 'bundler', '~> 1.3'
23
+ spec.add_development_dependency 'rake', '~> 0'
24
+ spec.add_development_dependency 'rack-test', '~> 0'
25
+ spec.add_development_dependency 'rspec', '~> 3.0', '>= 3.0.0'
26
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-rally
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Li
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-27 00:00:00.000000000 Z
11
+ date: 2015-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lita
@@ -57,6 +57,9 @@ dependencies:
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.1'
62
+ - - ">="
60
63
  - !ruby/object:Gem::Version
61
64
  version: 1.1.2
62
65
  type: :runtime
@@ -64,6 +67,9 @@ dependencies:
64
67
  version_requirements: !ruby/object:Gem::Requirement
65
68
  requirements:
66
69
  - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '1.1'
72
+ - - ">="
67
73
  - !ruby/object:Gem::Version
68
74
  version: 1.1.2
69
75
  - !ruby/object:Gem::Dependency