【问题标题】:I want to check the previous status within an RT scrip?我想检查 RT 脚本中的先前状态?
【发布时间】:2018-10-04 09:23:28
【问题描述】:

我的$TransactionPreviousStatus = $self->TicketObj->Status->OldValue:

我认为这应该给出旧状态,但我最终得到了当前状态

例如:

旧状态:打开

当前状态:请回复

因此,当有人回复票证时,将执行一个自定义脚本,该脚本应将状态更改为旧值(即打开),但它又回到回复-pls。

【问题讨论】:

  • 如果有人可以帮助解决这个问题,紧急

标签: rt


【解决方案1】:

你不能在 TicketObj 上调用 OldValue,它是一个 Transaction 方法。因此,如果我正确理解了您的需求,您需要编写一个脚本,触发 StatusChange && Correspondence 设置状态。这有点棘手。

AFAIK 您需要创建一个在 Correspondence 上触发的批处理脚本,然后找到 StatusChange 的最后一个事务并将其还原。像这样的东西可以工作:

Description: On correspond don't change the status
Condition: On Correspond
Action: User defined
Template: Blank
Stage: Batch
Custom action commit code:

my $transactions = $self->TicketObj->Transactions;
my $last_status;
while (my $transaction = $transactions->Next) {
  if ($transaction->Type eq "Status" ) {
    $last_status = $transaction;
  }
}
$self->TicketObj->SetStatus($last_status->OldValue);

【讨论】:

  • 谢谢@Houmles,如果它对我有用,我会尝试更新
猜你喜欢
  • 2020-11-23
  • 2013-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-16
  • 2013-12-14
  • 1970-01-01
相关资源
最近更新 更多