Folyamatkezelés

A csomag telepítése után öt új modul kerül hozzáadásra a folyamatkezelés vezérlet feladat tevékenységeihez és szekvenciafolyam-műveleteihez.

Folyamatmodulok

Az új modulok megtekintéséhez:

  1. Menjen az adminisztrátori felület Folyamatkezelés képernyőjére.

  2. Hozzon létre egy új folyamatot vagy válasszon egy meglévő folyamatot, amely tartalmaz vezérelt feladat tevékenységet.

  3. Kattintson a Tevékenységek elemre a bal oldalsávon lévő Elérhető folyamatelemek felületi elemben.

  4. Hozzon létre egy új vezérelt feladat tevékenységet vagy szerkesszen egy meglévőt.

  5. Válassza ki a Parancsfájl legördülő listában lévő új parancsfájlok egyikét.

    • ITSMConfigItemDataPull

    • ITSMConfigItemDataPush

    • LinkWithITSMConfigItem

    • TicketLinkITSMConfigItem

    • TicketUpdateByLinkedCI

  6. Kattintson a Mentés gombra, ha a Beállítás gomb nem látható a Parancsfájl legördülő lista mellett.

  7. Kattintson a Beállítás gombra a parancsfájl paramétereinek (kulcs-érték párok) hozzáadásához.

ITSMConfigItemDataPull

Egy modul egy kapcsolt ITSM konfigurációelemből történő adatlekéréshez.

Az ITSMConfigItemDataPull folyamatkezelés-modul

Az ITSMConfigItemDataPull folyamatkezelés-modul

Fő keresési paraméterek szakasz

A következő paraméterek használhatók a korlátozásokhoz:

  • Osztály *

  • Üzembe állítási állapot

  • Incidensállapot

  • Kapcsolat típusa

További konfigurációelem-feltétel szakasz

Ez a szakasz konfigurációelemek keresésére használható.

A szűrők kulcs-érték párokkal adhatók hozzá. A szűrők között logikai ÉS kapcsolat van, ha egynél több szűrő kerül hozzáadásra. Logikai VAGY kapcsolat a , karakterrel elválasztott több értékkel adható hozzá.

A Limit kulcs korlátozza a visszaadott konfigurációelemek számát.

Elvárt viselkedés szakasz

Ha egynél több konfigurációelem található a fenti szakaszban, akkor az elvárt viselkedés itt határozható meg.

Lehetséges értékek:

  • Attribútumok másolása az elsőként megtalált konfigurációelemből

  • Attribútumok másolása az utolsóként megtalált konfigurációelemből

  • A konfigurációelem figyelmen kívül hagyása, ne másoljon semmit sem

Folyamatjegy attribútumai szakasz

Ezzel a modullal frissíthetők a folyamatjegy attribútumai. A kulcs a folyamatjegy attribútuma. Az érték lehet előre meghatározott szöveg, a kapcsolt konfigurációelemből származó attribútum OTRS címke formában, illetve a kettő kombinációja. Az <OTRS_ITSMCI_*> OTRS címkeelőtag használható itt.

Példák:

Kulcs

Érték

Priority

5 very high

DynamicField_Capacity

<OTRS_ITSMCI_HardDisk::Capacity::1>

Title

Ebből: <OTRS_ITSMCI_Name>

Lásd még

Nézze meg az ITSMConfigItemDataPull és a ConfigItemSearch() API-hivatkozást.

ITSMConfigItemDataPush

Egy modul a kapcsolt ITSM konfigurációelemekbe történő adatbeszúráshoz.

Az ITSMConfigItemDataPush folyamatkezelés-modul

Az ITSMConfigItemDataPush folyamatkezelés-modul

Fő keresési paraméterek szakasz

A következő paraméterek használhatók a korlátozásokhoz:

  • Osztály *

  • Üzembe állítási állapot

  • Incidensállapot

  • Kapcsolat típusa

További konfigurációelem-feltétel szakasz

Ez a szakasz konfigurációelemek keresésére használható.

A szűrők kulcs-érték párokkal adhatók hozzá. A szűrők között logikai ÉS kapcsolat van, ha egynél több szűrő kerül hozzáadásra. Logikai VAGY kapcsolat a , karakterrel elválasztott több értékkel adható hozzá.

A Limit kulcs korlátozza a visszaadott konfigurációelemek számát.

Kapcsolt konfigurációelem attribútumai szakasz

