You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
155 lines
5.3 KiB
155 lines
5.3 KiB
{% extends "base_project.html" %}
|
|
{% load humanize static hc_extras %}
|
|
|
|
{% block title %}Mattermost Integration for {{ site_name }}{% endblock %}
|
|
{% block description %}
|
|
<meta name="description" content="If your team uses Mattermost, you can set up {{ site_name }} to post alerts directly to an appropriate Mattermost channel when a check goes up or down.">
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
|
|
<h1>Mattermost</h1>
|
|
<div class="jumbotron">
|
|
{% if request.user.is_authenticated %}
|
|
<p>
|
|
If your team uses <a href="https://mattermost.com/">Mattermost</a>,
|
|
you can set up {{ site_name }} to post alerts directly to an
|
|
appropriate Mattermost channel when a check goes <strong>up</strong>
|
|
or <strong>down</strong>.
|
|
</p>
|
|
{% else %}
|
|
<p>
|
|
{{ site_name }} is a free and
|
|
<a href="https://github.com/healthchecks/healthchecks">open source</a>
|
|
service for monitoring <strong>cron jobs</strong>, <strong>background processes</strong> and
|
|
<strong>scheduled tasks</strong>. When {% site_name %} detects a problem, it can notify
|
|
you by posting to a Mattermost channel. To set up the Mattermost
|
|
integration, please sign into {{ site_name }}:
|
|
</p>
|
|
|
|
<div class="text-center">
|
|
<a href="{% url 'hc-login' %}"
|
|
class="btn btn-primary btn-lg">Sign In</a>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
|
|
<h2>Setup Guide</h2>
|
|
|
|
<div class="row ai-step">
|
|
<div class="col-sm-6">
|
|
<span class="step-no"></span>
|
|
Log into your Mattermost account and
|
|
select <strong>Integrations</strong> in the
|
|
top left menu.
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<img
|
|
class="ai-guide-screenshot"
|
|
alt="Screenshot"
|
|
src="{% static 'img/integrations/setup_mattermost_1.png' %}">
|
|
</div>
|
|
</div>
|
|
<div class="row ai-step">
|
|
<div class="col-sm-6">
|
|
<span class="step-no"></span>
|
|
<p>
|
|
In the "Integrations" screen, select <strong>Incoming Webhook</strong>
|
|
and then <strong>Add Incoming Webhook</strong>.
|
|
</p>
|
|
<p>Fill in the form and hit "Save".</p>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<img
|
|
class="ai-guide-screenshot"
|
|
alt="Screenshot"
|
|
src="{% static 'img/integrations/setup_mattermost_2.png' %}">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row ai-step">
|
|
<div class="col-sm-6">
|
|
<span class="step-no"></span>
|
|
{% if project %}
|
|
<p>Copy the displayed <strong>URL</strong> and paste it in the form below.</p>
|
|
<p>Save the integration, and you are all set!</p>
|
|
{% else %}
|
|
<p>Copy the displayed <strong>URL</strong>.</p>
|
|
{% endif %}
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<img
|
|
class="ai-guide-screenshot"
|
|
alt="Screenshot"
|
|
src="{% static 'img/integrations/setup_mattermost_3.png' %}">
|
|
</div>
|
|
</div>
|
|
|
|
{% if not project %}
|
|
<div class="row ai-step">
|
|
<div class="col-sm-6">
|
|
<span class="step-no"></span>
|
|
<p>Sign into {% site_name %}, then go to the <strong>Integrations</strong>
|
|
page and click on <strong>Add Integration</strong> next to the
|
|
Mattermost integration.
|
|
</p>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<img
|
|
class="ai-guide-screenshot"
|
|
alt="Screenshot"
|
|
src="{% static 'img/integrations/setup_mattermost_4.png' %}">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row ai-step">
|
|
<div class="col-sm-6">
|
|
<span class="step-no"></span>
|
|
<p>Paste the copied <strong>URL</strong> in the form.</p>
|
|
<p>Save the integration, and you are all set!</p>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<img
|
|
class="ai-guide-screenshot"
|
|
alt="Screenshot"
|
|
src="{% static 'img/integrations/setup_mattermost_5.png' %}">
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if project %}
|
|
<h2>Integration Settings</h2>
|
|
<form method="post" class="form-horizontal">
|
|
{% csrf_token %}
|
|
<div class="form-group {{ form.value.css_classes }}">
|
|
<label for="callback-url" class="col-sm-2 control-label">
|
|
Webhook URL
|
|
</label>
|
|
<div class="col-sm-10">
|
|
<input
|
|
id="callback-url"
|
|
type="text"
|
|
class="form-control"
|
|
name="value"
|
|
placeholder="https://"
|
|
value="{{ form.value.value|default:"" }}">
|
|
|
|
{% if form.value.errors %}
|
|
<div class="help-block">
|
|
{{ form.value.errors|join:"" }}
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<div class="col-sm-offset-2 col-sm-10">
|
|
<button type="submit" class="btn btn-primary">Save Integration</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|