wiki:PendingTicketPlugin

Version 4 (modified by datallah, 8 years ago) (diff)

Update for 0.11 changes

Support for Pending Tickets

Description

The intent of this is to allow an administrator to mark a Ticket as "Pending" to indicate that information has been requested from the reporter. If the reporter doesn't reply with in the allotted timeframe, the ticket will automatically be closed.

This works well when combined with the SimpleTicketPlugin.

Bugs/Feature Requests

Existing bugs and feature requests for PendingTicketPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from [download:pendingticketplugin here].

Source

You can check out PendingTicketPlugin from here using Subversion, or browse the source with Trac.

Example

For Trac 0.11

If upgrading from 0.10, you'll need to convert the data using the migrate_pending_attrib_to_status.py /path/to/tracenv script which is included.

Set up your ticket workflow to include a 'pending' status (see the following example):

[ticket-workflow]
pending = new -> pending
pending.permissions = TICKET_MODIFY

Specify a status for tickets to be moved to

[ticket]
pending_removal_status = new

Install the PendingStatusRemovePlugin to have the pending flag automatically removed when the reporter responds.

<CHECKOUT THE SOURCE AND GO TO THE 0.11/removependingplugin DIRECTORY>
setup.py bdist_egg
cp dist/RemovePendingStatusPlugin-x-y-z-py2.4.egg $TRAC_ENV/plugins

You'll also need to enable the Plugin in your trac.ini file:

[components]
removepending.* = enabled

To enable the automatic closing of tickets, you'll need to set up a script to be run by cron. Mine looks like this:

#! /bin/bash

TRAC_ENV=/somewhere/trac/project
SCRIPT_DIR=$TRAC_ENV/localscripts
LOGFILE=$SCRIPT_DIR/close_old_pending.log

date >> $LOGFILE

python $SCRIPT_DIR/close_old_pending.py -p $TRAC_ENV -d 14 >> $LOGFILE 2>&1

For Trac 0.10

Add a custom ticket field to your trac.ini file:

[ticket-custom]
pending = checkbox
pending.label = Pending
pending.value = 0

If you're using the SimpleTicketPlugin, you may want to hide it:

[simpleticket]
hide = pending

Install the PendingStatusRemovePlugin to have the pending flag automatically removed when the reporter responds.

<CHECKOUT THE SOURCE AND GO TO THE 0.10/removependingplugin DIRECTORY>
setup.py bdist_egg
cp dist/RemovePendingStatusPlugin-x-y-z-py2.4.egg $TRAC_ENV/plugins

You'll also need to enable the Plugin in your trac.ini file:

[components]
removepending.* = enabled

To enable the automatic closing of tickets, you'll need to set up a script to be run by cron. Mine looks like this:

#! /bin/bash

TRAC_ENV=/somewhere/trac/project
SCRIPT_DIR=$TRAC_ENV/localscripts
LOGFILE=$SCRIPT_DIR/close_old_pending.log
TRAC_URL=http://trac.mysite.com/project

date >> $LOGFILE

python $SCRIPT_DIR/close_old_pending.py -p $TRAC_ENV -d 14 -s $TRAC_URL >> $LOGFILE 2>&1

Recent Changes

15998 by rjollos on 2016-11-23 22:41:15
1.2dev: Use Trac 1.2 notification API

Fixes #12964.

15997 by rjollos on 2016-11-23 00:17:07
1.0dev: Change plugin name to match name on trac-hacks.org
15996 by rjollos on 2016-11-23 00:07:24
1.0dev: Implement admin command ticket close-pending
(more)

Author/Contributors

Author: datallah
Contributors: