Commit Graph

17 Commits

Author SHA1 Message Date
Alexander Reelsen 04a8fb3202 Watcher: Add chained input
```
Chained input for now works like this
{
"chain" : [
  { "first" : { "simple" : { "foo" : "bar" } } },
  { "second" : { "simple" : { "spam" : "eggs" } } }
]
```

This allows to access the payload via ctx.payload.first.foo for example

The array notation is needed to guarantee order, as JSON itself does not guarantee
order of objects.

Closes elastic/elasticsearch#353

Original commit: elastic/x-pack-elasticsearch@7ab32c43a8
2015-10-30 10:22:26 +01:00
Alexander Reelsen 6920a09cd2 Docs: Updated watcher java docs to show that plugin must be loaded
Using the new addPlugin() instead of plugin.types setting.

Original commit: elastic/x-pack-elasticsearch@e1deea853c
2015-10-28 11:54:11 +01:00
Alexander Reelsen ea032cd3a9 HttpClient: Add proxy support
Allows to configure watcher.http.proxy.host and watcher.http.proxy.port properties to
configure a HTTP proxy as well as specify a proxy whenever a HTTP request is executed.

Closes elastic/elasticsearch#587

Original commit: elastic/x-pack-elasticsearch@75ef260fef
2015-10-21 17:24:35 +02:00
Alexander Reelsen b95101f7a0 Documentation: Repleace search_type=count with size=0 in the docs
Relates elastic/elasticsearch#787

Original commit: elastic/x-pack-elasticsearch@f0183cedc3
2015-10-13 18:24:36 +02:00
Martijn van Groningen e16894fb9d Removed dynamic index names in favour for ES' date math index names.
Original commit: elastic/x-pack-elasticsearch@267084f163
2015-09-25 15:55:22 +02:00
Martijn van Groningen 1ce6f9ddba http input: The http input should only url encode once
Java's URI class already does url encoding, so we don't need to do this on out side.

Closes elastic/elasticsearch#699

Original commit: elastic/x-pack-elasticsearch@612dc99945
2015-09-25 12:20:58 +02:00
Clinton Gormley d7f15b8999 Bad asciidoc
Original commit: elastic/x-pack-elasticsearch@5afb635e64
2015-09-17 12:31:54 +02:00
debadair a9f93a92aa Watcher Docs: Reworked HipChat and Slack action docs. Closes elastic/elasticsearch#511, elastic/elasticsearch#570.
Original commit: elastic/x-pack-elasticsearch@1317e8a435
2015-09-09 16:49:51 -07:00
uboness 7ea8c85e4b [docs] Update docs for version 2.0.0-beta2
Original commit: elastic/x-pack-elasticsearch@b4af10f8f0
2015-09-09 08:04:42 -07:00
uboness acd051c288 [docs] Update docs for version 2.0.0-beta1
Original commit: elastic/x-pack-elasticsearch@0206648252
2015-09-09 08:03:55 -07:00
uboness e6dfa215b6 Introducing Watch De/activateion
Today, once you add a watch to watcher, it's always active. Being "active" means that the watch is registered with the trigger engine (scheduled) and will be executed when its trigger is triggered.

Quite often, ppl want to have an option to deactivate/disable a registered watch. Such that while the watch definition still exists in watcher, it is "inactive" and is never triggered. The only way to do this today is using a "hack" where you can change the watch schedule to a cron expression targeting a really far date in the future (say somewhere around 2050). Again.. this is very hackish and it requires changing the actual definition of the watch (you loose its original trigger).

 This commit introduces the notion of an active/inactive watch.. here are the differences between the two states:

 - active: the watch is registered with watcher and with the trigger engine and will be executed when its trigger is fired by the engine
 - inactive: the watch is registered with watcher, but is not registered with the trigger engine. An inactive watch will never be fired, regardless of its trigger.

 This commit also adds two new APIs:

  - `_watcher/watch/{id}/_activate`
  - `_watcher/watch/{id}/_deactivate`

 to activate and deactivate existing watches.

 In addition, the Put Watch API now accepts an `active` parameter that indicates the initial state of the put watch (by default set to  `true`, i.e. "active").

 Closes elastic/elasticsearch#90

