Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including node-slackr with all npm packages installed. Try it out:

var nodeSlackr = require("node-slackr")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

node-slackr v1.0.1

A node.js module for send notifications to Slack, support multiple channel and attachments

travis-ci

This module has been deprecated.

please move to Slack offecial API

Summary

A simple node.js library for send notifications to Slack via Incoming WebHooks.

Installation

You can also install via npm:

npm install node-slackr

Initialize client:

Slack = require('node-slackr');
slack = new Slack('https://<incoming-hook-url>');

Initialize with options:

slack = new Slack('https://<incoming-hook-url>',{
  channel: "#development",
  username: "slack-bot",
  icon_url: "http://domain.com/image.png",
  icon_emoji: ":ghost:"
});

Send message:

If channel is not set default channel is #general

slack.notify("Message"); //without callback
slack.notify("Message", function(err, result){
    console.log(err,result);
});

Customized Appearance:

You can customize the name and icon of your Incoming Webhook.

messages = {
    text: "Message",
    channel: "#random",
    username: "new-bot-name",
    icon_url: "https://slack.com/img/icons/app-57.png"
}

slack.notify(messages);

Send multiple channels:

messages = {
    text: "Message",
    channel: ["#channel1","#channel2","#channel3"]
}

slack.notify(messages);

Message Attachments:

To display a richly-formatted message attachment in Slack, you can use the same JSON payload as above, but add in an attachments array. Each element of this array is a hash containing the following parameters:

messages = {
  text: "Server Down",
  channel: "#alert",
  attachments: [
    {
      fallback: "Detected server down",
      color: "#36a64f", // Can either be one of 'good', 'warning', 'danger'
      fields: [
        {
          title: "Uptime",
          value: "30 Hours",
          short: false
        },
        {
          title: "Downtime",
          value: "20 Minutes",
          short: false
        }
      ]
    }
  ]
};

slack.notify(messages, function(err, result) {
    console.log(err, result);
});

Documentation

For more information such as send URL link, Message Formatting, @mention and Parsing modes, please follow the link below

Formatting

Incomg Webook

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free