All Projects → prometheus-community → Jiralert

prometheus-community / Jiralert

Licence: apache-2.0
JIRA integration for Prometheus Alertmanager

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to Jiralert

Ox Jira.el
Org-mode export backend for JIRA markup
Stars: ✭ 88 (-51.65%)
Mutual labels:  jira
Mirrorgate
MirrorGate DevOps Dashboard
Stars: ✭ 117 (-35.71%)
Mutual labels:  jira
Jira Plugin
Jenkins jira plugin
Stars: ✭ 150 (-17.58%)
Mutual labels:  jira
Actionview
An issue tracking tool based on laravel+reactjs for small and medium-sized enterprises, open-source and free, similar to Jira.
Stars: ✭ 1,357 (+645.6%)
Mutual labels:  jira
Jira Prometheus Exporter
Prometheus Exporter For JIRA
Stars: ✭ 113 (-37.91%)
Mutual labels:  jira
Jira Azuredevops Migrator
Tool to migrate work items from Atlassian Jira to Microsoft Azure DevOps/VSTS/TFS.
Stars: ✭ 120 (-34.07%)
Mutual labels:  jira
Metasearch
Search aggregator for Slack, Google Docs, GitHub, and more 🔍
Stars: ✭ 81 (-55.49%)
Mutual labels:  jira
Jira Scan
CVE-2017-9506 - SSRF
Stars: ✭ 159 (-12.64%)
Mutual labels:  jira
Git Chglog
CHANGELOG generator implemented in Go (Golang).
Stars: ✭ 1,895 (+941.21%)
Mutual labels:  jira
Jiracli
Simple command line interface for Jira
Stars: ✭ 145 (-20.33%)
Mutual labels:  jira
Jirafs
Edit your Jira tickets using locally-stored text files in a git/hg-inspired way
Stars: ✭ 100 (-45.05%)
Mutual labels:  jira
Jira Vim
A vim plugin to access your Jira workspace directly from Vim
Stars: ✭ 113 (-37.91%)
Mutual labels:  jira
Review Reporter
Bot for reporting Google Play Reviews on Slack with possibility to fast reply and creating Jira issues from low rating reviews.
Stars: ✭ 135 (-25.82%)
Mutual labels:  jira
Jira
Python JIRA Library is the easiest way to automate JIRA. Support for py27 was dropped on 2019-10-14, do not raise bugs related to it.
Stars: ✭ 1,321 (+625.82%)
Mutual labels:  jira
Metrogit
A git visualization tool that's more than just git
Stars: ✭ 152 (-16.48%)
Mutual labels:  jira
Jira Steps Plugin
Jenkins pipeline steps for integration with JIRA.
Stars: ✭ 88 (-51.65%)
Mutual labels:  jira
Git Changelog Lib
Library for parsing and generating a changelog, or releasenotes, from a GIT repository
Stars: ✭ 117 (-35.71%)
Mutual labels:  jira
Jira Cli
A jira user friendly command line client
Stars: ✭ 167 (-8.24%)
Mutual labels:  jira
Openmrs Contrib Android Client
Android client for OpenMRS
Stars: ✭ 157 (-13.74%)
Mutual labels:  jira
Chyle
Changelog generator : use a git repository and various data sources and publish the result on external services
Stars: ✭ 137 (-24.73%)
Mutual labels:  jira

JIRAlert

Build Status Go Report Card GoDoc Slack

Prometheus Alertmanager webhook receiver for JIRA.

Overview

JIRAlert implements Alertmanager's webhook HTTP API and connects to one or more JIRA instances to create highly configurable JIRA issues. One issue is created per distinct group key — as defined by the group_by parameter of Alertmanager's route configuration section — but not closed when the alert is resolved. The expectation is that a human will look at the issue, take any necessary action, then close it. If no human interaction is necessary then it should probably not alert in the first place.

If a corresponding JIRA issue already exists but is resolved, it is reopened. A JIRA transition must exist between the resolved state and the reopened state — as defined by reopen_state — or reopening will fail. Optionally a "won't fix" resolution — defined by wont_fix_resolution — may be defined: a JIRA issue with this resolution will not be reopened by JIRAlert.

Usage

Get JIRAlert, either as a packaged release or build it yourself:

$ go get github.com/prometheus-community/jiralert/cmd/jiralert

then run it from the command line:

$ jiralert

Use the -help flag to get help information.

$ jiralert -help
Usage of jiralert:
  -config string
      The JIRAlert configuration file (default "config/jiralert.yml")
  -listen-address string
      The address to listen on for HTTP requests. (default ":9097")
  [...]

Testing

JIRAlert expects a JSON object from Alertmanager. The format of this JSON is described in the Alertmanager documentation or, alternatively, in the Alertmanager GoDoc.

To quickly test if JIRAlert is working you can run:

$ curl -H "Content-type: application/json" -X POST \
  -d '{"receiver": "jira-ab", "status": "firing", "alerts": [{"status": "firing", "labels": {"alertname": "TestAlert", "key": "value"} }], "groupLabels": {"alertname": "TestAlert"}}' \
  http://localhost:9097/alert

Configuration

The configuration file is essentially a list of receivers matching 1-to-1 all Alertmanager receivers using JIRAlert; plus defaults (in the form of a partially defined receiver); and a pointer to the template file.

Each receiver must have a unique name (matching the Alertmanager receiver name), JIRA API access fields (URL, username and password), a handful of required issue fields (such as the JIRA project and issue summary), some optional issue fields (e.g. priority) and a fields map for other (standard or custom) JIRA fields. Most of these may use Go templating to generate the actual field values based on the contents of the Alertmanager notification. The exact same data structures and functions as those defined in the Alertmanager template reference are available in JIRAlert.

Alertmanager configuration

To enable Alertmanager to talk to JIRAlert you need to configure a webhook in Alertmanager. You can do that by adding a webhook receiver to your Alertmanager configuration.

receivers:
- name: 'jira-ab'
  webhook_configs:
  - url: 'http://localhost:9097/alert'
    # JIRAlert ignores resolved alerts, avoid unnecessary noise
    send_resolved: false

Profiling

JIRAlert imports net/http/pprof to expose runtime profiling data on the /debug/pprof endpoint. For example, to use the pprof tool to look at a 30-second CPU profile:

go tool pprof http://localhost:9097/debug/pprof/profile

To enable mutex and block profiling (i.e. /debug/pprof/mutex and /debug/pprof/block) run JIRAlert with the DEBUG environment variable set:

env DEBUG=1 ./jiralert

Community

Jiralert is an open source project and we welcome new contributors and members of the community. Here are ways to get in touch with the community:

License

JIRAlert is licensed under the MIT License.

Copyright (c) 2017, Alin Sinpalean

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].