Itt állíthatók be a frissítendő kapcsolt konfigurációelem attribútumai. A kulcs a kapcsolt konfigurációelem attribútuma. Az érték lehet előre meghatározott szöveg, a folyamatjegyből származó attribútum OTRS címke formában, illetve a kettő kombinációja. Az <OTRS_TICKET_*> OTRS címkeelőtag használható itt.

Példák:

Kulcs

Érték

ConfigItemCreateTimeNewerDate

2021-10-20 12:23:34

HardDisk::Capacity::1

<OTRS_TICKET_DynamicField_HDCapacity>

Name

Folyamat: <OTRS_TICKET_DynamicField_ProcessManagementProcessID>

Lásd még

Nézze meg az ITSMConfigItemDataPush és a ConfigItemSearch() API-hivatkozást.

LinkWithITSMConfigItem

Egy modul ITSM konfigurációelemek hozzákapcsolásához.

A LinkWithITSMConfigItem folyamatkezelés-modul

A LinkWithITSMConfigItem folyamatkezelés-modul

Fő keresési paraméterek szakasz

A következő paraméterek használhatók a korlátozásokhoz:

  • Osztály *

  • Üzembe állítási állapot

  • Incidensállapot

  • Kapcsolat típusa

További konfigurációelem-feltétel szakasz

Ez a szakasz konfigurációelemek keresésére használható.

A szűrők kulcs-érték párokkal adhatók hozzá. A szűrők között logikai ÉS kapcsolat van, ha egynél több szűrő kerül hozzáadásra. Logikai VAGY kapcsolat a , karakterrel elválasztott több értékkel adható hozzá.

A Limit kulcs korlátozza a visszaadott konfigurációelemek számát.

Lásd még

Nézze meg a LinkWithITSMConfigItem és a ConfigItemSearch() API-hivatkozást.

TicketLinkITSMConfigItem

Egy modul egy kiterjesztett konfigurációelem-keresés végrehajtásához és a keresési eredmény jegyhez történő hozzákapcsolásához.

A TicketLinkITSMConfigItem folyamatkezelés-modul

A TicketLinkITSMConfigItem folyamatkezelés-modul

Fő keresési paraméterek szakasz

A következő paraméterek használhatók a korlátozásokhoz:

  • Osztály *

  • Üzembe állítási állapot

  • Incidensállapot

  • Kapcsolat típusa

További konfigurációelem-feltétel szakasz

Ez a szakasz konfigurációelemek keresésére használható.

A szűrők kulcs-érték párokkal adhatók hozzá. A szűrők között logikai ÉS kapcsolat van, ha egynél több szűrő kerül hozzáadásra. Logikai VAGY kapcsolat a , karakterrel elválasztott több értékkel adható hozzá.

Rendezheti a keresési eredményeket, ha megadja az OrderBy kulcsot és egy konfigurációelem attribútumát értékként.

Az OrderByDirection kulccsal és az Up vagy Down értékekkel befolyásolhatja a rendezési sorrendet.

Ha nincs rendezés megadva, akkor a rendezés automatikusan csökkenő sorrendben lesz végrehajtva a konfigurációelemek azonosítója alapján.

Lásd még

Nézze meg a TicketLinkITSMConfigItem és a ConfigItemSearch() API-hivatkozást.

TicketUpdateByLinkedCI

Egy modul a jegyattribútumoknak egy kapcsolt konfigurációelem alapján történő beállításához.

A TicketUpdateByLinkedCI folyamatkezelés-modul

A TicketUpdateByLinkedCI folyamatkezelés-modul

Fő keresési paraméterek szakasz

A következő paraméterek használhatók a korlátozásokhoz:

  • Osztály

  • Üzembe állítási állapot

  • Incidensállapot

  • Kapcsolat típusa

Elvárt viselkedés szakasz

Ha egynél több konfigurációelem található a fenti szakaszban, akkor az elvárt viselkedés itt határozható meg.

Lehetséges értékek:

  • Attribútumok másolása az elsőként megtalált konfigurációelemből

  • Attribútumok másolása az utolsóként megtalált konfigurációelemből

  • A konfigurációelem figyelmen kívül hagyása, ne másoljon semmit sem

Konfigurációelem jegybe történő leképezése szakasz

Ezzel a modullal a konfigurációelem attribútumai jegyattribútumokra képezhetők le. A kulcs a konfigurációelem attribútuma. Az érték a jegy attribútuma.

