docs-v2/content/flux/v0/stdlib/pushbullet/endpoint.md

2.6 KiB

title description menu weight flux/v0/tags
pushbullet.endpoint() function `pushbullet.endpoint()` creates the endpoint for the Pushbullet API and sends a notification of type note.
flux_v0_ref
name parent identifier
pushbullet.endpoint pushbullet pushbullet/endpoint
101
notification endpoints
transformations

pushbullet.endpoint() creates the endpoint for the Pushbullet API and sends a notification of type note.

Usage

pushbullet.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 API request. Requires an r parameter.

mapFn accepts a table row (r) and returns a record that must include the following properties (as defined in pushbullet.pushNote()):

  • title
  • text
Function type signature
(
    ?token: A,
    ?url: string,
) => (mapFn: (r: B) => {C with title: E, text: D}) => (<-tables: stream[B]) => stream[{B with _sent: string}]

{{% caption %}} For more information, see Function type signatures. {{% /caption %}}

Parameters

url

PushBullet API endpoint URL. Default is "https://api.pushbullet.com/v2/pushes".

token

Pushbullet API token string. Default is "".

Examples

Send push notifications to Pushbullet

import "pushbullet"
import "influxdata/influxdb/secrets"

token = secrets.get(key: "PUSHBULLET_TOKEN")

crit_statuses =
    from(bucket: "example-bucket")
        |> range(start: -1m)
        |> filter(fn: (r) => r._measurement == "statuses" and r.status == "crit")

crit_statuses
    |> pushbullet.endpoint(token: token)(
        mapFn: (r) =>
            ({
                title: "${r.component} is critical",
                text: "${r.component} is critical. {$r._field} is {r._value}.",
            }),
    )()