| :py:mod:`airflow.providers.pagerduty.hooks.pagerduty` |
| ===================================================== |
| |
| .. py:module:: airflow.providers.pagerduty.hooks.pagerduty |
| |
| .. autoapi-nested-parse:: |
| |
| Hook for sending or receiving data from PagerDuty as well as creating PagerDuty incidents. |
| |
| |
| |
| Module Contents |
| --------------- |
| |
| Classes |
| ~~~~~~~ |
| |
| .. autoapisummary:: |
| |
| airflow.providers.pagerduty.hooks.pagerduty.PagerdutyHook |
| |
| |
| |
| |
| .. py:class:: PagerdutyHook(token = None, pagerduty_conn_id = None) |
| |
| Bases: :py:obj:`airflow.hooks.base.BaseHook` |
| |
| The PagerdutyHook can be used to interact with both the PagerDuty API and the PagerDuty Events API. |
| |
| Takes both PagerDuty API token directly and connection that has PagerDuty API token. |
| If both supplied, PagerDuty API token will be used. |
| In these cases, the PagerDuty API token refers to an account token: |
| https://support.pagerduty.com/docs/generating-api-keys#generating-a-general-access-rest-api-key |
| https://support.pagerduty.com/docs/generating-api-keys#generating-a-personal-rest-api-key |
| |
| In order to send events (with the Pagerduty Events API), you will also need to specify the |
| routing_key (or Integration key) in the ``extra`` field |
| |
| :param token: PagerDuty API token |
| :param pagerduty_conn_id: connection that has PagerDuty API token in the password field |
| |
| .. py:attribute:: conn_name_attr |
| :annotation: = pagerduty_conn_id |
| |
| |
| |
| .. py:attribute:: default_conn_name |
| :annotation: = pagerduty_default |
| |
| |
| |
| .. py:attribute:: conn_type |
| :annotation: = pagerduty |
| |
| |
| |
| .. py:attribute:: hook_name |
| :annotation: = Pagerduty |
| |
| |
| |
| .. py:method:: get_ui_field_behaviour() |
| :staticmethod: |
| |
| Returns custom field behaviour |
| |
| |
| .. py:method:: get_session(self) |
| |
| Returns `pdpyras.APISession` for use with sending or receiving data through the PagerDuty REST API. |
| |
| The `pdpyras` library supplies a class `pdpyras.APISession` extending `requests.Session` from the |
| Requests HTTP library. |
| |
| Documentation on how to use the `APISession` class can be found at: |
| https://pagerduty.github.io/pdpyras/#data-access-abstraction |
| |
| |
| .. py:method:: create_event(self, summary, severity, source = 'airflow', action = 'trigger', routing_key = None, dedup_key = None, custom_details = None, group = None, component = None, class_type = None, images = None, links = None) |
| |
| Create event for service integration. |
| |
| :param summary: Summary for the event |
| :param severity: Severity for the event, needs to be one of: info, warning, error, critical |
| :param source: Specific human-readable unique identifier, such as a |
| hostname, for the system having the problem. |
| :param action: Event action, needs to be one of: trigger, acknowledge, |
| resolve. Default to trigger if not specified. |
| :param routing_key: Integration key. If not specified, will try to read |
| from connection's extra json blob. |
| :param dedup_key: A string which identifies the alert triggered for the given event. |
| Required for the actions acknowledge and resolve. |
| :param custom_details: Free-form details from the event. Can be a dictionary or a string. |
| If a dictionary is passed it will show up in PagerDuty as a table. |
| :param group: A cluster or grouping of sources. For example, sources |
| “prod-datapipe-02” and “prod-datapipe-03” might both be part of “prod-datapipe” |
| :param component: The part or component of the affected system that is broken. |
| :param class_type: The class/type of the event. |
| :param images: List of images to include. Each dictionary in the list accepts the following keys: |
| `src`: The source (URL) of the image being attached to the incident. This image must be served via |
| HTTPS. |
| `href`: [Optional] URL to make the image a clickable link. |
| `alt`: [Optional] Alternative text for the image. |
| :param links: List of links to include. Each dictionary in the list accepts the following keys: |
| `href`: URL of the link to be attached. |
| `text`: [Optional] Plain text that describes the purpose of the link, and can be used as the |
| link's text. |
| :return: PagerDuty Events API v2 response. |
| :rtype: dict |
| |
| |
| |