Signature#

NAME#

Kernel::System::Signature - signature lib

DESCRIPTION#

All signature functions.

PUBLIC INTERFACE#

new()#

Don’t use the constructor directly, use the ObjectManager instead:

my $SignatureObject = $Kernel::OM->Get('Kernel::System::Signature');

SignatureAdd()#

add new signatures

my $ID = $SignatureObject->SignatureAdd(
    Name        => 'New Signature',
    Text        => "--\nSome Signature Infos",
    ContentType => 'text/plain; charset=utf-8',
    Comment     => 'some comment',
    ValidID     => 1,
    UserID      => 123,
);

SignatureGet()#

get signatures attributes

my %Signature = $SignatureObject->SignatureGet(
    ID => 123,
);

SignatureUpdate()#

update signature attributes

$SignatureObject->SignatureUpdate(
    ID          => 123,
    Name        => 'New Signature',
    Text        => "--\nSome Signature Infos",
    ContentType => 'text/plain; charset=utf-8',
    Comment     => 'some comment',
    ValidID     => 1,
    UserID      => 123,
);

SignatureDelete()#

delete a signature from the database by it’s id

my $Success = $SignatureObject->SignatureDelete(
    ID     => 1,
    UserID => 1,
);

SignatureExport()#

export a signature

my $ExportData = $SignatureObject->SignatureExport(
    # required either ID or ExportAll
    ID                       => $SignatureID,
    ExportAll                => 0,               # possible: 0, 1

    UserID                   => 1,               # required
}

returns Signature hashes in an array with data:

    my $ExportData =
    [
        {
            'ID' => 1,
            'Name' => 'system standard signature (en)',
            'Text' => '
Your Ticket-Team

<OTRS_Agent_UserFirstname> <OTRS_Agent_UserLastname>

– Super Support - Waterford Business Park 5201 Blue Lagoon Drive - 8th Floor & 9th Floor - Miami, 33126 USA Email: hot@example.com - Web: http://www.example.com/ –‘,

‘CreateTime’ => ‘2024-02-06 14:49:56’, ‘Queues’ => {}, ‘Comment’ => ‘Standard Signature.’, ‘ValidID’ => 1, ‘ChangeTime’ => ‘2024-02-06 14:49:56’, ‘ContentType’ => ‘text/plain; charset=utf-8’

}, {

‘ID’ => 2, ‘Name’ => ‘system standard signature (pl)’, ‘Text’ => ‘

Your Ticket-Team

<OTRS_Agent_UserFirstname> <OTRS_Agent_UserLastname>

– Super Support - Waterford Business Park 5201 Blue Lagoon Drive - 8th Floor & 9th Floor - Miami, 33126 USA Email: hot@example.com - Web: http://www.example.com/ –‘,

‘CreateTime’ => ‘2024-07-22 11:58:32’, ‘Queues’ => {}, ‘Comment’ => ‘Standard Signature.’, ‘ValidID’ => 1, ‘ChangeTime’ => ‘2024-07-22 11:58:32’, ‘ContentType’ => ‘text/plain; charset=utf-8’

}

];

SignatureImport()#

import a signature via YAML content

my $ImportResult = $SignatureObject->SignatureImport(
    Content                     => $YAMLContent, # mandatory, YAML format
    OverwriteExistingSignatures => 0,            # optional, possible: 0, 1
    UserID                      => 1,            # mandatory
);

Returns:

$Result = {
    Success           => 1,                                  # 1 if success or undef if operation could not
                                                             # be performed
    Message           => 'The Message to show.',             # error message
    Added             => 'Signature1, Signature2',           # string of Signatures correctly added
    Updated           => 'Signature3, Signature4',           # string of Signatures correctly updated
    NotUpdated        => 'Signature5, Signature6',           # string of Signatures not updated due to existing entity
                                                             # with the same name
    Errors            => 'Signature',                        # string of Signatures that could not be added or updated
    AdditionalErrors  => ['Some error occured!', 'Error2!'], # list of additional error not necessarily related to specified Signature
};

SignatureCopy()#

copy a signature

my $NewSignatureID = $SignatureObject->SignatureCopy(
    ID     => 1, # mandatory
    UserID => 1, # mandatory
);

SignatureExportDataGet()#

get data to export signature

my %SignatureData = $SignatureObject->SignatureExportDataGet(
    ID               => 1, # mandatory
);

Returns:

    my %SignatureData = (
        'ContentType' => 'text/plain; charset=utf-8',
        'ValidID' => 1,
        'Comment' => 'Standard Signature.',
        'CreateTime' => '2024-07-22 11:58:32',
        'Queues' => {
            '6' => 'Queuetest1192009180100007',
            '21' => 'Queuetest1450009665400005',
        },
        'ID' => 2,
        'Text' => '
Your Ticket-

<OTRS_Agent_UserFirstname> <OTRS_Agent_UserLastname>

– Super Support - Waterford Business Park 5201 Blue Lagoon Drive - 8th Floor & 9th Floor - Miami, 33126 USA Email: hot@example.com - Web: http://www.example.com/ –‘,

‘Name’ => ‘system standard signature (pl)’, ‘ChangeTime’ => ‘2024-07-22 12:13:18’

)

SignatureExportFilenameGet()#

get export file name based on signature name

my $Filename = $SignatureObject->SignatureExportFilenameGet(
    Name => 'Signature_1',
    Format => 'YAML',
);

SignatureQueuesList()#

get a list of the queues that have been linked to signature

my %SignatureQueues = $SignatureObject->SignatureQueuesList(
    ID => 1, # mandatory
);

Returns:

my %Queues = (
    1 => 'queue1',
    2 => 'queue2',
)

SignatureQueueLinkBySignature()#

assign a list of queues to a signature

my $Success = $SignatureObject->SignatureQueueLinkBySignature(
    QueueIDs => [1,2,3],
    ID       => 1,
    UserID   => 1,
);

SignatureList()#

get signature list

my %List = $SignatureObject->SignatureList(
    Valid => 0,  # optional, defaults to 1
);

returns:

%List = (
    '1' => 'Some Name',
    '2' => 'Some Name',
    '3' => 'Some Name',
);