lita-rally 0.2.2 → 0.3.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
  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