grunt-slack-api

0.1.2 • Public • Published

grunt-slack-api

A more comprehensive slack api integration using grunt.

Getting Started

This plugin requires Grunt ~0.4.5

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-slack-api --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-slack-api');

The "slack_api" task

Overview

In your project's Gruntfile, add a section named slack_api to the data object passed into grunt.initConfig().

grunt.initConfig({
  slack_api: {
    options: {
      token : 'api-token-from-slack',
    },
    your_target: {
      options: {
          type : 'message',
          channel : '#general',
          text : 'Your message',
          attachments: [
            {
                        "fallback": "Required plain-text summary of the attachment.",
                        "color": "#36a64f",
                        "pretext": "Optional text that appears above the attachment block",
                        "author_name": "Bobby Tables",
                        "author_link": "http://flickr.com/bobby/",
                        "author_icon": "http://flickr.com/icons/bobby.jpg",
                        "title": "Slack API Documentation",
                        "title_link": "https://api.slack.com/",
                        "text": "Optional text that appears within the attachment",
                        "fields": [
                            {
                                "title": "Priority",
                                "value": "High",
                                "short": false
                            }
                        ],
                        "image_url": "http://my-website.com/path/to/image.jpg",
                        "markdwn_in" : ["text","pretext"]
                    }
          ],
          as_user : false,
          username : 'GruntSlackBot',
          parse : 'full',
          link_names : 1,
          unfurl_links : true,
          unfurl_media : false,
          icon_url : '',
          icon_emoji : ':chart_with_upwards_trend:'
      }
    },
  },
});

Options

options.token

type: String Default value: '',

This is the authorization token for Slack API requests. Get your token from here -> https://api.slack.com/web#basics

options.endpoint

Type: String Default value: https://slack.com/api/

This option is not required and is the base endpoint for the api requests to slack. Only use this if the slack endpoint changes form the default.

Custom Options

The below are options you add to "your_target" object for what you want to do.

options.type

Type: String Default value: message

The default type of slack api request you are making. Currently there are only two types available:

options.channel

Type: String Default value: #general

The channel to send the request to. If not set #general is the default.

options.text

Type: String Default value: ''

When "topic" is the options.type, the content of this string is used for the topic. Otherwise, this is the content posted to the channel. Follow the formatting guidelines here: https://api.slack.com/docs/formatting

options.attachments

Type: Array Default value: null

This is optional. You can follow guidelines on attachment setup here: https://api.slack.com/docs/attachments

Other keys

For all of the below keys, see https://api.slack.com/methods/chat.postMessage, these are only used when options.type is set to "message".

  • options.as_user
  • options.username
  • options.parse
  • options.link_names
  • options.unfurl_links
  • options.unfurl_media
  • options.icon_url
  • options.icon_emoji

Readme

Keywords

Package Sidebar

Install

npm i grunt-slack-api

Weekly Downloads

4

Version

0.1.2

License

none

Last publish

Collaborators

  • nerrad