NAME
OTRS::Repository - parse OTRS repositories' otrs.xml files to search for add ons
VERSION
version 0.08
SYNOPSIS
use OTRS::Repository;
my $repo = OTRS::Repository->new(
sources => [qw!
http://opar.perl-services.de/otrs.xml
http://ftp.otrs.org/pub/otrs/packages/otrs.xml
http://ftp.otrs.org/pub/otrs/itsm/packages33/otrs.xml
!],
);
my ($url) = $repo->find(
name => 'ITSMCore',
otrs => '3.3',
);
print $url;
METHODS
new
new
has only one mandatory parameter: sources. This has to be an array reference of URLs for repositories' otrs.xml files.
my $repo = OTRS::Repository->new(
sources => [qw!
http://opar.perl-services.de/otrs.xml
http://ftp.otrs.org/pub/otrs/packages/otrs.xml
http://ftp.otrs.org/pub/otrs/itsm/packages33/otrs.xml
!],
);
find
Search for an add on for a given OTRS version in those repositories. It returns a list of urls if the add on was found, undef
otherwise.
my @urls = $repo->find(
name => 'ITSMCore',
otrs => '3.3',
);
Find a specific version
my @urls = $repo->find(
name => 'ITSMCore',
otrs => '3.3',
version => '1.4.8',
);
list
List all addons found in the repositories
my @addons = $repo->list;
say $_ for @addons;
You can also define the OTRS version
my @addons = $repo->list( otrs => '5.0.x' );
say $_ for @addons;
Both snippets print a simple list of addon names. If you want to to create a list with more information, you can use
my @addons = $repo->list(
otrs => '5.0.x',
details => 1,
);
say sprintf "%s (%s) on %s\n", $_->{name}, $_->{version}, $_->{url} for @addons;
AUTHOR
Renee Baecker <github@renee-baecker.de>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2017 by Renee Baecker.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)