Példák:

Kulcs

Érték

HardDisk::Capacity

DynamicField_HDCapacity

Name

Title

Lásd még

Nézze meg a TicketUpdateByLinkedCI és a ConfigItemSearch() API-hivatkozást.

API-hivatkozás

Ezek az API-hivatkozások nem érhetők el az interneten, de ez a leírás tartalmazza azokat.

ITSMConfigItemDataPull API

NAME

Kernel::System::ProcessManagement::Modules::ITSMConfigItemDataPull - A module to fetch data from a linked ITSM configuration item.

DESCRIPTION

All ITSMConfigItemDataPull functions.

PUBLIC INTERFACE

new()

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

    my $ITSMConfigItemDataPullObject = $Kernel::OM->Get('Kernel::System::ProcessManagement::Modules::ITSMConfigItemDataPull');

Run()

Run Data

my $Success = $ITSMConfigItemDataPullObject->Run(
    UserID                          => 123,
    Ticket                          => \%Ticket,  # required
    ProcessEntityID                 => 'P123',
    ActivityEntityID                => 'A123',
    SequenceFlowEntityID            => 'T123',
    SequenceFlowActionEntityID      => 'TA123',
    Config => {

        ConfigITSMConfigItemSearch => {
            ClassIDs     => [9, 8, 7, 6],             # (optional)
            DeplStateIDs => [1, 2, 3, 4],             # (optional)
            InciStateIDs => [1, 2, 3, 4],             # (optional)
            LinkType     => 'RelevantTo::Source',     # (optional)
        },

        ConfigSearchKeyValueList => {
            Name         => 'The Name',               # (optional)

            # configuration items with created time after ...
            ConfigItemCreateTimeNewerDate => '2006-01-09 00:00:01',  # (optional)
            # configuration items with created time before then ....
            ConfigItemCreateTimeOlderDate => '2006-01-19 23:59:59',  # (optional)

            # configuration items with changed time after ...
            ConfigItemChangeTimeNewerDate => '2006-01-09 00:00:01',  # (optional)
            # configuration items with changed time before then ....
            ConfigItemChangeTimeOlderDate => '2006-01-19 23:59:59',  # (optional)

            # XML attributes (defined by class)
            'ElementA::ElementB' => '%contentA%',
            'ElementA::ElementB' => '%contentC%,%contentD%,%contentE%,
        }.

        UserID => 123,     # optional,to override the UserID from the logged user

        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 linked ITSM configuration item where the data will be set,
        #   * Value is the value is the value to be set, supporting smart tags <OTRS_ITSMCI_*> from the resulting linked
        #       configuration item after match and behavior filters
        #
        #   Example:
        #   * To set process ticket title to be exactly the linked configuration item first element of field someDefinitionField::Sub
        #     Title => '<OTRS_ITSMCI_someDefinitionField::Sub::1>',
        #     where 'Sub' is a sub field of field 'someDefinitionField'
        #   * To set process ticket title to be exactly the linked configuration item second element of field someDefinitionField
        #     Title => '<OTRS_ITSMCI_someDefinitionField2::2>',
        #   * 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.

ITSMConfigItemDataPush API

NAME

Kernel::System::ProcessManagement::Modules::ITSMConfigItemDataPush - A module to insert data to a linked ITSM configuration items.

DESCRIPTION

All ITSMConfigItemDataPush functions.

PUBLIC INTERFACE

new()

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

    my $ITSMConfigItemDataPushObject = $Kernel::OM->Get('Kernel::System::ProcessManagement::Modules::ITSMConfigItemDataPush');

Run()

Run Data

my $Success = $ITSMConfigItemDataPullObject->Run(
    UserID                          => 123,
    Ticket                          => \%Ticket,  # required
    ProcessEntityID                 => 'P123',
    ActivityEntityID                => 'A123',
    SequenceFlowEntityID            => 'T123',
    SequenceFlowActionEntityID      => 'TA123',
    Config => {

        ConfigITSMConfigItemSearch => {
            ClassIDs     => [9, 8, 7, 6],             # (optional)
            DeplStateIDs => [1, 2, 3, 4],             # (optional)
            InciStateIDs => [1, 2, 3, 4],             # (optional)
            LinkType     => 'RelevantTo::Source',     # (optional)
        },

        ConfigSearchKeyValueList => {
            Name         => 'The Name',               # (optional)

            # configuration items with created time after ...
            ConfigItemCreateTimeNewerDate => '2006-01-09 00:00:01',  # (optional)
            # configuration items with created time before then ....
            ConfigItemCreateTimeOlderDate => '2006-01-19 23:59:59',  # (optional)

            # configuration items with changed time after ...
            ConfigItemChangeTimeNewerDate => '2006-01-09 00:00:01',  # (optional)
            # configuration items with changed time before then ....
            ConfigItemChangeTimeOlderDate => '2006-01-19 23:59:59',  # (optional)

            # XML attributes (defined by class)
            'ElementA::ElementB' => '%contentA%',
            'ElementA::ElementB' => '%contentC%,%contentD%,%contentE%,
        }.

        UserID => 123,     # optional,to override the UserID from the logged user

        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 linked ITSM configuration items where the data will be pushed,
        #   * Value is the value is the value to be set, supporting smart tags <OTRS_TICKET_*> from the current process ticket e.g.
        #
        #   Example:
        #   * To set linked ITSM configuration items first element of someDefinitionField::Sub to be exactly the process ticket QueueID:
        #     'someDefinitionField::Sub::1' => '<OTRS_Ticket_QueueID>',
        #      Where 'Sub' is a sub field of 'someDefinitionField' field
        #   * To set linked ITSM configuration items second element of someDefinitionField2 to be the concatenation of
        #     some text and the content of the process ticket dynamic field ExternalField2:
        #     'someDefinitionField2::2' => 'Some text <OTRS_Ticket_DynamicField_ExternalField2>',
        #   * To set linked ITSM configuration items last element of someDefinitionField::Sub to be an static text:
        #     'someDefinitionField::Sub' => 'Some text',
    }
);

- `Ticket` contains the result of TicketGet including DynamicFields.

LinkWithITSMConfigItem API

NAME

Kernel::System::ProcessManagement::Modules::LinkWithITSMConfigItem - A module to link ITSM configuration items.

DESCRIPTION

All LinkWithITSMConfigItem functions.

PUBLIC INTERFACE

new()

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

    my $LinkWithITSMConfigItemObject = $Kernel::OM->Get('Kernel::System::ProcessManagement::Modules::LinkWithITSMConfigItem');

Run()

Run Data

my $Success = $LinkWithITSMConfigItem->Run(
    UserID                          => 123,
    Ticket                          => \%Ticket,  # required
    ProcessEntityID                 => 'P123',
    ActivityEntityID                => 'A123',
    SequenceFlowEntityID            => 'T123',
    SequenceFlowActionEntityID      => 'TA123',
    Config => {

        ConfigITSMConfigItemSearch => {
            ClassIDs     => [9, 8, 7, 6],             # (optional)
            DeplStateIDs => [1, 2, 3, 4],             # (optional)
            InciStateIDs => [1, 2, 3, 4],             # (optional)
            LinkType     => 'RelevantTo::Source',     # (optional)
        },

        ConfigSearchKeyValueList => {
            Number       => 'The ConfigItem Number',  # (optional)
            Name         => 'The Name',               # (optional)

            # configuration items with created time after ...
            ConfigItemCreateTimeNewerDate => '2006-01-09 00:00:01',  # (optional)
            # configuration items with created time before then ....
            ConfigItemCreateTimeOlderDate => '2006-01-19 23:59:59',  # (optional)

            # configuration items with changed time after ...
            ConfigItemChangeTimeNewerDate => '2006-01-09 00:00:01',  # (optional)
            # configuration items with changed time before then ....
            ConfigItemChangeTimeOlderDate => '2006-01-19 23:59:59',  # (optional)

            # XML attributes (defined by class)
            'ElementA::ElementB' => '%contentA%',
            'ElementA::ElementB' => '%contentC%,%contentD%,%contentE%,
        }.

        UserID => 123,     # optional,to override the UserID from the logged user
    }
);

- `Ticket` contains the result of TicketGet including DynamicFields.

TicketLinkITSMConfigItem API

NAME

Kernel::System::ProcessManagement::Modules::TicketLinkITSMConfigItem - A module to perform an extended configuration item search and link search results to ticket.

DESCRIPTION

All TicketLinkITSMConfigItem functions.

PUBLIC INTERFACE

new()

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

    my $TicketLinkITSMConfigItemObject = $Kernel::OM->Get('Kernel::System::ProcessManagement::Modules::TicketLinkITSMConfigItem');

Run()

Run Data

my $Success = $TicketLinkITSMConfigItemObject->Run(
    UserID                          => 123,
    Ticket                          => \%Ticket,   # required
    ProcessEntityID                 => 'P123',
    ActivityEntityID                => 'A123',
    SequenceFlowEntityID            => 'T123',
    SequenceFlowActionEntityID      => 'TA123',
    Config => {
        UserID                      => 123,         # optional, to override the UserID from the logged user
    }
);

- `Ticket` contains the result of TicketGet including DynamicFields.
- `Config` is the Config Hash stored in a Process::SequenceFlowAction's Config key.

TicketUpdateByLinkedCI API

NAME

Kernel::System::ProcessManagement::Modules::TicketUpdateByLinkedCI - A module to set ticket attributes based on a linked configuration item.

DESCRIPTION

All TicketUpdateByLinkedCI functions.

PUBLIC INTERFACE

new()

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

my $TicketUpdateByLinkedCIObject = $Kernel::OM->Get('Kernel::System::ProcessManagement::Modules::TicketUpdateByLinkedCI');

Run()

Run Data

my $Success = $TicketUpdateByLinkedCIObject->Run(
    UserID                          => 123,
    Ticket                          => \%Ticket,                    # required
    ProcessEntityID                 => 'P123',
    ActivityEntityID                => 'A123',
    SequenceFlowEntityID            => 'T123',
    SequenceFlowActionEntityID      => 'TA123',
    Config  => {
        ConfigITSMConfigItemSearch => {
            ClassID                 => 123,                         # optional
            DeplStateIDs            => [123],                       # optional
            InciStateIDs            => [123],                       # optional
            LinkType                => 'someType::someDirection',   # optional
        },
        ConfigDropdown => {
            Behavior                => 'NoCopy',                    # 'CopyFirstLinked', 'CopyLastLinked'
        },
        'someDefinitionField::Sub'  => 'DynamicField_someName',     # example optional
        'someDefinitionField2'      => 'someTicketAttribute',       # example optional
        UserID                      => 123,                         # optional, to override the UserID from the logged user
    }
);

- `Ticket` contains the result of TicketGet including DynamicFields.
- `Config` is the Config Hash stored in a Process::SequenceFlowAction's Config key.

ConfigItemCreate() API

perform ConfigItemCreate Operation. This will return the created config item number.

 my $Result = $OperationObject->Run(
     Data => {
         UserLogin         => 'some agent login',            # UserLogin or AccessToken is required
         AccessToken       => 'eyJhbGciOiJIUzI1NiJ9[...],'

         Password  => 'some password',                   # if UserLogin is sent then
                                                         #   Password is required
         ConfigItem => {
             Number       => '111',                      # optional
             Class        => 'Configuration Item Class',
             Name         => 'The Name',
             DeplState    => 'deployment state',
             InciState    => 'incident state',
             CIXMLData    => $ArrayHashRef,              # it depends on the Configuration Item class and definition

             Attachment => [
                 {
                     Content     => 'content'            # base64 encoded
                     ContentType => 'some content type'
                     Filename    => 'some fine name'
                 },
                 # ...
             ],
             #or
             #Attachment => {
             #    Content     => 'content'
             #    ContentType => 'some content type'
             #    Filename    => 'some fine name'
             #},
         },
     },
 );

 $Result = {
     Success         => 1,                       # 0 or 1
     ErrorMessage    => '',                      # in case of error
     Data            => {                        # result data payload after Operation
         ConfigItemID => 123,                    # Configuration Item  ID number in OTRS::ITSM (Service desk system)
         Number       => 2324454323322           # Configuration Item  Number in OTRS::ITSM (Service desk system)
         Error => {                              # should not return errors
                 ErrorCode    => 'ConfigItemCreate.ErrorCode'
                 ErrorMessage => 'Error Description'
         },
     },
 };

ConfigItemDelete() API

perform ConfigItemDelete Operation. This function is able to return
one or more ConfigItem entries in one call.

 my $Result = $OperationObject->Run(
     Data => {
         UserLogin         => 'some agent login',            # UserLogin or CustomerUserLogin or AccessToken is
                                                             # required
         CustomerUserLogin => 'some customer login',
         AccessToken       => 'eyJhbGciOiJIUzI1NiJ9[...]',

         Password          => 'some password',               # if UserLogin or customerUserLogin is sent then
                                                             #   Password is required
         ConfigItemID      => '32,33',                       # required, could be coma separated IDs or an Array
     },
 );

 $Result = {
     Success         => 1,                       # 0 or 1
     ErrorMessage    => '',                      # in case of error
     Data            => {                        # result data payload after Operation
         ConfigItemID => [123, 456],         # Configuration Item IDs number in OTRS::ITSM (Service desk system)
         Error => {                              # should not return errors
                 ErrorCode    => 'ConfigItemDelete.ErrorCode'
                 ErrorMessage => 'Error Description'
         },
     },
 };

ConfigItemGet() API

perform ConfigItemGet Operation. This function is able to return
one or more ConfigItem entries in one call.

 my $Result = $OperationObject->Run(
     Data => {
         UserLogin         => 'some agent login',            # UserLogin or AccessToken is
         AccessToken       => 'eyJhbGciOiJIUzI1NiJ9[...]',   # required
         Password          => 'some password',               # if UserLogin is sent then Password is required
         ConfigItemID      => '32,33',                       # required, could be coma separated IDs or an Array
         Attachments       => 1,                             # Optional, 1 as default. If it's set with the value 1,
                                                             # attachments for articles will be included on ConfigItem data
     },
 );

 $Result = {
     Success      => 1,                                # 0 or 1
     ErrorMessage => '',                               # In case of an error
     Data         => {
         ConfigItem => [
             {

                 Number             => '20101027000001',
                 ConfigItemID       => 123,
                 Name               => 'some name',
                 Class              => 'some class',
                 VersionID          => 123,
                 LastVersionID      => 123,
                 DefinitionID       => 123,
                 InciState          => 'some incident state',
                 InciStateType      => 'some incident state type',
                 DeplState          => 'some deployment state',
                 DeplStateType      => 'some deployment state type',
                 CurInciState       => 'some incident state',
                 CurInciStateType   => 'some incident state type',
                 CurDeplState       => 'some deployment state',
                 CurDeplStateType   => 'some deployment state type',
                 CreateTime         => '2010-10-27 20:15:00'
                 CreateBy           => 123,
                 CIXMLData          => $XMLDataHashRef,

                 Attachment => [
                     {
                         Content            => "xxxx",     # actual attachment contents, base64 enconded
                         ContentType        => "application/pdf",
                         Filename           => "StdAttachment-Test1.pdf",
                         Filesize           => "4.6 KBytes",
                         Preferences        => $PreferencesHashRef,
                     },
                     {
                         # . . .
                     },
                 ],
             },
             {
                 # . . .
             },
         ],
     },
 };

ConfigItemSearch() API

ConfigItemSearch()

return a configuration item list as an array reference

my $ConfigItemIDs = $ConfigItemObject->ConfigItemSearch(
    Number       => 'The ConfigItem Number',  # (optional)
    ClassIDs     => [9, 8, 7, 6],             # (optional)
    DeplStateIDs => [1, 2, 3, 4],             # (optional)
    InciStateIDs => [1, 2, 3, 4],             # (optional)
    CreateBy     => [1, 2, 3],                # (optional)
    ChangeBy     => [3, 2, 1],                # (optional)

    # configuration items with created time after ...
    ConfigItemCreateTimeNewerDate => '2006-01-09 00:00:01',  # (optional)
    # configuration items with created time before then ....
    ConfigItemCreateTimeOlderDate => '2006-01-19 23:59:59',  # (optional)

    # configuration items with changed time after ...
    ConfigItemChangeTimeNewerDate => '2006-01-09 00:00:01',  # (optional)
    # configuration items with changed time before then ....
    ConfigItemChangeTimeOlderDate => '2006-01-19 23:59:59',  # (optional)

    OrderBy => [ 'ConfigItemID', 'Number' ],                  # (optional)
    # default: [ 'ConfigItemID' ]
    # (ConfigItemID, Number, ClassID, DeplStateID, InciStateID,
    # CreateTime, CreateBy, ChangeTime, ChangeBy)

    # Additional information for OrderBy:
    # The OrderByDirection can be specified for each OrderBy attribute.
    # The pairing is made by the array indices.

    OrderByDirection => [ 'Down', 'Up' ],                    # (optional)
    # default: [ 'Down' ]
    # (Down | Up)

    Limit          => 122,  # (optional)
    UsingWildcards => 0,    # (optional) default 1
);
ConfigItemSearchExtended()

return a configuration item list as an array reference

my $ConfigItemIDs = $ConfigItemObject->ConfigItemSearchExtended(
    Number       => 'The ConfigItem Number',  # (optional)
    Name         => 'The Name',               # (optional)
    ClassIDs     => [9, 8, 7, 6],             # (optional)
    DeplStateIDs => [1, 2, 3, 4],             # (optional)
    InciStateIDs => [1, 2, 3, 4],             # (optional)

    # configuration items with created time after ...
    ConfigItemCreateTimeNewerDate => '2006-01-09 00:00:01',  # (optional)
    # configuration items with created time before then ....
    ConfigItemCreateTimeOlderDate => '2006-01-19 23:59:59',  # (optional)

    # configuration items with changed time after ...
    ConfigItemChangeTimeNewerDate => '2006-01-09 00:00:01',  # (optional)
    # configuration items with changed time before then ....
    ConfigItemChangeTimeOlderDate => '2006-01-19 23:59:59',  # (optional)

    What => [                                                # (optional)
        # each array element is a and condition
        {
            # or condition in hash
            "[%]{'ElementA'}[%]{'ElementB'}[%]{'Content'}" => '%contentA%',
            "[%]{'ElementA'}[%]{'ElementC'}[%]{'Content'}" => '%contentA%',
        },
        {
            "[%]{'ElementA'}[%]{'ElementB'}[%]{'Content'}" => '%contentB%',
            "[%]{'ElementA'}[%]{'ElementC'}[%]{'Content'}" => '%contentB%',
        },
        {
            # use array reference if different content with same key was searched
            "[%]{'ElementA'}[%]{'ElementB'}[%]{'Content'}" => ['%contentC%', '%contentD%', '%contentE%'],
            "[%]{'ElementA'}[%]{'ElementC'}[%]{'Content'}" => ['%contentC%', '%contentD%', '%contentE%'],
        },
    ],

    PreviousVersionSearch => 1,  # (optional) default 0 (0|1)

    OrderBy => [ 'ConfigItemID', 'Number' ],                  # (optional)
    # default: [ 'ConfigItemID' ]
    # (ConfigItemID, Number, Name, ClassID, DeplStateID, InciStateID,
    # CreateTime, CreateBy, ChangeTime, ChangeBy)

    # Additional information for OrderBy:
    # The OrderByDirection can be specified for each OrderBy attribute.
    # The pairing is made by the array indices.

    OrderByDirection => [ 'Down', 'Up' ],                    # (optional)
    # default: [ 'Down' ]
    # (Down | Up)

    Limit          => 122,  # (optional)
    UsingWildcards => 0,    # (optional) default 1
);

ConfigItemUpdate() API

perform ConfigItemUpdate Operation. This will return the updated configuration item number.

 my $Result = $OperationObject->Run(
     Data => {
         UserLogin => 'some agent login',                # UserLogin or AccessToken is
         AccessToken => 123,                             # required

         Password  => 'some password',                   # if UserLogin is sent then Password is required

         ReplaceExistingData => 0,                       # optional, 0 or 1, default 0
                                                         # this will replace the existing XML data and attachments
         ConfigItemID => 123,

         ConfigItem   => {
             Class     => 'Configuration Item Class',
             Name      => 'The Name',
             DeplState => 'deployment state',
             InciState => 'incident state',
             CIXMLData => $ArrayHashRef,                 # it depends on the Configuration Item class and definition

             Attachment => [
                 {
                     Content     => 'content'            # base64 encoded
                     ContentType => 'some content type'
                     Filename    => 'some fine name'
                 },
                 # ...
             ],
             # or
             #Attachment => {
             #   Content     => 'content'
             #   ContentType => 'some content type'
             #   Filename    => 'some fine name'
             #},
         },
     },
 );

 $Result = {
     Success         => 1,                       # 0 or 1
     ErrorMessage    => '',                      # in case of error
     Data            => {                        # result data payload after Operation
         ConfigItemID => 123,                    # Configuration Item  ID number in OTRS::ITSM (Service desk system)
         Number       => 2324454323322           # Configuration Item  Number in OTRS::ITSM (Service desk system)
         Error => {                              # should not return errors
                 ErrorCode    => 'ConfigItemUpdate.ErrorCode'
                 ErrorMessage => 'Error Description'
         },
     },
 };
Scroll to Top