{"id":13606696,"url":"https://github.com/prometheus-community/jiralert","last_synced_at":"2025-04-13T06:16:54.737Z","repository":{"id":37896285,"uuid":"108122054","full_name":"prometheus-community/jiralert","owner":"prometheus-community","description":"JIRA integration for Prometheus Alertmanager","archived":false,"fork":false,"pushed_at":"2025-04-11T08:13:41.000Z","size":462,"stargazers_count":344,"open_issues_count":72,"forks_count":137,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-04-13T06:16:28.519Z","etag":null,"topics":["alertmanager","jira"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prometheus-community.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-24T12:14:37.000Z","updated_at":"2025-04-11T08:13:46.000Z","dependencies_parsed_at":"2024-01-14T06:22:41.290Z","dependency_job_id":"14dbed4d-cadd-4ef1-bdbf-b49ef5508930","html_url":"https://github.com/prometheus-community/jiralert","commit_stats":{"total_commits":81,"total_committers":27,"mean_commits":3.0,"dds":0.6296296296296297,"last_synced_commit":"d43cbab62126d543e8e789f6374d9e745693cce2"},"previous_names":["alin-sinpalean/jiralert","free/jiralert"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prometheus-community%2Fjiralert","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prometheus-community%2Fjiralert/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prometheus-community%2Fjiralert/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prometheus-community%2Fjiralert/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prometheus-community","download_url":"https://codeload.github.com/prometheus-community/jiralert/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248670438,"owners_count":21142905,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alertmanager","jira"],"created_at":"2024-08-01T19:01:11.560Z","updated_at":"2025-04-13T06:16:54.706Z","avatar_url":"https://github.com/prometheus-community.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# JIRAlert\n[![Build Status](https://github.com/prometheus-community/jiralert/workflows/test/badge.svg?branch=master)](https://github.com/prometheus-community/jiralert/actions?query=workflow%3Atest) \n[![Go Report Card](https://goreportcard.com/badge/github.com/prometheus-community/jiralert)](https://goreportcard.com/report/github.com/prometheus-community/jiralert) \n[![GoDoc](https://godoc.org/github.com/prometheus-community/jiralert?status.svg)](https://godoc.org/github.com/prometheus-community/jiralert)\n[![Slack](https://img.shields.io/badge/join%20slack-%23jiralert-brightgreen.svg)](https://slack.cncf.io/)\n[Prometheus Alertmanager](https://github.com/prometheus/alertmanager) webhook receiver for [JIRA](https://www.atlassian.com/software/jira).\n\n## Overview\n\nJIRAlert 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`](https://prometheus.io/docs/alerting/configuration/#\u003croute\u003e) 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. This behavior however can be modified by setting `auto_resolve` section, which will resolve the jira issue with required state.\n\nIf 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.\n\n## Usage\n\nGet JIRAlert, either as a [packaged release](https://github.com/prometheus-community/jiralert/releases) or build it yourself:\n\n```\n$ go get github.com/prometheus-community/jiralert/cmd/jiralert\n```\n\nthen run it from the command line:\n\n```\n$ jiralert\n```\n\nUse the `-help` flag to get help information.\n\n```\n$ jiralert -help\nUsage of jiralert:\n  -config string\n      The JIRAlert configuration file (default \"config/jiralert.yml\")\n  -listen-address string\n      The address to listen on for HTTP requests. (default \":9097\")\n  [...]\n```\n\n## Testing\n\nJIRAlert expects a JSON object from Alertmanager. The format of this JSON is described in the [Alertmanager documentation](https://prometheus.io/docs/alerting/configuration/#\u003cwebhook_config\u003e) or, alternatively, in the [Alertmanager GoDoc](https://godoc.org/github.com/prometheus/alertmanager/template#Data).\n\nTo quickly test if JIRAlert is working you can run:\n\n```bash\n$ curl -H \"Content-type: application/json\" -X POST \\\n  -d '{\"receiver\": \"jira-ab\", \"status\": \"firing\", \"alerts\": [{\"status\": \"firing\", \"labels\": {\"alertname\": \"TestAlert\", \"key\": \"value\"} }], \"groupLabels\": {\"alertname\": \"TestAlert\"}}' \\\n  http://localhost:9097/alert\n```\n\n## Configuration\n\nThe 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.\n\nEach 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](https://golang.org/pkg/text/template/) 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](https://prometheus.io/docs/alerting/notifications/) are available in JIRAlert.\n\n## Alertmanager configuration\n\nTo 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. \n\n```yaml\nreceivers:\n- name: 'jira-ab'\n  webhook_configs:\n  - url: 'http://localhost:9097/alert'\n    # JIRAlert ignores resolved alerts, avoid unnecessary noise\n    send_resolved: false\n```\n\n## Profiling\n\nJIRAlert imports [`net/http/pprof`](https://golang.org/pkg/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:\n\n```bash\ngo tool pprof http://localhost:9097/debug/pprof/profile\n```\n\nTo enable mutex and block profiling (i.e. `/debug/pprof/mutex` and `/debug/pprof/block`) run JIRAlert with the `DEBUG` environment variable set:\n\n```bash\nenv DEBUG=1 ./jiralert\n```\n\n## Community\n\n*Jiralert* is an open source project and we welcome new contributors and members \nof the community. Here are ways to get in touch with the community:\n\n* Issue Tracker: [GitHub Issues](https://github.com/prometheus-community/jiralert/issues)\n\n## License\n\nJIRAlert is licensed under the [MIT License](https://github.com/prometheus-community/jiralert/blob/master/LICENSE).\n\nCopyright (c) 2017, Alin Sinpalean\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprometheus-community%2Fjiralert","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprometheus-community%2Fjiralert","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprometheus-community%2Fjiralert/lists"}