Skip to content
Python module that allows you to create tasks in Jira by the trigger from Zabbix
Branch: master
Clone or download
OSidorenkov Merge pull request #5 from Seitanas/master
Fixing issue in  get_transition()
Latest commit 905e119 Feb 6, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.gitignore
LICENSE.txt Create LICENSE.txt Jun 3, 2017
README.md
config.py.example Add: search transition to close issue Nov 25, 2017
entry.txt Add feature: creates tickets in Jira with same priority in Zabbix Jun 23, 2017
jirabix.py Fixing issue in get_transition() Feb 6, 2018
requirements.txt

README.md

zabbix-jira

zabbix-jira is python module that allows you to create tasks in Jira with grafs by the trigger from Zabbix.

Requirements:

  • python >= 2.7
  • python libs: requests, jira

Installation:

  1. Copy this repo to your zabbix-server: git clone https://github.com/OSidorenkov/zabbix-jira.git
  2. Copy jirabix.py to your Zabbix AlertScriptsPath directory (see your zabbix_server.conf)
  3. Create and configure config.py near jirabix.py. You can take as an example config.py.example from repo.
  4. Install python libs: pip install -r requirements.txt

Configuration:

  • Create new media type in Zabbix:

2017-06-02 11 33 21

If you use Zabbix 3.0 and higher, add this parameters:

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
  • Add this media to your read user in Zabbix

2017-06-02 11 40 19

Add in "Send to" field jira username (see the profile user in Jira)

  • Configure your Actions:

2017-06-02 11 48 12

Example message:

Last value:{ITEM.VALUE1} ({TIME})
zbx;graphs
zbx;graphs_period=1800
zbx;itemid:{ITEM.ID1}
zbx;triggerid:{TRIGGER.ID}
zbx;title:{HOST.HOST} - {TRIGGER.NAME}
zbx;priority:{TRIGGER.SEVERITY}
Server: {HOSTNAME} ({HOST.IP})

Desc:
{TRIGGER.DESCRIPTION}

2017-06-02 11 48 38

Example recovery message:

Server: {HOSTNAME} ({HOST.IP})
zbx;triggerid:{TRIGGER.ID}
zbx;ok:1

Description:
Problem resolved!

Time of resolved problem: {DATE} {TIME}

Annotations

zbx;graphs -- enables attached graphs
zbx;graphs_period=10800 -- set graphs period (default - 3600 seconds)
zbx;graphs_width=700 -- set graphs width (default - 900px)
zbx;graphs_height=300 -- set graphs height (default - 300px)
zbx;itemid:{ITEM.ID1} -- define itemid (from trigger) for attach
zbx;title:{HOST.HOST} - {TRIGGER.NAME} -- graph title
zbx;triggerid:{TRIGGER.ID} -- define triggerid to link problem and recovery of event
zbx;priority:{TRIGGER.SEVERITY} -- set priority task like as priority of trigger from Zabbix
zbx;ok:1 -- use this parameter only in RECOVERY message, if you don't want create a new task about recovery in Jira

You can use Jira format text in your actions: https://jira.atlassian.com/secure/WikiRendererHelpAction.jspa?section=all

Test script

You can use the following command to create a ticket in Jira from your command line:
python jirabix.py "jira_username" "ticket_subject" "ticket_desc" where

  • jira_username - username from Jira user profile
  • For ticket_subject and ticket_desc you may use "test" "test"
    • If you want to test real text from zabbix action message copy test/entry.txt from repo and change the contents of the file on your real data and change jirabix.py like this:
       2017-06-02 12 18 41
       And run:
      python jirabix.py "jira_username" "ticket_subject

Result

  • See how creates the ticket with graf from Zabbix:

2017-06-02 12_31_18

  • When problem is going to OK, script convert the ticket to "Done" status with comment from zabbix recovery message:

2017-06-02 12_44_41

You can’t perform that action at this time.