Creates or updates a ticket on JIRA from Zabbix alarms
zabbix2jira is a simple command line program that receives an action from Zabbix (or any other script) and creates (or updates) a ticket on a project inside a JIRA installation.
You can use pip
to install or upgrade this utility:
pip install zabbix2jira
Use the following command under the program directory:
$ pip install -e .
We recommend using virtualenv to setup a self-contained app directory. In this case, you should use:
$ virtualenv env $ source env/bin/activate $ pip install -e .
If you want to see which libraries this application uses, please check the
requirements.txt
file.
Default paths:
- Configuration: /etc/zabbix2jira.cfg
- Log: /var/log/zabbix2jira.log
- Cache Directory: /var/cache/zabbix2jira
To run it, activate virtualenv first:
$ source env/bin/activate $ zabbix2jira -h
The command itself uses some default configuration, but you will want to configure a file to configure your jira url, username and password.
Simply copy the sample-config.cfg
file to the default configuration
path (/etc/zabbix/zabbix2jira.cfg) or copy to any location and use the
-c
parameter at the CLI call.
The file itself is self-explanatory.
Create an action that calls the script with the proper variables.
We create a action named zabbix2jira
with the conditions:
- A Maintenance status not in maintenance
- B Trigger value = PROBLEM
- C Trigger value = OK
And with calculation: A and (B or C)
. Pay attention to the
(B or C)
because we want to run the action both on alarm and recovery.
Note: this changed on Zabbix 3.2. You can skip and B and C conditions because on this version, problem and recovery operations are separate.
Then on the Operations Tab, create a step that executes a Custom script
on the Zabbix Server with the following commands:
zabbix2jira -v -i {EVENT.ID} PROJECT {TRIGGER.STATUS} "[Zabbix Alert] {HOSTNAME} - {TRIGGER.NAME}" "Alert Details"
You can also use the script as a user media and send a message to it.
Note that if using a virtualenv setup, activate it before the previous command:
source /opt/z2d/env/bin/activate
Here are some examples for running zabbix2jira.
Create an issue with component Alert
:
zabbix2jira -v -p Alert PROJECT PROBLEM "[Zabbix Alert] PROBLEM" "Alert Details"
With the zabbix backend enabled, track the event id (123) to acknowledge it:
zabbix2jira -v -i 123 PROJECT PROBLEM "[Zabbix Alert] PROBLEM" "Alert Details"
Recover the previous issue:
zabbix2jira -v -i 123 PROJECT OK "[Zabbix Alert] PROBLEM "Alert Details"
Create an issue with type Bug
:
zabbix2jira -v -t Bug PROJECT PROBLEM "[Zabbix Alert] PROBLEM" "Alert Details"
Under the contrib
directory you can find a wrapper to use this as a user
media type instead of remote command operation.