##// END OF EJS Templates
remove trailing white-spaces from extra/mail_handler/rdm-mailhandler.rb...
Toshi MARUYAMA -
r9158:be04f1dd6270
parent child
Show More
@@ -10,10 +10,10
10 10 # rdm-mailhandler [options] --url=<Redmine URL> --key=<API key>
11 11 #
12 12 # == Arguments
13 #
13 #
14 14 # -u, --url URL of the Redmine server
15 15 # -k, --key Redmine API key
16 #
16 #
17 17 # General options:
18 18 # --unknown-user=ACTION how to handle emails from an unknown user
19 19 # ACTION can be one of the following values:
@@ -30,7 +30,7
30 30 # -h, --help show this help
31 31 # -v, --verbose show extra information
32 32 # -V, --version show version information and exit
33 #
33 #
34 34 # Issue attributes control options:
35 35 # -p, --project=PROJECT identifier of the target project
36 36 # -s, --status=STATUS name of the target status
@@ -40,15 +40,15
40 40 # -o, --allow-override=ATTRS allow email content to override attributes
41 41 # specified by previous options
42 42 # ATTRS is a comma separated list of attributes
43 #
43 #
44 44 # == Examples
45 45 # No project specified. Emails MUST contain the 'Project' keyword:
46 #
46 #
47 47 # rdm-mailhandler --url http://redmine.domain.foo --key secret
48 #
48 #
49 49 # Fixed project and default tracker specified, but emails can override
50 50 # both tracker and priority attributes using keywords:
51 #
51 #
52 52 # rdm-mailhandler --url https://domain.foo/redmine --key secret \\
53 53 # --project foo \\
54 54 # --tracker bug \\
@@ -79,12 +79,12 end
79 79
80 80 class RedmineMailHandler
81 81 VERSION = '0.1'
82
82
83 83 attr_accessor :verbose, :issue_attributes, :allow_override, :unknown_user, :no_permission_check, :url, :key, :no_check_certificate
84 84
85 85 def initialize
86 86 self.issue_attributes = {}
87
87
88 88 opts = GetoptLong.new(
89 89 [ '--help', '-h', GetoptLong::NO_ARGUMENT ],
90 90 [ '--version', '-V', GetoptLong::NO_ARGUMENT ],
@@ -134,28 +134,28 class RedmineMailHandler
134 134 self.no_check_certificate = true
135 135 end
136 136 end
137
137
138 138 RDoc.usage if url.nil?
139 139 end
140
140
141 141 def submit(email)
142 142 uri = url.gsub(%r{/*$}, '') + '/mail_handler'
143
143
144 144 headers = { 'User-Agent' => "Redmine mail handler/#{VERSION}" }
145
146 data = { 'key' => key, 'email' => email,
145
146 data = { 'key' => key, 'email' => email,
147 147 'allow_override' => allow_override,
148 148 'unknown_user' => unknown_user,
149 149 'no_permission_check' => no_permission_check}
150 150 issue_attributes.each { |attr, value| data["issue[#{attr}]"] = value }
151
151
152 152 debug "Posting to #{uri}..."
153 153 response = Net::HTTPS.post_form(URI.parse(uri), data, headers, :no_check_certificate => no_check_certificate)
154 154 debug "Response received: #{response.code}"
155
155
156 156 case response.code.to_i
157 157 when 403
158 warn "Request was denied by your Redmine server. " +
158 warn "Request was denied by your Redmine server. " +
159 159 "Make sure that 'WS for incoming emails' is enabled in application settings and that you provided the correct API key."
160 160 return 77
161 161 when 422
@@ -175,9 +175,9 class RedmineMailHandler
175 175 return 1
176 176 end
177 177 end
178
178
179 179 private
180
180
181 181 def debug(msg)
182 182 puts msg if verbose
183 183 end
General Comments 0
You need to be logged in to leave comments. Login now