Rt3, rt-crontool, "Parse" error - here I come again!

I found a posting about this issue in the archives, but no resolution.

I am running rt3 (actually, rt3-elixus-9632 via FreeBSD ports). When I try
to run bin/rt-crontool I get an error:

bin/rt-crontool --search RT::Search::ActiveTicketsInQueue --search-arg

general --condition RT::Condition::Overdue --condition-arg 1 --action
RT::Action::SendEmail --action-arg All --verbose

194:
197:
198:
199:
200:
203:
207:
270: Condition matches…[Thu Jan 15 23:23:48 2004] [crit]: Can’t call
method “Parse” on an undefined value at
/usr/local/rt3/lib/RT/Action/SendEmail.pm line 221.
(/usr/local/rt3/lib/RT.pm:254)

I do have the default Correspondence and Comment addresses set in
etc/RT_SiteConfig.pm. Also, this ticket is owned by a user with an email
address in RT.

Okay, so obviously there is an undefined value, so in SendEmail.pm I
changed:

my ( $result, $message ) = $self->TemplateObj->Parse(
                                     Argument       => $self->Argument,
                                     TicketObj      => $self->TicketObj,
                                     TransactionObj =>

$self->TransactionObj
);

To:

if (!defined($self->Argument)) {
print “self Argument not defined\n”;
}
if (!defined($self->TicketObj)) {
print “self TicketObj not defined\n”;
}
if (!defined($self->TransactionObj)) {
print “self TransactionObj not defined\n”;
}

my ( $result, $message ) = $self->TemplateObj->Parse(
                                     Argument       => $self->Argument,
                                     TicketObj      => $self->TicketObj,
                                     TransactionObj =>

$self->TransactionObj
);

And got:


198:
199:
200:
203:
207:
270: Condition matches…self TransactionObj not defined
[Thu Jan 15 23:25:23 2004] [crit]: Can’t call method “Parse” on an undefined
value at /usr/local/rt3/lib/RT/Action/SendEmail.pm line 221.
(/usr/local/rt3/lib/RT.pm:254)

So $self->TransactionObj is not defined. What would cause this?

P.S. What does --condition-arg 1 do for RT::Condition::Overdue? Also, I
don’t see where in SendMail.pm the action arg “All” has a defined meaning.
What are the options for that? Just point me to the right file to read, and
I’ll do it. :slight_smile:

I sent a mail to ask who was able to send mails through rt-crontools, but nobody answered me.
I also saw that transactionobj was not defined.
I created a ticket in the rt3bugs, but jesse closed it after he added some comments to rt-crontool,
I think rt-crontool in this state is not able to send mails. ;-((
Nobody sent a patch until now, and I whouldn’t know how to fix this.

Samuel-----Original Message-----
From: dap99@i-55.com [mailto:dap99@i-55.com]
Sent: Friday,16 January,2004 00:33
To: rt-users@lists.bestpractical.com
Subject: [rt-users] rt3, rt-crontool, “Parse” error - here I come again!

I found a posting about this issue in the archives, but no resolution.

I am running rt3 (actually, rt3-elixus-9632 via FreeBSD ports). When I try to run bin/rt-crontool I get an error:

bin/rt-crontool --search RT::Search::ActiveTicketsInQueue --search-arg general --condition RT::Condition::Overdue --condition-arg 1 --action RT::Action::SendEmail --action-arg All --verbose

194:
197:
198:
199:
200:
203:
207:
270: Condition matches…[Thu Jan 15 23:23:48 2004] [crit]: Can’t call method “Parse” on an undefined value at /usr/local/rt3/lib/RT/Action/SendEmail.pm line 221.
(/usr/local/rt3/lib/RT.pm:254)

I do have the default Correspondence and Comment addresses set in etc/RT_SiteConfig.pm. Also, this ticket is owned by a user with an email address in RT.

Okay, so obviously there is an undefined value, so in SendEmail.pm I
changed:

my ( $result, $message ) = $self->TemplateObj->Parse(
                                     Argument       => $self->Argument,
                                     TicketObj      => $self->TicketObj,
                                     TransactionObj => $self->TransactionObj
);

To:

if (!defined($self->Argument)) {
print “self Argument not defined\n”; } if (!defined($self->TicketObj)) {
print “self TicketObj not defined\n”; } if (!defined($self->TransactionObj)) {
print “self TransactionObj not defined\n”; }

my ( $result, $message ) = $self->TemplateObj->Parse(
                                     Argument       => $self->Argument,
                                     TicketObj      => $self->TicketObj,
                                     TransactionObj => $self->TransactionObj
);

And got:


198:
199:
200:
203:
207:
270: Condition matches…self TransactionObj not defined [Thu Jan 15 23:25:23 2004] [crit]: Can’t call method “Parse” on an undefined value at /usr/local/rt3/lib/RT/Action/SendEmail.pm line 221.
(/usr/local/rt3/lib/RT.pm:254)

So $self->TransactionObj is not defined. What would cause this?

P.S. What does --condition-arg 1 do for RT::Condition::Overdue? Also, I don’t see where in SendMail.pm the action arg “All” has a defined meaning.
What are the options for that? Just point me to the right file to read, and I’ll do it. :slight_smile:

rt-users mailing list
rt-users@lists.bestpractical.com
http://lists.bestpractical.com/mailman/listinfo/rt-users

Have you read the FAQ? The RT FAQ Manager lives at http://fsck.com/rtfm

Well, that’s not the answer I wanted! So rt-crontool cannot send out emails
then. Oh well. :slight_smile:

Man, that would have been perfect.