The /whisk.system/slack
package offers a convenient way to use the Slack APIs.
The package includes the following actions:
Entity | Type | Parameters | Description |
---|---|---|---|
/whisk.system/slack | package | url, channel, username | Interact with the Slack API |
/whisk.system/slack/post | action | text, url, channel, username | Posts a message to a Slack channel |
Creating a package binding with the username
, url
, and channel
values is suggested. With binding, you don't need to specify the values each time that you invoke the action in the package.
The /whisk.system/slack/post
action posts a message to a specified Slack channel. The parameters are as follows:
url
: The Slack webhook URL.channel
: (optional) The Slack channel to post the message to.username
: The name to post the message as.text
: A message to post.token
: (optional) A Slack access token. See below for more detail on the use of the Slack access tokens.The following is an example of configuring Slack, creating a package binding, and posting a message to a channel.
After Slack is configured, you get a webhook URL that looks like https://hooks.slack.com/services/aaaaaaaaa/bbbbbbbbb/cccccccccccccccccccccccc
. You'll need this in the next step.
wsk package bind /whisk.system/slack mySlack \ --param url "https://hooks.slack.com/services/..." \ --param username "Bob" \ --param channel "#MySlackChannel"
post
action in your package binding to post a message to your Slack channel.wsk action invoke mySlack/post --blocking --result \ --param text "Hello from OpenWhisk!"
If you prefer, you may optionally choose to use Slack's token-based API, rather than the webhook API. If you so choose, then pass in a token
parameter that contains your Slack access token. You may then use any of the Slack API methods as your url
parameter. For example, to post a message, you would use a url
parameter value of slack.postMessage.