ITSMのOTRSチケットシステム5を使用しています。チケット、アタッチメントをGeneric Interface(REST)で選択、更新、削除することができます。OTRSレストのチケットの設定項目
私の問題:レストインターフェイスでは、リンクされた構成アイテム(PCなど)ではなく、チケットデータのみが表示されます。私は、LinkObjectのコネクターを追加しなければならないことがわかります私のPerlプログラミングのスキルは、自分でそれを構築するのに十分ではありません、誰かが私に機能的な解決策を得る方法を教えてくれますか?検索と試みるの2週間後、私は、誰かが過去に問題を解決している願っています:)
ここでは内部サーバーエラーを生成している私の私のPerlモジュール(LinkAddの例はHow to Link/Get Config Item to an Ticket through Webservice (SOAP or REST) in OTRSからです):
の下で/Custom/Kernel/GenericInterface/Operation/LinkObject/LinkList.pm
# --
# Kernel/GenericInterface/Operation/LinkObject/LinkAdd.pm - GenericInterface LinkAdd operation backend
# Copyright (C) 2016 ArtyCo (Artjoms Petrovs), http://artjoms.lv/
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (AGPL). If you
# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
# --
package Kernel::GenericInterface::Operation::LinkObject::LinkList;
use strict;
use warnings;
use Kernel::GenericInterface::Operation::Common;
use Kernel::System::LinkObject;
use Kernel::System::VariableCheck qw(IsStringWithData IsHashRefWithData);
=head1 NAME
Kernel::GenericInterface::Operation::LinkObject::LinkList - GenericInterface Link List Operation backend
=head1 SYNOPSIS
=head1 PUBLIC INTERFACE
=over 4
=cut
=item new()
usually, you want to create an instance of this
by using Kernel::GenericInterface::Operation->new();
=cut
sub new {
my ($Type, %Param) = @_;
my $Self = {};
bless($Self, $Type);
# check needed objects
for my $Needed (
qw(DebuggerObject WebserviceID)
)
{
if (!$Param{$Needed}) {
return {
Success => 0,
ErrorMessage => "Got no $Needed!"
};
}
$Self->{$Needed} = $Param{$Needed};
}
# create additional objects
$Self->{CommonObject} = Kernel::GenericInterface::Operation::Common->new(%{$Self});
$Self->{LinkObject}
= $Kernel::OM->Get('Kernel::System::LinkObject');
return $Self;
}
=item Run()
Create a new link.
my $Result = $OperationObject->Run(
Data => {
SourceObject => 'Ticket',
SourceKey => '321',
TargetObject => 'Ticket',
TargetKey => '12345',
Type => 'ParentChild',
State => 'Valid',
UserID => 1,
},
);
$Result = {
Success => 1, # 0 or 1
ErrorMessage => '', # In case of an error
Data => {
Result => 1, # 0 or 1
},
};
=cut
sub Run {
my ($Self, %Param) = @_;
# check needed stuff
if (!IsHashRefWithData($Param{Data})) {
return $Self->{CommonObject}->ReturnError(
ErrorCode => 'LinkList.MissingParameter',
ErrorMessage => "LinkList: The request is empty!",
);
}
my $LinkID = $Self->{LinkObject}->LinkList(
%Param,
);
if (!$LinkID) {
return $Self->{CommonObject}->ReturnError(
ErrorCode => 'LinkList.AuthFail',
ErrorMessage => "LinkList: Authorization failing!",
);
}
return {
Success => 1,
Data => {
Result => $LinkID,
},
};
}
1;
=back
=head1 TERMS AND CONDITIONS
This software is part of the OTRS project (L<http://otrs.org/>).
This software comes with ABSOLUTELY NO WARRANTY. For details, see
the enclosed file COPYING for license information (AGPL). If you
did not receive this file, see L<http://www.gnu.org/licenses/agpl.txt>.
=cut
あなたは、少なくともあなたの現在のPerlコードか、少なくとも盗んかのサンプルを表示する必要がありますチケットデータ。どのperlモジュールを使用していますか? –
コードが追加されました。 – Sienael