pagerduty_alert
Trigger, acknowledge or resolve PagerDuty incidents
Collection: community.general
Full Name: community.general.pagerduty_alert
Synopsis
Trigger, acknowledge or resolve PagerDuty incidents
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| api_key | string | The pagerduty API key (readonly access), generated on the pagerduty site. Required if O(api_version=v1). | ||
| api_version | string | v1 | The API version we want to use to run the module. V1 is more limited with option we can provide to trigger incident. V2 has more variables for example, O(severity), O(source), O(custom_details) and so on. | |
| client | string | The name of the monitoring client that is triggering this event. | ||
| client_url | string | The URL of the monitoring client that is triggering this event. | ||
| component | string | Component of the source machine that is responsible for the event, for example C(mysql) or C(eth0). | ||
| custom_details | dict | Additional details about the event and affected system. A dictionary with custom keys and values. | ||
| desc | string | Created via Ansible | For O(state=triggered) - Required. Short description of the problem that led to this trigger. This field (or a truncated version) is used when generating phone calls, SMS messages and alert emails. It also appears on the incidents tables in the PagerDuty UI. The maximum length is 1024 characters. For O(state=acknowledged) or O(state=resolved) - Text that appears in the incident’s log associated with this event. | |
| incident_class | string | The class/type of the event, for example C(ping failure) or C(cpu load). | ||
| incident_key | string | Identifies the incident to which this O(state) should be applied. For O(state=triggered) - If there is no open (in other words unresolved) incident with this key, a new one is created. If there is already an open incident with a matching key, this event is appended to that incident’s log. The event key provides an easy way to ‘de-dup’ problem reports. If no O(incident_key) is provided, then it is generated by PagerDuty. For O(state=acknowledged) or O(state=resolved) - This should be the incident_key you received back when the incident was first opened by a trigger event. Acknowledge events referencing resolved or nonexistent incidents is discarded. | ||
| integration_key | string | The GUID of one of your ‘Generic API’ services. This is the ‘integration key’ listed on a ‘Integrations’ tab of PagerDuty service. | ||
| link_text | string | A short description of the O(link_url). | ||
| link_url | string | Relevant link URL to the alert. For example, the website or the job link. | ||
| name | string | PagerDuty unique subdomain. Obsolete. It is not used with PagerDuty REST v2 API. | ||
| service_id | string | ID of PagerDuty service when incidents are triggered, acknowledged or resolved. Required if O(api_version=v1). | ||
| service_key | string | The GUID of one of your ‘Generic API’ services. Obsolete. Please use O(integration_key). | ||
| severity | string | critical | The perceived severity of the status the event is describing with respect to the affected system. Required in case of O(state=trigger) and O(api_version=v2). | |
| source | string | The unique location of the affected system, preferably a hostname or FQDN. Required in case of O(state=trigger) and O(api_version=v2). | ||
| state | string | yes | Type of event to be sent. |
Example
yaml
- name: Trigger an incident with just the basic options
community.general.pagerduty_alert:
name: companyabc
integration_key: xxx
api_key: yourapikey
service_id: PDservice
state: triggered
desc: problem that led to this trigger
- name: Trigger an incident with more options
community.general.pagerduty_alert:
integration_key: xxx
api_key: yourapikey
service_id: PDservice
state: triggered
desc: problem that led to this trigger
incident_key: somekey
client: Sample Monitoring Service
client_url: http://service.example.com
- name: Acknowledge an incident based on incident_key
community.general.pagerduty_alert:
integration_key: xxx
api_key: yourapikey
service_id: PDservice
state: acknowledged
incident_key: somekey
desc: "some text for incident's log"
- name: Resolve an incident based on incident_key
community.general.pagerduty_alert:
integration_key: xxx
api_key: yourapikey
service_id: PDservice
state: resolved
incident_key: somekey
desc: "some text for incident's log"
- name: Trigger an v2 incident with just the basic options
community.general.pagerduty_alert:
integration_key: xxx
api_version: v2
source: My Ansible Script
state: triggered
desc: problem that led to this trigger
- name: Trigger an v2 incident with more options
community.general.pagerduty_alert:
integration_key: xxx
api_version: v2
source: My Ansible Script
state: triggered
desc: problem that led to this trigger
incident_key: somekey
client: Sample Monitoring Service
client_url: http://service.example.com
component: mysql
incident_class: ping failure
link_url: https://pagerduty.com
link_text: PagerDuty
- name: Acknowledge an incident based on incident_key using v2
community.general.pagerduty_alert:
api_version: v2
integration_key: xxx
incident_key: somekey
state: acknowledged
- name: Resolve an incident based on incident_key
community.general.pagerduty_alert:
api_version: v2
integration_key: xxx
incident_key: somekey
state: resolved