opsgenie.endpoint() function
opsgenie.endpoint() is a user-contributed function maintained by
the package author.
opsgenie.endpoint() sends an alert message to Opsgenie using data from table rows.
Usage
opsgenie.endpoint is a factory function that outputs another function.
The output function requires a mapFn parameter.
mapFn
A function that builds the record used to generate the POST request. Requires an r parameter.
mapFn accepts a table row (r) and returns a record that must include the following fields:
- message
 - alias
 - description
 - priority
 - responders
 - tags
 - actions
 - details
 - visibleTo
 
For more information, see opsgenie.sendAlert.
Function type signature
(
    apiKey: string,
    ?entity: string,
    ?url: string,
) => (
    mapFn: (
        r: A,
    ) => {
        B with
        visibleTo: [string],
        tags: E,
        responders: [string],
        priority: string,
        message: string,
        details: D,
        description: string,
        alias: string,
        actions: C,
    },
) => (<-tables: stream[A]) => stream[{A with _sent: string}] where D: StringableFor more information, see Function type signatures.
Parameters
url
Opsgenie API URL. Defaults to https://api.opsgenie.com/v2/alerts.
apiKey
(Required) (Required) Opsgenie API authorization key.
entity
Alert entity used to specify the alert domain.
Examples
Send critical statuses to Opsgenie
import "influxdata/influxdb/secrets"
import "contrib/sranka/opsgenie"
apiKey = secrets.get(key: "OPSGENIE_APIKEY")
endpoint = opsgenie.endpoint(apiKey: apiKey)
crit_statuses =
    from(bucket: "example-bucket")
        |> range(start: -1m)
        |> filter(fn: (r) => r._measurement == "statuses" and status == "crit")
crit_statuses
    |> endpoint(
        mapFn: (r) =>
            ({
                message: "Great Scott!- Disk usage is: ${r.status}.",
                alias: "disk-usage-${r.status}",
                description: "",
                priority: "P3",
                responders: ["user:john@example.com", "team:itcrowd"],
                tags: [],
                entity: "my-lab",
                actions: [],
                details: "{}",
                visibleTo: [],
            }),
    )()Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Flux and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.