##// END OF EJS Templates
Use RDoc.usage...
Jean-Philippe Lang -
r1865:9afaf26d66e5
parent child
Show More
@@ -1,13 +1,51
1 #!/usr/bin/ruby
1 #!/usr/bin/ruby
2
2
3 # rdm-mailhandler
3 # == Synopsis
4 #
4 # Reads an email from standard input and forward it to a Redmine server
5 # Reads an email from standard input and forward it to a Redmine server
5 # Can be used from a remote mail server
6 # through a HTTP request.
7 #
8 # == Usage
9 #
10 # rdm-mailhandler [options] --url=<Redmine URL> --key=<API key>
11 #
12 # == Arguments
13 #
14 # -u, --url URL of the Redmine server
15 # -k, --key Redmine API key
16 #
17 # General options:
18 # -h, --help show this help
19 # -v, --verbose show extra information
20 # -V, --version show version information and exit
21 #
22 # Issue attributes control options:
23 # -p, --project=PROJECT identifier of the target project
24 # -t, --tracker=TRACKER name of the target tracker
25 # --category=CATEGORY name of the target category
26 # --priority=PRIORITY name of the target priority
27 # -o, --allow-override=ATTRS allow email content to override attributes
28 # specified by previous options
29 # ATTRS is a comma separated list of attributes
30 #
31 # == Examples
32 # No project specified. Emails MUST contain the 'Project' keyword:
33 #
34 # rdm-mailhandler --url http://redmine.domain.foo --key secret
35 #
36 # Fixed project and default tracker specified, but emails can override
37 # both tracker and priority attributes using keywords:
38 #
39 # rdm-mailhandler --url https://domain.foo/redmine --key secret \\
40 # --project foo \\
41 # --tracker bug \\
42 # --allow-override tracker,priority
6
43
7 require 'net/http'
44 require 'net/http'
8 require 'net/https'
45 require 'net/https'
9 require 'uri'
46 require 'uri'
10 require 'getoptlong'
47 require 'getoptlong'
48 require 'rdoc/usage'
11
49
12 module Net
50 module Net
13 class HTTPS < HTTP
51 class HTTPS < HTTP
@@ -62,7 +100,7 class RedmineMailHandler
62 end
100 end
63 end
101 end
64
102
65 usage if url.nil?
103 RDoc.usage if url.nil?
66 end
104 end
67
105
68 def submit(email)
106 def submit(email)
@@ -79,43 +117,6 class RedmineMailHandler
79
117
80 private
118 private
81
119
82 def usage
83 puts <<-USAGE
84 Usage: rdm-mailhandler [options] --url=<Redmine URL> --key=<API key>
85 Reads an email from standard input and forward it to a Redmine server
86
87 Required:
88 -u, --url URL of the Redmine server
89 -k, --key Redmine API key
90
91 General options:
92 -h, --help show this help
93 -v, --verbose show extra information
94 -V, --version show version information and exit
95
96 Issue attributes control options:
97 -p, --project=PROJECT identifier of the target project
98 -t, --tracker=TRACKER name of the target tracker
99 --category=CATEGORY name of the target category
100 --priority=PRIORITY name of the target priority
101 -o, --allow-override=ATTRS allow email content to override attributes
102 specified by previous options
103 ATTRS is a comma separated list of attributes
104
105 Examples:
106 # No project specified. Emails MUST contain the 'Project' keyword:
107 rdm-mailhandler --url http://redmine.domain.foo --key secret
108
109 # Fixed project and default tracker specified, but emails can override
110 # both tracker and priority attributes:
111 rdm-mailhandler --url https://domain.foo/redmine --key secret \\
112 --project foo \\
113 --tracker bug \\
114 --allow-override tracker,priority
115 USAGE
116 exit
117 end
118
119 def debug(msg)
120 def debug(msg)
120 puts msg if verbose
121 puts msg if verbose
121 end
122 end
General Comments 0
You need to be logged in to leave comments. Login now