Condition + Scrip + ScripConditions

RT is a really nice product.

My goal is to create a status called “fixed” which means the task is done by the owner, but the completion requires QA and/or Management approval before it moves to production. I want a ticket created in the Approvals queue when the owner changes the status to fixed (most likely from open).

I am running rt 3.8.8.

My problem is that my RT::Condition module’s isApplicable method is not being called.

I have this[1] module installed and with the right permissions in lib/RT/Condition/StatusChangeFixed.pm

I have this[2] template set up on the queue.

I have this[3] installed as rt/local/etc/StatusChangeFixed.install and I executed the install command[4] successfully.

Any ideas?

[1]

package RT::Condition::StatusChangeFixed;
use base ‘RT::Condition’;
use strict;

sub IsApplicable {
my $self = shift;
return (
$self->TransactionObj->Field eq 'Status’
and
$self->TransactionObj->NewValue() eq ‘fixed’
) ? 1 : undef;
}

1;

[2]

Name: On Fixed
===Create-Ticket: Approvals
Queue: Approvals
Depended-On-By: {$Tickets{“TOP”}->Id}
Refers-To: {$Tickets{“TOP”}->Id}
Status: fixed
Condition: On Fixed
Content-Type: text/plain
Content: Someone has completed the task {$Tickets{‘TOP’}->Subject}. Please revie
w. Resolve this ticket if the review was satisfactory.
ENDOFCONTENT

[3]

@ScripConditions = (
{ Name => ‘On Fixed’,
Description => ‘Trigger when status is changed to Fixed’,
ExecModule => ‘StatusChangeFixed’,
Argument => ‘fixed’,
ApplicableTransTypes => ‘Status’ },
);

[4]

sbin/rt-setup-database --action insert --datafile local/etc/StatusChangeFixed.install

Josh Narins

Director of Application Development
SeniorBridge
845 Third Ave
7th Floor
New York, NY 10022
Tel: (212) 994-6194
Fax: (212) 994-4260
Mobile: (917) 488-6248
jnarins@seniorbridge.com
seniorbridge.comhttp://www.seniorbridge.com/

[http://www.seniorbridge.com/images/seniorbridgedisclaimerTAG.gif]

SeniorBridge Statement of Confidentiality: The contents of this email message are intended for the exclusive use of the addressee(s) and may contain confidential or privileged information. Any dissemination, distribution or copying of this email by an unintended or mistaken recipient is strictly prohibited. In said event, kindly reply to the sender and destroy all entries of this message and any attachments from your system. Thank you.

RT is a really nice product.

My goal is to create a status called “fixed” which means the task is done by the owner, but
the completion requires QA and/or Management approval before it moves to production. I want a
ticket created in the Approvals queue when the owner changes the status to fixed (most likely
from open).

I see a template and a scrip condition, but you don’t mention the
scrip you created to hold it all together

-kevin

Thank you.

Josh Narins
Director of Application Development
SeniorBridge
845 Third Ave
7th Floor
New York, NY 10022
Tel: (212) 994-6194
Mobile: (917) 488-6248
Fax: (212) 994-4260
jnarins@seniorbridge.com

SeniorBridge
Managing Complex Chronic Care
http://www.seniorbridge.com-----Original Message-----From: rt-users-bounces@lists.bestpractical.com [mailto:rt-users-bounces@lists.bestpractical.com] On Behalf Of Kevin Falcone
Sent: Friday, August 27, 2010 3:01 PM
To: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Condition + Scrip + ScripConditions

RT is a really nice product.

My goal is to create a status called “fixed” which means the task is done by the owner, but
the completion requires QA and/or Management approval before it moves to production. I want a
ticket created in the Approvals queue when the owner changes the status to fixed (most likely
from open).

I see a template and a scrip condition, but you don’t mention the scrip you created to hold it all together

-kevin

I am running rt 3.8.8.

My problem is that my RT::Condition module’s isApplicable method is not being called.

I have this[1] module installed and with the right permissions in
lib/RT/Condition/StatusChangeFixed.pm

I have this[2] template set up on the queue.

I have this[3] installed as rt/local/etc/StatusChangeFixed.install and I executed the install
command[4] successfully.

Any ideas?

[1]

package RT::Condition::StatusChangeFixed;

use base ‘RT::Condition’;

use strict;

sub IsApplicable {

   my $self = shift;

   return (

     $self->TransactionObj->Field eq 'Status'

     and

     $self->TransactionObj->NewValue() eq 'fixed'

   ) ? 1 : undef;

}

1;

[2]

Name: On Fixed

===Create-Ticket: Approvals

Subject: Please Approve “{$Tickets{‘TOP’}->Subject}”

Queue: Approvals

Depended-On-By: {$Tickets{“TOP”}->Id}

Refers-To: {$Tickets{“TOP”}->Id}

Status: fixed

Condition: On Fixed

Content-Type: text/plain

Content: Someone has completed the task {$Tickets{‘TOP’}->Subject}.
Please revie

w. Resolve this ticket if the review was satisfactory.

ENDOFCONTENT

[3]

@ScripConditions = (

   { Name        => 'On Fixed',

     Description => 'Trigger when status is changed to Fixed',

     ExecModule  => 'StatusChangeFixed',

     Argument    => 'fixed',

     ApplicableTransTypes => 'Status' },

);

[4]

sbin/rt-setup-database --action insert --datafile
local/etc/StatusChangeFixed.install

Josh Narins

Director of Application Development
SeniorBridge
845 Third Ave
7th Floor
New York, NY 10022
Tel: (212) 994-6194
Fax: (212) 994-4260
Mobile: (917) 488-6248
jnarins@seniorbridge.com
[1]seniorbridge.com

[2]SeniorBridge



SeniorBridge Statement of Confidentiality: The contents of this email message are intended for
the exclusive use of the addressee(s) and may contain confidential or privileged information.
Any dissemination, distribution or copying of this email by an unintended or mistaken
recipient is strictly prohibited. In said event, kindly reply to the sender and destroy all
entries of this message and any attachments from your system. Thank you.

References

Visible links

  1. http://www.seniorbridge.com/

RT Training in Washington DC, USA on Oct 25 & 26 2010 Last one this
year – Learn how to get the most out of RT!