How to get current TicketID in Excute Custom Module

Moderator: crythias

Locked
IgorD
Znuny newbie
Posts: 14
Joined: 15 Dec 2016, 16:47
Znuny Version: 5s Free

How to get current TicketID in Excute Custom Module

Post by IgorD »

Hello!
How to get current TicketID in GenericAgent -> Job -> Excute Custom Module ?

My first module in OTRS :

Code: Select all

#!/usr/bin/perl -w

package Custom::SendmailChief;

use strict;
use warnings;

use Kernel::System::ObjectManager;

# email
local $Kernel::OM = Kernel::System::ObjectManager->new();
my $EmailObject = $Kernel::OM->Get('Kernel::System::Email');

# log
local $Kernel::OM = Kernel::System::ObjectManager->new(
        'Kernel::System::Log' => {
            LogPrefix => 'RunModule',  # not required, but highly recommend
        },
    );
my $LogObject = $Kernel::OM->Get('Kernel::System::Log');

# config
my $ConfigObject = $Kernel::OM->Get('Kernel::Config');

# var
my $ticketnumber = $ARGV[0];
my $ticketid = $ARGV[1];

our $ObjectManagerDisabled = 1;

sub new {

    my ( $Type, %Param ) = @_;

    # allocate new hash for object
    my $Self = {%Param};
    bless( $Self, $Type );

    # debug level
    $Self->{Debug} = $Param{Debug} || 0;
    # get configured backend module
    my $GenericModule = $Kernel::OM->Get('Kernel::Config')->Get('SendmailModule')
        || 'Kernel::System::Email::Sendmail';

    # get backend object
    $Self->{Backend} = $Kernel::OM->Get($GenericModule);

    return $Self;
}

sub Run {
    my ( $Self, %Param ) = @_;

    # check availability
    my %Check = $EmailObject->Check();
    if ( !$Check{Successful} ) {
     $LogObject->Log(
                     Priority => 'error',
                     Message  => $Check{Message},
                    );
      return;
    }.
    else {
     $LogObject->Log(
                     Priority => 'info',
                     Message  => 'Check - ok',
                    );

    };

        # get Sender
        my $Sender = $ConfigObject->Get(
            'AdminEmail'
        ) || '';

        # get ticket object
        my $TicketObject = $Kernel::OM->Get('Kernel::System::Ticket');

        # check if new ticket
        my $Tn = $TicketObject->GetTNByString( $Param{GetParam}->{Subject} );

       if ( $Self->{TicketID} ) {
             $LogObject->Log(
                     Priority => 'info',
                     Message  => 'Found Object',
                    );
       } else
       {
             $LogObject->Log(
                     Priority => 'info',
                     Message  => 'NO Found Object',
                    );

       };

        # Send Mail
        my $Sent = $EmailObject->Send(
                                      From          => $Sender,
                                      To            => 'chief@domain.com',
                                      Subject       => 'Subj!',
                                      Charset       => 'utf-8',
                                      MimeType      => 'text/plain', # "text/plain" or "text/html"
                                      Body          => 'TicketID= ' . $ticketid,
                                      Loop          => 1, # not required, removes smtp from........
                                    );


    if ($Sent) {
       $LogObject->Log(
                       Priority => 'info',
                       Message  => "Email sent!",
                      );
    }
    else {
       $LogObject->Log(
                       Priority => 'error',
                       Message  => "Email not  sent!",
                      );
    }
}

1;

reneeb
Znuny guru
Posts: 5018
Joined: 13 Mar 2011, 09:54
Znuny Version: 6.0.x
Real Name: Renée Bäcker
Company: Perl-Services.de
Contact:

Re: How to get current TicketID in Excute Custom Module

Post by reneeb »

That's automatically in $Param{TicketID}
Perl / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
IgorD
Znuny newbie
Posts: 14
Joined: 15 Dec 2016, 16:47
Znuny Version: 5s Free

Re: How to get current TicketID in Excute Custom Module

Post by IgorD »

Thanks very match !!!!
Locked