You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
2.3 KiB
Markdown
84 lines
2.3 KiB
Markdown
---
|
|
display_name: Slack Me
|
|
description: Send a Slack message when a command finishes inside a workspace!
|
|
icon: ../.icons/slack.svg
|
|
maintainer_github: coder
|
|
verified: true
|
|
tags: [helper]
|
|
---
|
|
|
|
# Slack Me
|
|
|
|
Add the `slackme` command to your workspace that DMs you on Slack when your command finishes running.
|
|
|
|
```bash
|
|
slackme npm run long-build
|
|
```
|
|
|
|
## Setup
|
|
|
|
1. Navigate to [Create a Slack App](https://api.slack.com/apps?new_app=1) and select "From an app manifest". Select a workspace and paste in the following manifest, adjusting the redirect URL to your Coder deployment:
|
|
|
|
```json
|
|
{
|
|
"display_information": {
|
|
"name": "Command Notify",
|
|
"description": "Notify developers when commands finish running inside Coder!",
|
|
"background_color": "#1b1b1c"
|
|
},
|
|
"features": {
|
|
"bot_user": {
|
|
"display_name": "Command Notify"
|
|
}
|
|
},
|
|
"oauth_config": {
|
|
"redirect_urls": [
|
|
"https://<your coder deployment>/external-auth/slack/callback"
|
|
],
|
|
"scopes": {
|
|
"bot": ["chat:write"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
2. In the "Basic Information" tab on the left after creating your app, scroll down to the "App Credentials" section. Set the following environment variables in your Coder deployment:
|
|
|
|
```env
|
|
CODER_EXTERNAL_AUTH_1_TYPE=slack
|
|
CODER_EXTERNAL_AUTH_1_SCOPES="chat:write"
|
|
CODER_EXTERNAL_AUTH_1_DISPLAY_NAME="Slack Me"
|
|
CODER_EXTERNAL_AUTH_1_CLIENT_ID="<your client id>
|
|
CODER_EXTERNAL_AUTH_1_CLIENT_SECRET="<your client secret>"
|
|
```
|
|
|
|
3. Restart your Coder deployment. Any Template can now import the Slack Me module, and `slackme` will be available on the `$PATH`:
|
|
|
|
```tf
|
|
module "slackme" {
|
|
source = "registry.coder.com/modules/slackme/coder"
|
|
version = "1.0.2"
|
|
agent_id = coder_agent.example.id
|
|
auth_provider_id = "slack"
|
|
}
|
|
```
|
|
|
|
## Examples
|
|
|
|
### Custom Slack Message
|
|
|
|
- `$COMMAND` is replaced with the command the user executed.
|
|
- `$DURATION` is replaced with a human-readable duration the command took to execute.
|
|
|
|
```tf
|
|
module "slackme" {
|
|
source = "registry.coder.com/modules/slackme/coder"
|
|
version = "1.0.2"
|
|
agent_id = coder_agent.example.id
|
|
auth_provider_id = "slack"
|
|
slack_message = <<EOF
|
|
👋 Hey there from Coder! $COMMAND took $DURATION to execute!
|
|
EOF
|
|
}
|
|
```
|