OTRS 8.0 API Reference Perl

Description manuals and libraries
OTRS 8.0 API Reference Perl > Perl Modules > Kernel::System::ProcessManagement::Modules::TicketDataPull

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.