redmine-ticket-client 0.1 → 0.2.2
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/Manifest.txt +2 -0
- data/README.txt +6 -1
- data/examples/issue_status.rb +19 -0
- data/examples/last_tickets.rb +29 -0
- data/examples/post_ticket.rb +10 -6
- data/lib/redmine-ticket/client.rb +22 -2
- metadata +4 -2
data/Manifest.txt
CHANGED
data/README.txt
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# Display de status of a given issue
|
4
|
+
#
|
5
|
+
require File.join(File.dirname(__FILE__), '../lib/redmine-ticket/client')
|
6
|
+
|
7
|
+
params = {
|
8
|
+
:api_key => 'API KEY',
|
9
|
+
:issue_id => 10
|
10
|
+
}
|
11
|
+
|
12
|
+
RedmineTicketClient.configure do |config|
|
13
|
+
config.params = params
|
14
|
+
config.host = 'redmine.local' # the hostname your Redmine runs at
|
15
|
+
config.port = 80 # the port your Redmine runs at
|
16
|
+
config.secure = false # sends data to your server via SSL (optional.)
|
17
|
+
end
|
18
|
+
|
19
|
+
pp RedmineTicketClient.issue_status
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# Display tickets created in the last hour
|
4
|
+
#
|
5
|
+
require File.join(File.dirname(__FILE__), '../lib/redmine-ticket/client')
|
6
|
+
require 'rubygems'
|
7
|
+
require 'json'
|
8
|
+
require 'time'
|
9
|
+
|
10
|
+
|
11
|
+
params = {
|
12
|
+
:api_key => 'APIKEY',
|
13
|
+
:issue_id => 646
|
14
|
+
}
|
15
|
+
|
16
|
+
RedmineTicketClient.configure do |config|
|
17
|
+
config.params = params
|
18
|
+
config.host = 'redmine.sistemas.cti.csic.es'
|
19
|
+
config.port = 80
|
20
|
+
config.secure = false
|
21
|
+
end
|
22
|
+
|
23
|
+
JSON.parse(RedmineTicketClient.issues).each do |t|
|
24
|
+
time = Time.parse t['updated_on']
|
25
|
+
offset = Time.now - time
|
26
|
+
if (offset < 3600)
|
27
|
+
puts t['subject']
|
28
|
+
end
|
29
|
+
end
|
data/examples/post_ticket.rb
CHANGED
@@ -5,7 +5,7 @@ params = {
|
|
5
5
|
# the name of your Tracker of choice in Redmine
|
6
6
|
:tracker => 'Bug',
|
7
7
|
# the key you generated before in Redmine
|
8
|
-
:api_key => '
|
8
|
+
:api_key => 'API KEY',
|
9
9
|
# the name of a ticket category (optional.)
|
10
10
|
:category => 'Development',
|
11
11
|
|
@@ -15,16 +15,20 @@ params = {
|
|
15
15
|
# the default priority (use a number, not a name. optional.)
|
16
16
|
#:priority => 5,
|
17
17
|
|
18
|
-
:subject =>
|
19
|
-
:description => 'description text'
|
18
|
+
:subject => "Test RTS #{rand * 100}",
|
19
|
+
:description => 'description text',
|
20
|
+
:custom_fields => {
|
21
|
+
:field1 => 'bar',
|
22
|
+
:field2 => 'foo'
|
23
|
+
}
|
20
24
|
|
21
25
|
}.to_yaml
|
22
26
|
|
23
27
|
RedmineTicketClient.configure do |config|
|
24
28
|
config.params = params
|
25
|
-
config.host = '
|
26
|
-
config.port =
|
27
|
-
config.secure = false
|
29
|
+
config.host = 'redmine.local'
|
30
|
+
config.port = 80
|
31
|
+
config.secure = false
|
28
32
|
end
|
29
33
|
|
30
34
|
RedmineTicketClient.post_ticket
|
@@ -1,10 +1,12 @@
|
|
1
1
|
require 'net/http'
|
2
2
|
require 'net/https'
|
3
3
|
require 'rubygems'
|
4
|
+
require 'rest_client'
|
5
|
+
require 'pp'
|
4
6
|
|
5
7
|
module RedmineTicketClient
|
6
8
|
|
7
|
-
VERSION = '0.
|
9
|
+
VERSION = '0.2.2'
|
8
10
|
|
9
11
|
class << self
|
10
12
|
attr_accessor :host, :port, :secure, :params, :http_open_timeout, :http_read_timeout,
|
@@ -52,10 +54,27 @@ module RedmineTicketClient
|
|
52
54
|
:environment => ENV.to_hash
|
53
55
|
}
|
54
56
|
end
|
57
|
+
|
58
|
+
def default_request_params
|
59
|
+
{}.merge RedmineTicketClient.params
|
60
|
+
end
|
55
61
|
|
56
62
|
def post_ticket
|
57
63
|
Sender.new.post_to_redmine( default_ticket_options )
|
58
64
|
end
|
65
|
+
|
66
|
+
def issue_status
|
67
|
+
RestClient.post("#{protocol}://#{host}:#{port}/ticket_server/issue_status", :api_key => default_request_params[:api_key], :issue_id => default_request_params[:issue_id])
|
68
|
+
end
|
69
|
+
def issues
|
70
|
+
RestClient.post("#{protocol}://#{host}:#{port}/ticket_server/issues", :api_key => default_request_params[:api_key], :issue_id => default_request_params[:issue_id])
|
71
|
+
end
|
72
|
+
def projects
|
73
|
+
RestClient.post("#{protocol}://#{host}:#{port}/ticket_server/projects", :api_key => default_request_params[:api_key], :issue_id => default_request_params[:issue_id])
|
74
|
+
end
|
75
|
+
def journals
|
76
|
+
RestClient.post("#{protocol}://#{host}:#{port}/ticket_server/journals", :api_key => default_request_params[:api_key], :issue_id => default_request_params[:issue_id])
|
77
|
+
end
|
59
78
|
end
|
60
79
|
|
61
80
|
class Sender
|
@@ -94,9 +113,10 @@ module RedmineTicketClient
|
|
94
113
|
|
95
114
|
case response
|
96
115
|
when Net::HTTPSuccess then
|
97
|
-
|
116
|
+
return response.body
|
98
117
|
else
|
99
118
|
$stderr.puts "Redmine Failure: #{response.class}\n#{response.body if response.respond_to? :body}"
|
119
|
+
return response.class
|
100
120
|
end
|
101
121
|
end
|
102
122
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redmine-ticket-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sergio Rubio
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-10-
|
12
|
+
date: 2009-10-29 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -38,6 +38,8 @@ files:
|
|
38
38
|
- Manifest.txt
|
39
39
|
- README.txt
|
40
40
|
- Rakefile
|
41
|
+
- examples/issue_status.rb
|
42
|
+
- examples/last_tickets.rb
|
41
43
|
- examples/post_ticket.rb
|
42
44
|
- lib/redmine-ticket/client.rb
|
43
45
|
has_rdoc: true
|