Hello Stefan,

indeed, I considered this method but didn't know how to bypass OTRS 
authentication. We use standard otrs database authentication.

Please let me know if you have any hack or idea.

Thanks

Marco


Hallo Marco,

I know this is maybe a bit overdone, but why not simply download your quoted URL
via e.g. lynx (Linux/UNIX) or wget (Windows) ? I use this technique for some 
workarounds
of this kind. As you did not state how you authenticate to the server, I do not 
know
whether this will work out for you, but it is worth a try.

Best regards


Stefan



-------- Original Message --------
Subject: [dev] Call a GenericAgent-Job from within another Perl-Script 
(06-Feb-2007 18:44)
From:    Marco Friebe <[EMAIL PROTECTED]>
To:      stefan

> Hello,
>
> I want to call a GenericAgent-Job from within another Perl-Script. I want
> do do some work in the otrs database (Oracle) and then call that Agent-Job
> subsequently.
>
> Like it is done for manual job invocation using URL "http://localhost/otrs/
> index.pl?Action=AdminGenericAgent&Subaction=RunNow&Profile=Test" but called
> from commandline (Cron).
>
>
> Since I'm a very novize regarding Perl I would be grateful if someone could
> point me in the right direction. Maybe this problem has already been solved.
>
>
>
>
> Snip*****
>
> use Kernel::Modules::AdminGenericAgent; (presupposed I'm in /opt/otrs)
>
> %ParamList = ("Subaction" => "RunNow", "Profile" => "Test");
> Kernel::Modules::AdminGenericAgent::Run(%ParamList);
>
> Snap*****
>
>
> I saw there is a constructor which needs to be called at first, but no idea
> how to do this correctly.
>
>
> And here an extract of AdminGenericAgent.pm
>
>
> Snip*****
>
> sub new {
>     my $Type = shift;
>     my %Param = @_;
>
>     # allocate new hash for object
>     my $Self = {};
>     bless ($Self, $Type);
>
>     foreach (keys %Param) {
>         $Self->{$_} = $Param{$_};
>     }
>
>     # check needed Opjects
>     foreach (qw(ParamObject DBObject TicketObject LayoutObject LogObject
> ConfigObject)) {
>         if (!$Self->{$_}) {
>             $Self->{LayoutObject}->FatalError(Message => "Got no $_!");
>         }
>     }
>
>     $Self->{PriorityObject} = Kernel::System::Priority->new(%Param);
>     $Self->{StateObject} = Kernel::System::State->new(%Param);
>     $Self->{LockObject} = Kernel::System::Lock->new(%Param);
>     $Self->{GenericAgentObject} = Kernel::System::GenericAgent->new(%Param);
>
>
>     return $Self;
> }
> # --
> sub Run {
>     my $Self = shift;
>     my %Param = @_;
>     my $Output;
>     # get confid data
>     $Self->{StartHit} = $Self->{ParamObject}->GetParam(Param => 'StartHit')
> || 1;
>     $Self->{SearchLimit} = $Self->{ConfigObject}->Get('SearchLimit') || 500;
>
>     $Self->{SortBy} = $Self->{ParamObject}->GetParam(Param => 'SortBy') || '
> Age';
>     $Self->{Order} = $Self->{ParamObject}->GetParam(Param => 'Order') || '
> Down';
>     $Self->{Profile} = $Self->{ParamObject}->GetParam(Param => 'Profile') ||
>  '';
>     $Self->{SaveProfile} = 1;
>     $Self->{TakeLastSearch} = $Self->{ParamObject}->GetParam(Param => '
> TakeLastSearch') || '';
>     $Self->{SelectTemplate} = $Self->{ParamObject}->GetParam(Param => '
> SelectTemplate') || '';
>     $Self->{EraseTemplate} = $Self->{ParamObject}->GetParam(Param => '
> EraseTemplate') || '';
>     # get db job data
>     my %DBParam = $Self->{GenericAgentObject}->JobGet(Name => $Self->{
> Profile}) if ($Self->{Profile});
>
>     # run job now
>     if ($Self->{Subaction} eq 'RunNow' && %DBParam) {
>         $Self->{GenericAgentObject}->JobRun(
>             Job => $Self->{Profile},
>             UserID => 1,
>         );
>         # redirect
>         return $Self->{LayoutObject}->Redirect(
>             OP => "Action=$Self->{Action}",
>         );
>     }
>
>     # create new job
>     if ($Self->{Subaction} eq 'Add' && $Self->{Profile}) {
>         # insert new profile params
>         $Self->{GenericAgentObject}->JobAdd(
>             Name => $Self->{Profile},
>             Data => {
>                 ScheduleLastRun => '',
>             },
>         );
>         # redirect
>         return $Self->{LayoutObject}->Redirect(
>             OP => "Action=$Self->{Action}&Subaction=LoadProfile&Profile=$
> Self->{Profile}",
>         );
>     }
>
>
> Snap*****
>
>
> Thanks a lot.
>
> Greetings
>
> Marco
>
>
> _______________________________________________
> OTRS mailing list: dev - Webpage: http://otrs.org/
> Archive: http://lists.otrs.org/pipermail/dev
> To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev


_______________________________________________
OTRS mailing list: dev - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/dev
To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev


_______________________________________________
OTRS mailing list: dev - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/dev
To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev

Reply via email to