Page History
- 2010-Aug-23 18:33 adesmet
 - 2010-Aug-23 18:29 adesmet
 - 2010-Aug-23 18:27 adesmet
 - 2010-Jun-10 14:21 adesmet
 - 2010-Jun-10 14:19 adesmet
 
Bulk changing target versions
A script is in progress. See #1443.
General ticket editing
(This section is based on Matt Farrellee's email "scripting gittrac & unassigned resolved tickets".)
First some constants:
# Our site SITE=http://condor-wiki.cs.wisc.edu/index.cgi # COOKIE_FILE can be just about any path you can write to COOKIE_FILE=$HOME/my-cookies # TICKET is the ticket number you want to work on TICKET=1337
First, login is a must. you need a cookie to access functions such as tktedit. to get a login cookie use:
curl -c $COOKIE_FILE -d u=$USER -d "p=$PASS" -d in= http://$SITE/login
second, once you have a cookie, it is necessary to get a CSRF secret, which gittrac uses to avoid cross-site scripting attacks. to get one use:
curl -b $COOKIE_FILE "http://$SITE/tktedit?tn=$TICKET" 2>&1 | \ grep 'type="hidden"' | grep -v -e 'name="tn"' -e 'name="le"'
the above two steps give you all the information you need to start editing tickets without the web UI.
to actually perform an edit use this command:
curl -b $COOKIE_FILE -d tn=$TICKET -d le=0 -d submit= -d \ "$CSRF_NAME=$CSRF_VALUE" -d "$FIELD" http://$SITE/tktedit
CSRF_NAME is from the previous output, as well as CSRF_VALUE.
The last parameter is FIELD, which is always of the form X=Y where X is a field name and Y is the new value. field names are:
| CGI | Database | |
| Field | Field | Meaning | 
| y | type | Type | 
| s | status | Status | 
| d | derivedfrom | Parent ticket | 
| v | version | Earliest known version with problem | 
| a | assignedto | Assigned to | 
| e | severity | Target version for fix | 
| p | priority | Priority | 
| m | subsystem | Subsystem | 
| w | owner | Submitter | 
| t | title | Title/Summary | 
| c | description | Long description | 
| r | remarks | Long remarks | 
| n | contact | ? | 
| x1 | extra1 | Associated rust ticket | 
| x2 | extra2 | Customer Group | 
| x3 | extra3 | Visibility (Public/Private) | 
| x4 | extra4 | Notify (email list) | 
| x5 | extra5 | Due Date | 
