Documentation

webexteams.endpoint() function

webexteams.endpoint() is a user-contributed function maintained by the package author and can be updated or removed at any time.

webexteams.endpoint() returns a function that sends a message that includes data from input rows to a Webex room.

Usage

webexteams.endpoint is a factory function that outputs another function. The output function requires a mapFn parameter.

mapFn

A function that builds the object used to generate the POST request. Requires an r parameter.

mapFn accepts a table row (r) and returns an object that must include the following fields:

  • roomId
  • text
  • markdown

For more information, see webexteams.message parameters.

Function type signature
(
    token: string,
    ?url: string,
) => (
    mapFn: (r: A) => {B with text: E, roomId: D, markdown: C},
) => (<-tables: stream[A]) => stream[{A with _sent: string}]
For more information, see Function type signatures.

Parameters

url

Base URL of Webex API endpoint (without a trailing slash). Default is https://webexapis.com.

token

(Required) Webex API access token.

Examples

Send the last reported status to Webex Teams

import "contrib/sranka/webexteams"
import "influxdata/influxdb/secrets"

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

from(bucket: "example-bucket")
    |> range(start: -1m)
    |> filter(fn: (r) => r._measurement == "statuses")
    |> last()
    |> tableFind(fn: (key) => true)
    |> webexteams.endpoint(token: token)(
        mapFn: (r) =>
            ({
                roomId:
                    "Y2lzY29zcGFyazovL3VzL1JPT00vYmJjZWIxYWQtNDNmMS0zYjU4LTkxNDctZjE0YmIwYzRkMTU0",
                text: "",
                markdown: "Disk usage is **${r.status}**.",
            }),
    )()

Was this page helpful?

Thank you for your feedback!


Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.