Opsweekly Integration ===================== [Opsweekly](https://codeascraft.com/2014/06/19/opsweekly-measuring-on-call-experience-with-alert-classification/) is a tool developed by Etsy to generate weekly oncall support reports. For help, join [](https://gitter.im/alerta/chat) Installation ------------ Copy the ``alerta.php`` file to ``providers/oncall`` or another path in the PHP include path and follow the configuration steps below. Configuration ------------- Global Config: - `base_url`: The path to your Alerta API, e.g. https://api.alerta.io - `apikey`: An API key created for Opsweekly in the Alerta console Team Config: - `alerta_search`: The search filter that narrows down the results to the team. Variables: `#logged_in_username#` = The username of the person currently using opsweekly Example ------- Modify the `config.php` file similar to the following: ``` $oncall_providers = array( "alerta" => array( "display_name" => "Alerta", "lib" => "providers/oncall/alerta.php", "options" => array( "base_url" => "http://api.alerta.io", "apikey" => "demo-key" ), ), ); ``` ``` $teams = array( "opsweekly.alerta.io" => array( "root_url" => "/opsweekly", "display_name" => "Ops", "email_report_to" => "ops@mycompany.com", "database" => "opsweekly", "oncall" => array( "provider" => "alerta", "provider_options" => array( "alerta_search" => 'tags=watch:#logged_in_username#', ), "timezone" => "America/New_York", "start" => "friday 18:00", "end" => "friday 18:00", ), "weekly_hints" => array("jira", "github"), "irc_channel" => "#ops" ), ); ``` Report ------ Returns 0 or more notifications as array() - Each notification should have the following keys: - `time`: alert 'createTime' attribute - `hostname`: alert 'environment' and 'resource' attributes - `service`: alert 'event' attribute - `output`: alert 'service' and 'text' attributes - `state`: alert 'severity' attribute eg. 'critical', 'major', 'minor', 'warning', 'normal' Testing ------- To test, run: $ php -f test.php References ---------- * https://github.com/etsy/opsweekly * https://github.com/etsy/opsweekly/tree/master/providers/oncall#writing-an-on-call-provider License ------- Copyright (c) 2015 Nick Satterly. Available under the MIT License.