Original commit: elastic/x-pack-elasticsearch@37b9ab4d54
2015-09-04 21:38:34 +02:00
Jason Tedor 77e74a9319 Add compare condition to handle arrays
This commit adds a new compare condition called “array_compare”. This
condition enables comparing a single resolved value to an array of
resolved values. The value can be compared for equality, non-equality,
and strict and non-strict ordering; the array compare condition will
evaluate to true if the value compares to true with respect to the
specified operator against all (“all”) or at least one (“some”) of the
values in the array specified by “array_path”. Each value in the array
can be resolved to a value using “path” (e.g., “array_path”:
“cx.payload.aggregations.some_field.buckets” and “path”: “doc_count”
would resolve each value in the buckets array to its “doc_count”).

Closes elastic/elasticsearch#345

Original commit: elastic/x-pack-elasticsearch@0d74b4dc11
2015-09-03 09:46:23 -04:00
uboness e4ffceb9ba Introducing Slack Action
- This action enables sending notifications to slack channels/users
- Utilizes the incoming webhook API of slack
- Similar to the `email` and `hipchat` actions, multiple slack accounts can be configured, each with its own URL and message defaults
- Slack actions are associated with an account, or if not, they'll be sent via the default account.
- The message itself is very flexible and enables defining simple messages to one or more users and/or one or more channels. For complex message structures, one can use `attachments` as described by the slack API.

 Closes elastic/elasticsearch#491

Original commit: elastic/x-pack-elasticsearch@9ecc69c17c
2015-09-02 19:45:54 +02:00
uboness 0731a98e97 Introducing HipChat Action
An action capable of sending notifications to rooms and users on hipchat. This actions support three types of HipChat APIs:

- `v1` - The (now deprecated) legacy API where a token can be registered at the group level, and the `v1` version of the API can be used. This API only supports room notification (users cannot be notified). multi-room notification is supported.

- `integration` - The basic integration that one can create in HipChat (it is using the `v2` API version), where notifications can be sent to a single room. User notification is unsupported by this API

- `user` - this API uses an API token of a specific user. An admin user can create an API token and configure it to have access to room notification and user private messaging. This API supports multi-room and multi-user notifications.

The settings for `hipchat` are very similar to the `email` infrastructure in nature. It is possible to configure multiple/different hipchat account, each is associated with the api type (a.k.a profile) - can be `v1`, `integration` or `user`, and the respective `auth_token`. When configuring the action in the watch, one can specify what hipchat account they would like to use (when not specifying an account, the `default_account` will be used). Each account can also specify its own unique `host`/`port` for the hipchat server - for full flexibility.

Closes elastic/elasticsearch#462

Original commit: elastic/x-pack-elasticsearch@9d9ee13542
2015-08-25 14:05:49 +02:00
Alexander Reelsen b433ee390c Packaging: Changing groupId to org.elasticsearch.plugin
This commit changes the groupId to the above mentioned one
so that S3 uploads will end up in the right bucket. This will
allow the Elasticsearch plugin manager to install the commercial
plugins like

```
bin/plugin install {watcher,shield,license,marvel}
```

like the official ones.

Original commit: elastic/x-pack-elasticsearch@642f1f006a
2015-08-06 15:46:48 +02:00
debadair aaf4cb5288 Fixed typos in examples. Closes #issue-43.
Original commit: elastic/x-pack-elasticsearch@c76c012f3d
2015-07-15 14:18:33 -07:00
uboness b5d42a01c7 initial migration of watcher
Original commit: elastic/x-pack-elasticsearch@b70f48d25c
2015-07-13 12:23:07 +02:00