[[actions-hipchat]] ==== HipChat Action A watch <> that sends messages to https://www.hipchat.com[HipChat] rooms or users. To use the HipChat action, you need to configure at least one HipChat account in Watcher. For information about configuring accounts, see <>. [[configuring-hipchat-actions]] ===== Configuring HipChat Actions You configure HipChat actions in a watch's `actions` array. Action-specific attributes are specified using the `hipchat` keyword. You must specify the `message` attribute for all `hipchat` actions. If you omit the `account` attribute, the message is sent using the default HipChat account configured in `elasticsearch.yml`. For example, the following action is configured to send messages using a HipChat account that uses the <> profile. Because this type of account can only send messages to a particular room, the only required attribute is the message itself. [source,json] -------------------------------------------------- "actions" : { "notify-hipchat" : { "transform" : { ... }, "throttle_period" : "5m", "hipchat" : { "account" : "integration-account", <1> "message" : { "body" : "Encountered {{ctx.payload.hits.total}} errors in the last 5 minutes (facepalm)", <2> "format" : "text", "color" : "red", "notify" : true } } } } -------------------------------------------------- <1> The name of a HipChat account configured in `elasticsearch.yml`. <2> The message you want to send to HipChat. To send messages with a HipChat account that uses the <> profile, you need to specify what rooms and users you want to send the message to. For example, the following action is configured to send messages to the `mission-control` and `devops` rooms as well as the user `website-admin@example.com`. (To send to multiple users or rooms, specify an array of strings.) [source,json] -------------------------------------------------- "actions" : { "notify-hipchat" : { "transform" : { ... }, "throttle_period" : "5m", "hipchat" : { "account" : "user-account", "message" : { "room" : [ "mission-control", "devops" ], "user" : "website-admin@example.com", "body" : "Encountered {{ctx.payload.hits.total}} errors in the last 5 minutes (facepalm)", "format" : "text", "color" : "red", "notify" : true } } } } -------------------------------------------------- To send messages with a HipChat account that uses the <> profile, you need to specify what room or rooms you want to send the message to. For example, the following action is configured to send messages to the `server-status` room. (To send to multiple rooms, specify an array of strings.) [source,json] -------------------------------------------------- "actions" : { "notify-hipchat" : { "transform" : { ... }, "throttle_period" : "5m", "hipchat" : { "account" : "v1-account", "message" : { "from" : "Watcher", "room" : [ "server-status", "infra-team" ], "body" : "Encountered {{ctx.payload.hits.total}} errors in the last 5 minutes (facepalm)", "format" : "text", "color" : "red", "notify" : true } } } } -------------------------------------------------- [[hipchat-action-attributes]] ===== HipChat Action Attributes The following table lists the attributes you can set for `hipchat` actions. [[hipchat-api-integration-action-attributes]] |====== | Name |Required | Default | Description | `account` | no | Default account | The HipChat account to use to send the message. | `message.body ` | yes | - | The message content. Can contain up to 1000 characters. | `message.format` | no | html | The format of the message: `text` or `html`. | `message.color` | no | yellow | The background color of the notification in the room: `gray`, `green`, `purple`, `red`, `yellow`. | `message.notify` | no | false | Indicates whether people in the room should be actively notified | `message.from` | no | the watch ID | The name that appears as the notification sender. Only valid for accounts that use the v1 profile. | `message.room` | no | - | The rooms that the notification should go to. Accepts a string value or an array of string values. Must be specified when using the v1 profile. At least one room or user must be specified when using the `user` profile. Not valid for the `integration` profile. | `message.user` | no | - | The users that the notification should go to. Accepts a string value or an array of string values. At least one room or user must be specified when using the `user` profile. Not valid for the `integration` or `v1` profiles. |======