Lars Vogdt
2014-06-24 09:13:31 +00:00
committed by Git OBS Bridge
commit f4d5a9bb24
7 changed files with 269 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4462becebbeb61be25973a8e65463a5bfcd214d2f8f6e476a4e0d8aa9bf3f196
size 139177

View File

@@ -0,0 +1,127 @@
NAME
RT::Extension::ReferenceIDoitObjects - Create a ticket in relation to one or more i-doit objects
DESCRIPTION
This extension gives you the opportunity to combine an issue tracker like RT with an IT documentation tool / CMDB like i-doit. It uses i-doit's API to relate a ticket with one or more CIs / objects managed by i-doit. On i-doit's side you are able to view all tickets related to an object. This extension also supports i-doit's multi-mandator functionality.
i-doit ("I document IT") is a web-based tool to document complex IT infrastructures. It provides several modules like a ITIL compliant Configuration Management Database (CMDB). More information about i-doit is available under http://www.i-doit.org/. Its core is Free and Open Source Software. Visit http://www.i-doit.com/ for commercial support and additional services. Please note, that i-doit's API (which is essential for this extension) is currently only implemented in the commercial branch.
INSTALLATION ^
This extension requires RT 4.2.x or higher and a running installation of i-doit 1.3 or higher.
Important notice: This version is no longer compatible to Request Tracker version 4.0.x and i-doit version 1.2.x or older! Please use version 0.92 instead if you need compatibility to those older versions.
To install this extension, run the following commands:
$RT_HOME/sbin/rt-setup-database --action insert --datafile /opt/rt4/local/plugins/RT-Extension-ReferenceIDoitObjects/etc/initialdata
Executing the last command creates 2 new custom fields, so please do it only once. These fields contain the i-doit mandator and the referenced objects.
CONFIGURATION
To enable this extension edit the RT site configuration based in $RT_HOME/etc/RT_SiteConfig.pm:
Set(@Plugins,qw(RT::Extension::ReferenceIDoitObjects));
i-doit has a built-in API based on JSON-RPC. To call this API set its URL:
Set($IDoitURL, 'http://example.org/i-doit/');
Set($IDoitAPI, $IDoitURL . '?api=jsonrpc');
Set(%IDoitMandatorKeys, (
'Mandator 1' => 'api key',
'Mandator 2' => 'api key'
));
Set($IDoitDefaultMandator, 1);
Set($IDoitDefaultView, 'objects'); # 'objects', 'workplaces', 'devices', or 'item'
Set($IDoitInstalledSoftware, 'relations'); # 'objects', or 'relations'
Set($IDoitShowCustomFields, 1); # 1 ('yes') or 0 ('no')
$IDoitURL
It's highly recommended to establish an encrypted connection between RT and i-doit over a network, e. g. TLS over HTTP (HTTPS).
$IDoitAPI
Please be aware of browsers' "Same Origin Policy"! This extension uses AJAX requests access i-doit's API. If RT and i-doit are not available under the same domain name (or IP address), AJAX calls will fail.
To avoid this "problem" (actually this policy is very useful) you can setup an AJAX proxy. This extension already provides such a proxy located under etc/. It's written in PHP, so you have to install PHP 5.2 or higher and the PHP extension curl on the same machine where RT is installed. Make this little script available through your web server and edit the script by setting $l_url to the URL of i-doit's API, e. g. http://example.org/i-doit/index.php?api=jsonrpc. In RT's site configuration $IDoitAPI has to be set to this script, e. g. http://rt.example.org/path/to/i-doit_api_proxy.php.
$IDoitMandatorKeys
This is a list of mandators with their API keys. Just put the name and API key of every mandator in i-doit you like to relate to tickets.
$IDoitDefaultMandator
Choose a default mandator for every situation where it's needed. Use its name (or whatever you like) to identify the mandator. This name has be to added to the list of the corresponding custom field as well.
$IDoitDefaultView
When creating or editing a ticket, this extension adds a so-called object browser to the web interface. The browser gives you several views on objects:
objects
Select objects provided by the API and filter them by type.
workplaces
Select users' workplaces and their related sub objects. Each user will be taken by the email address provided by RT's field "Requestors" if these users are documented in i-doit.
i-doit gives you the possiblity to create relations between users, their workplaces and all equipment related to these workplaces.
Tip: You may synchronize user information between OTRS and i-doit via LDAP.
devices
Select assigned devices for current requestor. Those devices are objects in i-doit which have this requestor as an assigend person.
selected
View and remove all selected items.
$IDoitInstalledSoftware
Defines which type of objects will be shown for the installed software. There are two options: "objects" or "relations".
objects
Shows software objects which are assigned to the currently selected object.
relations
Shows the software relation between the object and the assigned software.
$IDoitShowCustomFields
Sometimes it's better to "clean up" the web user interface. Whenever you
only have 1 mandator within i-doit and don't want to edit the object
identifiers manually it's recommended to hide the used custom fields. Select 1
to show them or 0 to hide them.
After all your new configuration will take effect after restarting your RT environment:
rm -rf $RT_HOME/var/mason_data/obj/* && service apache2 restart
This is an example for deleting the mason cache and restarting the Apache HTTP
web server on a Debian GNU/Linux based operating system.
USAGE
Whenever you create a new ticket or edit an existing one you are able to
reference this ticket with one or more objects in i-doit. An additional box
with the so-called "object browser" will shown up. Just select the objects you
need or unselect the objects you don't need.
AUTHORS
Benjamin Heisig, <bheisig@synetics.de>
Leonard Fischer, <lfischer@synetics.de>
Van Quyen Hoang, <qhoang@synetics.de>

View File

@@ -0,0 +1,14 @@
This is a supplement for the RT::Extension::Nagios README file.
rt-setup-database MUST be run from /usr/share/request-tracker
Initialization:
---------------
To be performed in place of 'make initdb' from the README's installation instructions.
1. Change to /usr/share/request-tracker
cd /usr/share/request-tracker
2. Initialize the database
rt-setup-database --action insert --datafile local/plugins/RT-Extension-ReferenceIDoitObjects/etc/initialdata

View File

@@ -0,0 +1,5 @@
-------------------------------------------------------------------
Tue Jun 24 08:57:39 UTC 2014 - lars@linux-schulserver.de
- initial version 0.93

View File

@@ -0,0 +1,96 @@
#
# spec file for package perl-RT-Extension-ReferenceIDoitObjects
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define plug_dir /usr/share/request-tracker/local/plugins
Name: perl-RT-Extension-ReferenceIDoitObjects
Version: 0.93
Release: 0
%define cpan_name RT-Extension-ReferenceIDoitObjects
Summary: Create a ticket in relation to one or more i-doit objects
License: Artistic-1.0 and GPL-2.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/perldoc?%{cpan_name}
Source: http://search.cpan.org/CPAN/authors/id/B/BH/BHEISIG//%{cpan_name}-%{version}.tar.gz
Source1: %{cpan_name}.README.SUSE
Source2: %{cpan_name}.DESCRIPTION
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: request-tracker
#BuildRequires: perl(inc::Module::Install)
#BuildRequires: perl(JSON)
#BuildRequires: perl(LWP::Simple)
#BuildRequires: perl(Module::Build)
#BuildRequires: perl(Module::Install::Base)
#BuildRequires: perl(Parse::CPAN::Meta)
#BuildRequires: perl(RT::Action)
#BuildRequires: perl(YAML::Tiny)
%{perl_requires}
%description
This extension gives you the opportunity to combine an issue tracker like RT
with an IT documentation tool / CMDB like i-doit. It uses i-doit's API to
relate a ticket with one or more CIs / objects managed by i-doit. On i-doit's
side you are able to view all tickets related to an object. This extension also
supports i-doit's multi-mandator functionality.
i-doit ("I document IT") is a web-based tool to document complex IT
infrastructures. It provides several modules like a ITIL compliant
Configuration Management Database (CMDB). More information about i-doit is
available under http://www.i-doit.org/. Its core is Free and Open Source
Software. Visit http://www.i-doit.com/ for commercial support and additional
services. Please note, that i-doit's API (which is essential for this
extension) is currently only implemented in the commercial branch.
%prep
%setup -q -n %{cpan_name}-%{version}
%{__install} -m 0644 %SOURCE1 README.SUSE
%{__install} -m 0644 %SOURCE2 README.DESCRIPTION
%build
%{__perl} Makefile.PL INSTALLDIRS=vendor
%{__make} %{?_smp_mflags}
%check
%{__make} test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%{__install} -m 0755 -d %{buildroot}/%{plug_dir}/%{cpan_name}
%{__cp} -a etc %{buildroot}/%{plug_dir}/%{cpan_name}
# remove special files
find %{buildroot} -name "perllocal.pod" |xargs -i rm -f {}
%clean
%{__rm} -rf %{buildroot}
%files -f %{name}.files
%defattr(-,root,root,755)
%doc Changes README README.SUSE README.DESCRIPTION
%dir %{plug_dir}/%{cpan_name}
%{plug_dir}/%{cpan_name}/etc
%changelog