Kernel::GenericInterface::Operation::ConfigItem::ConfigItemCreate

NAME

Kernel::GenericInterface::Operation::ConfigItem::ConfigItemCreate – GenericInterface ConfigItem ConfigItemCreate Operation backend

PUBLIC INTERFACE

has OperationSubType

Attribute that holds the operation sub type.

around _BuildConfig()

Overwrites the builder method _BuildConfig (has Config), to set a default value.

OperationName()

Returns the name of the operation.

Run()

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'
            },
        },
    };

INTERNAL INTERFACE

_CleanXMLData()

removed trailing and leading white spaces in the XMLData.

    my $XMLDataClean = $OperationObject->_CleanXMLData(
        Definition => $DefinitionArrayRef,          # Configuration Item Definition ot just part of it
        XMLData    => $XMLDataHashRef,
    );

    returns:

    $XMLDataClean = {
        Success => 1,                               # if everything is OK
    }

    $XMLDataClean = {
        ErrorCode    => 'Function.Error',           # if error
        ErrorMessage => 'Error description',
    }

_CheckConfigItem()

checks if the given config item parameters are valid.

    my $ConfigItemCheck = $OperationObject->_CheckConfigItem(
        ConfigItem => $ConfigItem,                  # all config item parameters
    );

    returns:

    $ConfigItemCheck = {
        Success => 1,                               # if everything is OK
    }

    $ConfigItemCheck = {
        ErrorCode    => 'Function.Error',           # if error
        ErrorMessage => 'Error description',
    }

_ConfigItemCreate()

creates a configuration item with attachments if specified.

    my $Response = $OperationObject->_ConfigItemCreate(
        ConfigItem     => $ConfigItem,             # all configuration item parameters
        AttachmentList => $Attachment,             # a list of all attachments
        UserID         => 123,
    );

    returns:

    $Response = {
        Success => 1,                               # if everething is OK
        Data => {
            ConfigItemID => 123,
            ConfigItemNumber => 'CN123',
        }
    }

    $Response = {
        Success      => 0,                         # if unexpected error
        ErrorMessage => "$Param{ErrorCode}: $Param{ErrorMessage}",
    }
Scroll to Top