summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAchilleas Pipinellis <axilleas@axilleas.me>2016-11-21 22:57:03 +0100
committerAchilleas Pipinellis <axilleas@axilleas.me>2016-11-21 23:09:54 +0100
commit2a21a347fde928e548b4543fd21ba73633fbb757 (patch)
treefb04bf572a053ffe9502db87be1bf2a089fe4627
parent0cc4c14514028bead4c668c957cbeb23f4f0f845 (diff)
downloadgitlab-ce-zj-slash-command-docs.tar.gz
Refactor Mattermost slash commands docszj-slash-command-docs
[ci skip]
-rw-r--r--doc/project_services/img/mattermost_add_slash_command.pngbin0 -> 23150 bytes
-rw-r--r--doc/project_services/img/mattermost_bot_auth.pngbin0 -> 21031 bytes
-rw-r--r--doc/project_services/img/mattermost_bot_available_commands.pngbin0 -> 23504 bytes
-rw-r--r--doc/project_services/img/mattermost_config_help.pngbin159971 -> 176610 bytes
-rw-r--r--doc/project_services/img/mattermost_console_integrations.pngbin0 -> 114850 bytes
-rw-r--r--doc/project_services/img/mattermost_enable_custom_commands.pngbin42288 -> 0 bytes
-rw-r--r--doc/project_services/img/mattermost_goto_console.pngbin0 -> 22802 bytes
-rw-r--r--doc/project_services/img/mattermost_slash_command_configuration.pngbin0 -> 60927 bytes
-rw-r--r--doc/project_services/img/mattermost_team_integrations.pngbin0 -> 12171 bytes
-rw-r--r--doc/project_services/mattermost_slash_commands.md134
-rw-r--r--doc/project_services/project_services.md2
11 files changed, 112 insertions, 24 deletions
diff --git a/doc/project_services/img/mattermost_add_slash_command.png b/doc/project_services/img/mattermost_add_slash_command.png
new file mode 100644
index 00000000000..6d45bce8004
--- /dev/null
+++ b/doc/project_services/img/mattermost_add_slash_command.png
Binary files differ
diff --git a/doc/project_services/img/mattermost_bot_auth.png b/doc/project_services/img/mattermost_bot_auth.png
new file mode 100644
index 00000000000..19c4735194f
--- /dev/null
+++ b/doc/project_services/img/mattermost_bot_auth.png
Binary files differ
diff --git a/doc/project_services/img/mattermost_bot_available_commands.png b/doc/project_services/img/mattermost_bot_available_commands.png
new file mode 100644
index 00000000000..04fa4b3ea88
--- /dev/null
+++ b/doc/project_services/img/mattermost_bot_available_commands.png
Binary files differ
diff --git a/doc/project_services/img/mattermost_config_help.png b/doc/project_services/img/mattermost_config_help.png
index d0b64c058af..3e38bf0abc6 100644
--- a/doc/project_services/img/mattermost_config_help.png
+++ b/doc/project_services/img/mattermost_config_help.png
Binary files differ
diff --git a/doc/project_services/img/mattermost_console_integrations.png b/doc/project_services/img/mattermost_console_integrations.png
new file mode 100644
index 00000000000..eecec0950a8
--- /dev/null
+++ b/doc/project_services/img/mattermost_console_integrations.png
Binary files differ
diff --git a/doc/project_services/img/mattermost_enable_custom_commands.png b/doc/project_services/img/mattermost_enable_custom_commands.png
deleted file mode 100644
index a10bda7e190..00000000000
--- a/doc/project_services/img/mattermost_enable_custom_commands.png
+++ /dev/null
Binary files differ
diff --git a/doc/project_services/img/mattermost_goto_console.png b/doc/project_services/img/mattermost_goto_console.png
new file mode 100644
index 00000000000..3576758b331
--- /dev/null
+++ b/doc/project_services/img/mattermost_goto_console.png
Binary files differ
diff --git a/doc/project_services/img/mattermost_slash_command_configuration.png b/doc/project_services/img/mattermost_slash_command_configuration.png
new file mode 100644
index 00000000000..06416b0d068
--- /dev/null
+++ b/doc/project_services/img/mattermost_slash_command_configuration.png
Binary files differ
diff --git a/doc/project_services/img/mattermost_team_integrations.png b/doc/project_services/img/mattermost_team_integrations.png
new file mode 100644
index 00000000000..9086cf1c136
--- /dev/null
+++ b/doc/project_services/img/mattermost_team_integrations.png
Binary files differ
diff --git a/doc/project_services/mattermost_slash_commands.md b/doc/project_services/mattermost_slash_commands.md
index b5cfc77f54a..36b72de1be0 100644
--- a/doc/project_services/mattermost_slash_commands.md
+++ b/doc/project_services/mattermost_slash_commands.md
@@ -1,42 +1,130 @@
-# Mattermost Commands
+# Mattermost slash commands
+
+> Introduced in GitLab 8.14
Mattermost commands give users an extra interface to perform common operations
from the chat environment. This allows one to, for example, create an issue as
soon as the idea was discussed in Mattermost.
+## Prerequisites
+
+Mattermost 3.4 and up is required.
+
+If you have the Omnibus GitLab package installed, Mattermost is already bundled
+in it. All you have to do is configure it. Read more in the
+[Omnibus GitLab Mattermost documentation][omnimatdocs].
+
## Configuration
-### On Mattermost
+The configuration consists of two parts. First you need to enable the slash
+commands in Mattermost and then enable the service in GitLab.
+
+
+### Step 1. Enable custom slash commands in Mattermost
+
+The first thing to do in Mattermost is to enable the custom slash commands from
+the administrator console.
+
+1. Log in with an account that has admin privileges and navigate to the system
+ console.
+
+ ![Mattermost go to console](img/mattermost_goto_console.png)
+
+ ---
+
+1. Click **Custom integrations** and set **Enable Custom Slash Commands** to
+ true.
+
+ ![Mattermost console](img/mattermost_console_integrations.png)
+
+ ---
+
+1. Click **Save** at the bottom to save the changes.
+
+### Step 2. Create a new custom command in Mattermost
+
+Now that you have enabled the custom slash commands:
+
+1. Back to your team page settings, you should see the **Integrations** option.
+
+ ![Mattermost team integrations](img/mattermost_team_integrations.png)
+
+ ---
+
+1. Go to the **Slash Command** integration and add a new one by clicking the
+ **Add Slash Command** button.
+
+ ![Mattermost add command](img/mattermost_add_slash_command.png)
+
+ ---
+
+1. Fill in the options for the custom command.
+
+ ![Mattermost add command configuration](img/mattermost_slash_command_configuration.png)
+
+ > **Note:**
+ When configuring the GitLab Mattermost command service in the next step,
+ you will be presented with some predefined values to paste into the
+ Mattermost slash command settings.
+
+1. After you setup all the values, copy the token (we will use it below) and
+ click **Done**.
+
+>
+[**➔ Read more on Mattermost slash commands**][mmslashdocs].
+
+### Step 3. Configure GitLab
+
+1. Go to your project's settings **Services ➔ Mattermost command**. A screen
+ will appear with all the values you can copy to the Mattermost page in the
+ previous step.
+
+ ![Mattermost setup instructions](img/mattermost_config_help.png)
+
+1. Paste the Mattermost token you copied when setting up the Mattermost slash
+ command and check the **Active** checkbox.
+1. Click **Save changes** for the changes to take effect.
+
+## Authorizing Mattermost to interact with GitLab
+
+The first time a user will interact with the newly created slash commands,
+Mattermost will trigger an authorization process.
-On Mattermost, an administrator has to enable custom slash commands. To do this,
-log on, and go to the system console.
+![Mattermost bot authorize](img/mattermost_bot_auth.png)
-Click **Custom integrations**, and enable the custom slash commands and don't
-forget to save your settings.
+This will connect connect your Mattermost user with your GitLab user. You can
+see all authorized chat accounts in your profile's page under **Chat**.
-![Enable custom slash commands](img/mattermost_enable_custom_commands.png)
+When the authorization process is complete, you can start interacting with
+GitLab using the Mattermost commands.
-Now go back to your team page, and go the the configuration page for a new
-slash command.
+## Available slash commands
-**Integrations** > **Slash Command** > **Add Slash Command**
+The available slash commands so far are:
-### On GitLab
+- `/<trigger> issue create <title>\n<description>` - Create a new issue to the
+ project that `<trigger>` is tied to.
+- `/<trigger> issue show <issue-number>` - Show the issue with ID `<issue-number>`
+ from the project that `<trigger>` is tied to.
+- `/<trigger> deploy <environment> to <environment>` - Start the CI job that
+ deploys from an environment to another, for example `staging` to `production`.
+ CI must be properly configured.
-On the project you want to configure the slash commands for, go to the
-Mattermost Command service. Under settings > **Project Services**.
+If you enabled autocomplete when you created the Mattermost command, you can
+use the autocomplete hint to see the available commands that can interact
+with GitLab. If for example the autocomplete hint was set to `help` and the
+command trigger word to `my-project`, then to see all available command type:
-A screen will appear with all the values you can copy to the Mattermost page you
-have just opened.
+```
+/my-project help
+```
-![Mattermost setup instructions](img/mattermost_config_help.png)
+![Mattermost bot available commands](img/mattermost_bot_available_commands.png)
-## Usage
+## Permissions
-A users first interaction with the newly created slash commands will trigger an
-authorisation process. This process connects your Mattermost user with your
-GitLab user.
+The permissions to run the [available commands](#available-commands) derive from
+the [permissions you have on the project](../user/permissions.md#project).
-After these steps are performed, you can start interacting with GitLab. Maybe
-start with `/your-trigger issue show 1` and see what your first issue was on
-this project!
+[omnimatdocs]: https://docs.gitlab.com/omnibus/gitlab-mattermost/
+[mmslashdocs]: https://docs.mattermost.com/developer/slash-commands.html
diff --git a/doc/project_services/project_services.md b/doc/project_services/project_services.md
index 57b731e297b..cba183c9f15 100644
--- a/doc/project_services/project_services.md
+++ b/doc/project_services/project_services.md
@@ -42,7 +42,7 @@ further configuration instructions and details. Contributions are welcome.
| [Irker (IRC gateway)](irker.md) | Send IRC messages, on update, to a list of recipients through an Irker gateway |
| [JIRA](jira.md) | JIRA issue tracker |
| JetBrains TeamCity CI | A continuous integration and build server |
-| [Mattermost Slash Commands](mattermost_slash_commands.md) | Mattermost slash commands |
+| [Mattermost command](mattermost_slash_commands.md) | Mattermost slash commands |
| PivotalTracker | Project Management Software (Source Commits Endpoint) |
| Pushover | Pushover makes it easy to get real-time notifications on your Android device, iPhone, iPad, and Desktop |
| [Redmine](redmine.md) | Redmine issue tracker |