Label and annotate issues using GFM in alerts from external Prometheus instances
### Problem to solve Triaging of incidents takes time away from fire-fighting and can extend the resolution process of a single incident. We enable our users to be proactive by labelling incidents and inserting annotations automatically using GFM on incoming alert attributes. This lets them organize and categorize incidents automatically, minimizing time spent trying to figure who's board it needs to show up on. <!-- What problem do we solve? --> ### Intended users [Sasha the Software Developer](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sasha-software-developer) [Devon the DevOps Engineer](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#devon-devops-engineer) [Sidney the Systems Administrator](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sidney-systems-administrator) <!-- Who will use this feature? If known, include any of the following: types of users (e.g. Developer), personas, or specific company roles (e.g. Release Manager). It's okay to write "Unknown" and fill this field in later. Personas can be found at https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/ --> ### Further details This work contributes to the [Incident Management Vision](https://about.gitlab.com/direction/monitor/debugging_and_health/incident_management/) <!-- Include use cases, benefits, and/or goals (contributes to our vision?) --> ### Proposal In the following proposal, the term `gitlab_alert_template` is used. This is simply for explanation purposes and we collaborate on the best name for this annotation. ##### User Journey 1. User reads documentation on how to use `gitlab_alert_template` and configures an alert in Prometheus utilizing this attribute. They add a block of text and some quick actions. 1. User creates a new issue template in GitLab and calls it `Incident`. 1. User selects the `Incident` issue template in **Operations Settings** so that when the Alert Bot creates issues automatically for alerts, these issues use the `Incident` issue template 1. Alerts start coming in and issues are automatically created. These issues display: * `gitlab_alert_template` annotation * bulleted list of other attributes * content User configured in the `Incident` issues template ##### Implementation Steps 1. We update code to expect the `gitlab_alert_template` annotation and insert it at the top of whatever issue template the user selects for Incident management. 1. We update the docs explaining to the user how to configure this annotation in Prometheus <!-- How are we going to solve the problem? Try to include the user journey! https://about.gitlab.com/handbook/journeys/#user-journey --> ### What does success look like, and how can we measure that? * % of issues created where `gitlab_alert_template` != NULL by instance using Prometheus alerting <!-- Define both the success metrics and acceptance criteria. Note that success metrics indicate the desired business outcomes, while acceptance criteria indicate when the solution is working correctly. If there is no way to measure success, link to an issue that will implement a way to measure this. --> ### Links / references
issue