NAME
Kernel::System::ProcessManagement::Modules::TicketDataPull – A module to fetch data from a linked ticket.
DESCRIPTION
All TicketDataPull functions.
PUBLIC INTERFACE
new()
Don't use the constructor directly, use the ObjectManager instead:
my $TicketDataPullObject = $Kernel::OM->Get('Kernel::System::ProcessManagement::Modules::TicketDataPull');
Run()
Run Data
my $Success = $TicketDataPullObject->Run(
UserID => 123,
Ticket => \%Ticket, # required
ProcessEntityID => 'P123',
ActivityEntityID => 'A123',
SequenceFlowEntityID => 'T123',
SequenceFlowActionEntityID => 'TA123',
Config => {
ConfigSearchKeyValueList {
# Use this to exclude some ticket ids from the search result.
ExcludeTicketID => '1234',
ExcludeTicketID => '1234,1235',
# Ticket number (optional) as single or comma separated values
TicketNumber => '%123546%',
TicketNumber => '%123546%,%123666%',
# Ticket title (optional) as single or comma separated values
Title => '%SomeText%',
Title => '%SomeTest1%,%SomeTest2%',
Queues => 'system queue,other queue',
QueueIDs => '1,42,512',
# Use also sub queues of Queue|Queues in search.
UseSubQueues => 0,
# You can use types like normal,...
Types => 'normal,change,incident',
TypeIDs => '3,4',
# You can use states like new, open, pending reminder,...
States => 'new,open',
StateIDs => '3,4',
# (Open|Closed) tickets for all closed or open tickets.
StateType => 'Open',
# You also can use real state types like new, open, closed, pending reminder, pending auto, removed and merged.
StateType => 'open,new',
StateTypeIDs => '1,2,3',
Priorities => '1 very low,2 low,3 normal',
PriorityIDs => '1,2,3',
Services => 'Service A,Service B',
ServiceIDs => '1,2,3',
SLAs => 'SLA A,SLA B',
SLAIDs => '1,2,3',
Locks => 'unlock',
LockIDs => '1,2,3',
OwnerIDs => '1,12,455,32',
ResponsibleIDs => '1,12,455,32',
WatchUserIDs => '1,12,455,32',
# CustomerID (optional) as single or comma separated values.
CustomerID => '123',
CustomerID => '123,ABC',
# CustomerIDRaw (optional) as single or comma separated values.
# CustomerID without QueryCondition checking.
# The raw value will be used if is set this parameter.
CustomerIDRaw => '123 + 345',
CustomerIDRaw => '123,ABC,123 && 456,ABC % efg',
# CustomerUserLogin (optional) as single or comma separated values.
CustomerUserLogin => 'uid123',
CustomerUserLogin => 'uid123,uid777',
# CustomerUserLoginRaw (optional) as single or comma separated values.
# The raw value will be used if is set this parameter.
CustomerUserLoginRaw => 'uid',
CustomerUserLoginRaw => 'uid + 123',
CustomerUserLoginRaw => 'uid - 123,uid # 777 + 321',
# Create ticket properties (optional).
CreatedUserIDs => '1,12,455,32'
CreatedTypes => 'normal,change,incident',
CreatedTypeIDs => '1,2,3',
CreatedPriorities => '1 very low,2 low,3 normal',
CreatedPriorityIDs => '1,2,3',
CreatedStates => 'new,open',
CreatedStateIDs => '3,4',
CreatedQueues => 'system queue,other queue',
CreatedQueueIDs => '1,42,512',
# DynamicFields (optional) as single or comma separated values.
DynamicField_FieldNameA => 'Empty=1',
DynamicField_FieldNameB => 'Equals=123,456',
DynamicField_FieldNameC => 'Like=value*',
DynamicField_FieldNameD => 'GreaterThan=2001-01-01 01:01:01',
DynamicField_FieldNameE => 'GreaterThanEquals=2001-01-01 01:01:01',
DynamicField_FieldNameF => 'SmallerThan=2002-02-02 02:02:02',
DynamicField_FieldNameG => 'SmallerThanEquals=2002-02-02 02:02:02',
# Filters for tickets,where the current agent (UserID) is involved in.
AgentInvolved => 1,
# User ID for searching tickets by ticket flags (defaults to UserID).
TicketFlagUserID => 1,
# Search for ticket flags.
TicketFlag => 'Seen=1',
# Search for ticket flag that is absent,or a different value than the one given:
NotTicketFlag => 'Seen=1',
# User ID for searching tickets by article flags (defaults to UserID).
ArticleFlagUserID => 1,
# Search for tickets by the presence of flags on articles.
ArticleFlag => 'Important=1',
# Article stuff (optional).
MIMEBase_From => '%spam@example.com%',
MIMEBase_To => '%service@example.com%',
MIMEBase_Cc => '%client@example.com%',
MIMEBase_Subject => '%VIRUS 32%',
MIMEBase_Body => '%VIRUS 32%',
# Attachment stuff (optional,applies only for ArticleStorageDB).
AttachmentName => '%anyfile.txt%',
# Use full article text index if configured (optional, default off).
FullTextIndex => 1,
# Article content search (AND or OR for From,To, Cc , Subject and Body) (optional).
ContentSearch => 'AND',
# Article content search prefix (for From,To,Cc,Subject and Body) (optional).
ContentSearchPrefix => '*',
# Article content search suffix (for From,To,Cc,Subject and Body) (optional).
ContentSearchSuffix => '*',
# Content conditions for From,To,Cc,Subject,Body
# Title,CustomerID and CustomerUserLogin (all optional).
ConditionInline => 1,
# Articles created more than 60 minutes ago (article older than 60 minutes) (optional).
ArticleCreateTimeOlderMinutes => 60,
# Articles created less than 120 minutes ago (article newer than 60 minutes) (optional).
ArticleCreateTimeNewerMinutes => 120,
# Articles with create time after ... (article newer than this date) (optional).
ArticleCreateTimeNewerDate => '2006-01-09 00:00:01',
# Articles with created time before ... (article older than this date) (optional).
ArticleCreateTimeOlderDate => '2006-01-19 23:59:59',
# Tickets created more than 60 minutes ago (ticket older than 60 minutes) (optional).
TicketCreateTimeOlderMinutes => 60,
# Tickets created less than 120 minutes ago (ticket newer than 120 minutes) (optional).
TicketCreateTimeNewerMinutes => 120,
# Tickets with create time after ... (ticket newer than this date) (optional).
TicketCreateTimeNewerDate => '2006-01-09 00:00:01',
# Tickets with created time before ... (ticket older than this date) (optional).
TicketCreateTimeOlderDate => '2006-01-19 23:59:59',
# Ticket history entries that created more than 60 minutes ago (optional).
TicketChangeTimeOlderMinutes => 60,
# Ticket history entries that created less than 120 minutes ago (optional).
TicketChangeTimeNewerMinutes => 120,
# Ticket history entry create time after ... (ticket history entries newer than this date) (optional).
TicketChangeTimeNewerDate => '2006-01-09 00:00:01',
# Ticket history entry create time before ... (ticket history entries older than this date) (optional).
TicketChangeTimeOlderDate => '2006-01-19 23:59:59',
# Tickets changed more than 60 minutes ago (optional).
TicketLastChangeTimeOlderMinutes => 60,
# Tickets changed less than 120 minutes ago (optional).
TicketLastChangeTimeNewerMinutes => 120,
# Tickets with changed time after ... (ticket changed newer than this date) (optional).
TicketLastChangeTimeNewerDate => '2006-01-09 00:00:01',
# Tickets with changed time before ... (ticket changed older than this date) (optional).
TicketLastChangeTimeOlderDate => '2006-01-19 23:59:59',
# Tickets closed more than 60 minutes ago (optional).
TicketCloseTimeOlderMinutes => 60,
# tickets closed less than 120 minutes ago (optional).
TicketCloseTimeNewerMinutes => 120,
# Tickets with closed time after ... (ticket closed newer than this date) (optional).
TicketCloseTimeNewerDate => '2006-01-09 00:00:01',
# Tickets with closed time before ... (ticket closed older than this date) (optional).
TicketCloseTimeOlderDate => '2006-01-19 23:59:59',
# Tickets with last close time more than 60 minutes ago (optional).
TicketLastCloseTimeOlderMinutes => 60,
# Tickets with last close time less than 120 minutes ago (optional).
TicketLastCloseTimeNewerMinutes => 120,
# Tickets with last close time after ... (ticket last close newer than this date) (optional).
TicketLastCloseTimeNewerDate => '2006-01-09 00:00:01',
# Tickets with last close time before ... (ticket last close older than this date) (optional).
TicketLastCloseTimeOlderDate => '2006-01-19 23:59:59',
# Tickets with pending time of more than 60 minutes ago (optional).
TicketPendingTimeOlderMinutes => 60,
# Tickets with pending time of less than 120 minutes ago (optional).
TicketPendingTimeNewerMinutes => 120,
# Tickets with pending time after ... (optional).
TicketPendingTimeNewerDate => '2006-01-09 00:00:01',
# Tickets with pending time before ... (optional).
TicketPendingTimeOlderDate => '2006-01-19 23:59:59',
# You can use all following escalation options with this four different ways of escalations
# TicketEscalationTime...
# TicketEscalationUpdateTime...
# TicketEscalationResponseTime...
# TicketEscalationSolutionTime...
# Ticket escalation time of more than 60 minutes ago (optional).
TicketEscalationTimeOlderMinutes => -60,
# ticket escalation time of less than 120 minutes ago (optional).
TicketEscalationTimeNewerMinutes => -120,
# Tickets with escalation time after ... (optional).
TicketEscalationTimeNewerDate => '2006-01-09 00:00:01',
# Tickets with escalation time before ... (optional).
TicketEscalationTimeOlderDate => '2006-01-09 23:59:59',
# Search in archive (optional).
# if archiving is on,if not specified the search processes unarchived only
# 'y' searches archived tickets,'n' searches unarchived tickets
# if specified together all tickets are searched
ArchiveFlags => 'y,n',
# LinkType (Optional)
# LinkType => 'ParentChild=Target' # 'ParentChild=Source', 'Normal=Target', etc.
}
ConfigDropdown => {
Behavior => 'NoCopy', # 'NoCopy', 'CopyFirstLinked' or 'CopyLastLinked' only
},
UserID => 123, # optional,to override the UserID from the logged user
# Value set:
# * Key is the attribute of the process ticket where the data will be set
# * Value is the value to be set, supporting smart tags <OTRS_TICKET_*> from the resulting linked ticket
# after match and behavior filters e.g.
#
# Example:
# * To set process ticket queue to be exactly the linked ticket queue:
# Queue => '<OTRS_Ticket_Queue>',
# * To set the process ticket dynamic field NameX to an static value (not real pull):
# DynamicField_NameX => 'someValue',
}
);
- `Ticket` contains the result of TicketGet including DynamicFields.