import of rt 3.0.4
[freeside.git] / rt / docs / design_docs / cli_spec
1
2 Things the cli must do
3         create ticket
4         comment
5         reply
6         update ticket metadata
7         search for tickets
8         update a bunch of tickets.
9         list tickets
10         login/logout
11
12
13 should support multiple rt servers
14
15 create/edit/update should use EDITOR or take from a file or stdin
16
17 should be able to update ticket sttributes from a commandline without invoking an editor or needing to use stdin.
18
19 login/logout should store RT session cookies rather than constantly transmitting the username/password combo.
20
21 rtserver and rt username should come from env variables. but should be able to be overridden by commandline options. 
22
23 rt password should be able to be specified on the commandline (say from a script) or, failing that be prompted for within the application (as rt's sbin/initdb script does) ...or maybe able to be read from a stash file on disk.
24
25 must be able to dowaload attachments from cli.
26  
27  it might also be cool to be able to generate session-length urls for attavhments so you can use a browser. but that's not necessary.
28
29
30 I'm envisioning this as similar to the subversion cli, actually. 
31