https://github.com/cake-contrib/cake.slack
Cake AddIn that extends Cake with Slack messaging features
https://github.com/cake-contrib/cake.slack
cake-addin cake-build
Last synced: 13 days ago
JSON representation
Cake AddIn that extends Cake with Slack messaging features
- Host: GitHub
- URL: https://github.com/cake-contrib/cake.slack
- Owner: cake-contrib
- License: mit
- Created: 2015-01-09T20:03:16.000Z (over 10 years ago)
- Default Branch: develop
- Last Pushed: 2024-08-05T22:31:38.000Z (9 months ago)
- Last Synced: 2025-04-10T21:40:32.003Z (18 days ago)
- Topics: cake-addin, cake-build
- Language: C#
- Homepage: https://cakebuild.net/extensions/cake-slack
- Size: 653 KB
- Stars: 19
- Watchers: 7
- Forks: 16
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cake.Slack
Cake AddIn that extends Cake with Slack messaging features
[](https://ci.appveyor.com/project/cakecontrib/cake-slack/branch/develop)## Usage
### Post message
### Using token
```csharp
#addin "Cake.Slack"
var slackToken = EnvironmentVariable("SLACK_TOKEN");
var slackChannel = "#cake";
var postMessageResult = Slack.Chat.PostMessage(
token:slackToken,
channel:slackChannel,
text:"This _is_ a `message` from *CakeBuild* :thumbsup:\r\n```Here is some code```"
);if (postMessageResult.Ok)
{
Information("Message {0} successfully sent", postMessageResult.TimeStamp);
}
else
{
Error("Failed to send message: {0}", postMessageResult.Error);
}
```
Cake output will be similar to below:
```
Message 1420896696.000057 successfully sent
```
This will result in an message in your Slack channel similar to below:
### Using incoming web hook url
```csharp
#addin "Cake.Slack"
var slackhookuri = EnvironmentVariable("slackhookuri");
var slackChannel = "#cake";
var postMessageResult = Slack.Chat.PostMessage(
channel:slackChannel,
text:"This _is_ a `message` from *CakeBuild* :thumbsup:\r\n```Here is some code```",
messageSettings:new SlackChatMessageSettings { IncomingWebHookUrl = slackhookuri }
);if (postMessageResult.Ok)
{
Information("Message successfully sent");
}
else
{
Error("Failed to send message: {0}", postMessageResult.Error);
}
```
Cake output will be similar to below:
```
Message successfully sent
```
This will result in an message in your Slack channel similar to below:
### Using message attachments
```csharp
#addin "Cake.Slack"
var slackWebHookUrl = EnvironmentVariable("slackWebHookUrl");
var slackChannel = "#cake";
var slackAssemblyFieldAttachment = new SlackChatMessageAttachmentField[]
{
new SlackChatMessageAttachmentField
{
Title = "Message Attachment Title",
Value = "Message Attachment Value"
}
};
var postMessageResult = Slack.Chat.PostMessage(
channel:slackChannel,
text:"Starting Cake Build...",
messageAttachments:new SlackChatMessageAttachment[]
{
new SlackChatMessageAttachment
{
Text = "Cake Text",
Pretext = "Cake Pretext",
Color = "#67A0E1",
Fields = slackAssemblyFieldAttachment
}
},
messageSettings:new SlackChatMessageSettings { IncomingWebHookUrl = slackWebHookUrl });if (postMessageResult.Ok)
{
Information("Message successfully sent");
}
else
{
Error("Failed to send message: {0}", postMessageResult.Error);
}
```
This will result in a message in your Slack channel similar to below:
## DiscussionFor questions and to discuss ideas & feature requests, use the [GitHub discussions on the Cake GitHub repository](https://github.com/cake-build/cake/discussions), under the [Extension Q&A](https://github.com/cake-build/cake/discussions/categories/extension-q-a) category.
[](https://github.com/cake-build/cake/discussions)