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.
2.4 KiB
2.4 KiB
display_name | description | icon | maintainer_github | verified | tags | |
---|---|---|---|---|---|---|
Slack Me | Send a Slack message when a command finishes inside a workspace! | ../.icons/slack.svg | coder | true |
|
Slack Me
Add the slackme
command to your workspace that DMs you on Slack when your command finishes running.
slackme npm run long-build
Setup
-
Navigate to Create a Slack App and select "From an app manifest". Select a workspace and paste in the following manifest, adjusting the redirect URL to your Coder deployment:
{ "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"] } } }
-
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:
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>"
-
Restart your Coder deployment. Any Template can now import the Slack Me module, and
slackme
will be available on the$PATH
:module "slackme" { count = data.coder_workspace.me.start_count 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.
module "slackme" {
count = data.coder_workspace.me.start_count
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
}