Rename VictorOps -> Splunk On-Call
@ -3,6 +3,9 @@ All notable changes to this project will be documented in this file.
|
||||
|
||||
## v1.20.0 - Unreleased
|
||||
|
||||
## Improvements
|
||||
- Rename VictorOps -> Splunk On-Call
|
||||
|
||||
## Bug Fixes
|
||||
- Fix downtime summary to handle months when the check didn't exist yet (#472)
|
||||
|
||||
|
@ -41,4 +41,4 @@ class NotifyTestCase(BaseTestCase):
|
||||
self.channel.notify(self.check)
|
||||
|
||||
n = Notification.objects.get()
|
||||
self.assertEqual(n.error, "VictorOps notifications are not enabled.")
|
||||
self.assertEqual(n.error, "Splunk On-Call notifications are not enabled.")
|
||||
|
@ -414,7 +414,7 @@ class Pushover(HttpTransport):
|
||||
class VictorOps(HttpTransport):
|
||||
def notify(self, check):
|
||||
if not settings.VICTOROPS_ENABLED:
|
||||
return "VictorOps notifications are not enabled."
|
||||
return "Splunk On-Call notifications are not enabled."
|
||||
|
||||
description = tmpl("victorops_description.html", check=check)
|
||||
mtype = "CRITICAL" if check.status == "down" else "RECOVERY"
|
||||
|
@ -11,7 +11,7 @@ class AddVictorOpsTestCase(BaseTestCase):
|
||||
def test_instructions_work(self):
|
||||
self.client.login(username="alice@example.org", password="password")
|
||||
r = self.client.get(self.url)
|
||||
self.assertContains(r, "incident management system")
|
||||
self.assertContains(r, "incident management platform")
|
||||
|
||||
def test_it_works(self):
|
||||
form = {"value": "http://example.org"}
|
||||
|
@ -86,7 +86,7 @@
|
||||
}
|
||||
.ic-victorops:before {
|
||||
content: "\e90f";
|
||||
color: #f9af4a;
|
||||
color: #2d2d2d;
|
||||
}
|
||||
.ic-email:before {
|
||||
content: "\e90a";
|
||||
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 9.5 KiB |
@ -34,7 +34,7 @@ The "unused" sends from one month do not carry over to the next month.</p>
|
||||
<p>If you want to receive repeated notifications for as long as a particular check is
|
||||
down, you have a few different options:</p>
|
||||
<ul>
|
||||
<li>If you use an <strong>incident management system</strong> (PagerDuty, VictorOps, Opsgenie,
|
||||
<li>If you use an <strong>incident management system</strong> (PagerDuty, Splunk On-Call, Opsgenie,
|
||||
PagerTree), you can set up escalation rules there.</li>
|
||||
<li>Use the <strong>Pushover</strong> integration with the "Emergency" priority. Pushover will
|
||||
play a loud notification sound on your phone every 5 minutes until the notification
|
||||
|
@ -44,7 +44,7 @@ When an account exceeds its monthly limit, SITE_NAME will:
|
||||
If you want to receive repeated notifications for as long as a particular check is
|
||||
down, you have a few different options:
|
||||
|
||||
* If you use an **incident management system** (PagerDuty, VictorOps, Opsgenie,
|
||||
* If you use an **incident management system** (PagerDuty, Splunk On-Call, Opsgenie,
|
||||
PagerTree), you can set up escalation rules there.
|
||||
* Use the **Pushover** integration with the "Emergency" priority. Pushover will
|
||||
play a loud notification sound on your phone every 5 minutes until the notification
|
||||
|
@ -438,9 +438,9 @@
|
||||
{% if enable_victorops %}
|
||||
<li>
|
||||
<img src="{% static 'img/integrations/victorops.png' %}"
|
||||
class="icon" alt="VictorOps icon" />
|
||||
class="icon" alt="Splunk On-Call icon" />
|
||||
|
||||
<h2>VictorOps</h2>
|
||||
<h2>Splunk On-Call (VictorOps)</h2>
|
||||
<p>On-call scheduling, alerting, and incident tracking.</p>
|
||||
<a href="{% url 'hc-add-victorops' project.code %}" class="btn btn-primary">Add Integration</a>
|
||||
</li>
|
||||
|
@ -655,7 +655,7 @@
|
||||
<div class="integration">
|
||||
<img src="{% static 'img/integrations/victorops.png' %}" class="icon" alt="" />
|
||||
<h3>
|
||||
VictorOps<br>
|
||||
Splunk On-Call<br>
|
||||
<small>{% trans "Incident Management" %}</small>
|
||||
</h3>
|
||||
</div>
|
||||
|
@ -1,28 +1,28 @@
|
||||
{% extends "base.html" %}
|
||||
{% load humanize static hc_extras %}
|
||||
|
||||
{% block title %}VictorOps Integration for {{ site_name }}{% endblock %}
|
||||
{% block title %}Splunk On-Call Integration for {{ site_name }}{% endblock %}
|
||||
|
||||
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<h1>VictorOps</h1>
|
||||
<h1>Splunk On-Call (VictorOps)</h1>
|
||||
|
||||
<p><a href="https://victorops.com/">VictorOps</a> is
|
||||
another incident management system similar to PagerDuty.
|
||||
If you use or plan on using VictorOps, you can can integrate it
|
||||
with your {{ site_name }} account in few simple steps.</p>
|
||||
<p>
|
||||
<a href="https://www.splunk.com/en_us/software/splunk-on-call.html">Splunk On-Call</a>
|
||||
is a collaboration and incident management platform for on-call DevOps teams.
|
||||
You can integrate it with your {{ site_name }} account in a few
|
||||
simple steps.</p>
|
||||
|
||||
<h2>Setup Guide</h2>
|
||||
<div class="row ai-step">
|
||||
<div class="col-sm-6">
|
||||
<span class="step-no"></span>
|
||||
<p>
|
||||
Log into your VictorOps account,
|
||||
go to <strong>Settings > Schedules</strong>,
|
||||
and find or create the Team Schedule you
|
||||
would like to use for {{ site_name }} alerts.
|
||||
Log into your Splunk On-Call account,
|
||||
go to <strong>Integrations</strong>,
|
||||
and look up the REST integration.
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
@ -36,10 +36,14 @@
|
||||
<div class="col-sm-6">
|
||||
<span class="step-no"></span>
|
||||
<p>
|
||||
Go to <strong>Settings > Integrations</strong> and scroll
|
||||
to the bottom of the page. Choose an existing
|
||||
<strong>Routing Key</strong> or
|
||||
add a new one, and make note of it.
|
||||
Enable the integration, and copy
|
||||
the displayed <strong>Service API Endpoint</strong>.
|
||||
Paste it in the form below. Be sure to replace
|
||||
the <strong>$routing_key</strong> section with the
|
||||
actual routing key you intend to use.
|
||||
</p>
|
||||
<p>
|
||||
Save the integration, and it's done!
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
@ -49,38 +53,13 @@
|
||||
src="{% static 'img/integrations/setup_victorops_2.png' %}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row ai-step">
|
||||
<div class="col-sm-6">
|
||||
<span class="step-no"></span>
|
||||
In the right hand side of
|
||||
<strong>Settings > Integrations</strong> page,
|
||||
select <strong>REST Endpoint</strong>, and click on
|
||||
<strong>Enable Integration</strong>.
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<img
|
||||
class="ai-guide-screenshot"
|
||||
alt="Screenshot"
|
||||
src="{% static 'img/integrations/setup_victorops_3.png' %}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row ai-step">
|
||||
<div class="col-sm-6">
|
||||
<span class="step-no"></span>
|
||||
<p>Paste the <strong>Post URL</strong> from step 3 in the field
|
||||
below, being careful to replace <strong>$routing_key</strong>
|
||||
with your actual Routing Key from step 2. Save the integration,
|
||||
and it's done!</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2>Integration Settings</h2>
|
||||
|
||||
<form method="post" class="form-horizontal">
|
||||
{% csrf_token %}
|
||||
<div class="form-group {{ form.value.css_classes }}">
|
||||
<label for="post-url" class="col-sm-2 control-label">Post URL</label>
|
||||
<label for="post-url" class="col-sm-2 control-label">Service API Endpoint</label>
|
||||
<div class="col-sm-10">
|
||||
<input
|
||||
id="post-url"
|
||||
|