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.
 
 
 
 
 

178 lines
6.0 KiB

{% extends "base.html" %}
{% load humanize static hc_extras %}
{% block title %}Add Slack - {% site_name %}{% endblock %}
{% block content %}
<div class="row">
<div class="col-sm-12">
{% if slack_client_id %}
<div class="jumbotron">
{% if request.user.is_authenticated %}
<p>If your team uses <a href="https://slack.com/">Slack</a>, you can set
up {% site_name %} to post status updates directly to an appropriate
Slack channel.</p>
<div class="text-center">
<a href="https://slack.com/oauth/authorize?scope=incoming-webhook&client_id={{ slack_client_id }}&state={{ state }}">
<img
alt="Add to Slack"
height="40"
width="139"
src="{% static 'img/integrations/add_to_slack.png' %}"
srcset="{% static 'img/integrations/add_to_slack.png' %} 1x, {% static 'img/integrations/[email protected]' %} 2x" />
</a>
</div>
{% else %}
<p>
{% site_name %} is a <strong>free</strong> and
<a href="https://github.com/healthchecks/healthchecks">open source</a>
service for monitoring your cron jobs, background processes and
scheduled tasks. Before adding Slack integration, please log into
{% site_name %}:</p>
<div class="text-center">
<a href="{% url 'hc-login' %}?next={% url 'hc-add-slack' %}"
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">1</span>
<p>
After {% if request.user.is_authenticated %}{% else %}signing in and{% endif %}
clicking on "Add to Slack", you should
be on a page that says "{% site_name %} would like access to
your Slack team". Select the team you want to add the
{% site_name %} integration app to.
</p>
</div>
<div class="col-sm-6">
<img
class="ai-guide-screenshot"
alt="Screenshot"
src="{% static 'img/integrations/setup_slack_btn_1.png' %}">
</div>
</div>
<div class="row ai-step">
<div class="col-sm-6">
<span class="step-no">2</span>
<p>
You should now be on a page that says "{% site_name %} would
like access to <i>TEAM NAME</i>". Select the channel you want to
post {% site_name %} notifications to.
</p>
</div>
<div class="col-sm-6">
<img
class="ai-guide-screenshot"
alt="Screenshot"
src="{% static 'img/integrations/setup_slack_btn_2.png' %}">
</div>
</div>
<div class="row ai-step">
<div class="col-sm-6">
<span class="step-no">3</span>
<p>
That is all! You will now be redirected back to
"Integrations" page on {% site_name %} and see
the new integration!
</p>
</div>
<div class="col-sm-6">
<img
class="ai-guide-screenshot"
alt="Screenshot"
src="{% static 'img/integrations/setup_slack_btn_3.png' %}">
</div>
</div>
{% else %}
<h1>Slack</h1>
<p>If your team uses <a href="https://slack.com/">Slack</a>, you can set
up {% site_name %} to post status updates directly to an appropriate
Slack channel.</p>
<h2>Setup Guide</h2>
<div class="row ai-step">
<div class="col-sm-6">
<span class="step-no">1</span>
Log into your Slack account and
pick an appropriate Slack channel. From the dropdown next to
channel's name, pick <strong>Add a service integration...</strong>
</div>
<div class="col-sm-6">
<img
class="ai-guide-screenshot"
alt="Screenshot"
src="{% static 'img/integrations/setup_slack_1.png' %}">
</div>
</div>
<div class="row ai-step">
<div class="col-sm-6">
<span class="step-no">2</span>
From the list of available integrations, select
<strong>Incoming WebHooks</strong>, and click on
<strong>Add Incoming WebHooks Integration</strong>.
</div>
</div>
<div class="row ai-step">
<div class="col-sm-6">
<span class="step-no">3</span>
<p>Copy the displayed <strong>WebHook URL</strong> and paste it down below.</p>
<p>Save the integration, and it's done!</p>
</div>
<div class="col-sm-6">
<img
class="ai-guide-screenshot"
alt="Screenshot"
src="{% static 'img/integrations/setup_slack_2.png' %}">
</div>
</div>
<h2>Integration Settings</h2>
<form method="post" class="form-horizontal" action="{% url 'hc-add-slack' %}">
{% csrf_token %}
<div class="form-group {{ form.value.css_classes }}">
<label for="callback-url" class="col-sm-2 control-label">
Callback 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 %}