All Projects → gsingers → Slack Jira Plugin

gsingers / Slack Jira Plugin

Licence: mit
A Slack plugin that watches channels for messages about JIRA and acts accordingly

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Slack Jira Plugin

Twitch Js
A community-centric, community-supported version of tmi.js
Stars: ✭ 225 (-10.71%)
Mutual labels:  bot
Profiles
👍 Make JavaScript Great Again
Stars: ✭ 238 (-5.56%)
Mutual labels:  bot
Prettier Github
Format code in GitHub comments with Prettier
Stars: ✭ 244 (-3.17%)
Mutual labels:  bot
Micromsg Bot
微信表情机器人
Stars: ✭ 230 (-8.73%)
Mutual labels:  bot
Bastion
🚀 Get an enhanced Discord experience!
Stars: ✭ 234 (-7.14%)
Mutual labels:  bot
Publicleech
can be found on Telegram as https://telegram.dog/PublicLeechGroup
Stars: ✭ 236 (-6.35%)
Mutual labels:  bot
Python Telegram Bot
We have made you a wrapper you can't refuse
Stars: ✭ 17,209 (+6728.97%)
Mutual labels:  bot
Generator Teams
A Yeoman Generator for Microsoft Teams
Stars: ✭ 246 (-2.38%)
Mutual labels:  bot
Anydlbot
An Open Source GPLv3 All-In-One Telegram Bot
Stars: ✭ 236 (-6.35%)
Mutual labels:  bot
Telegram channel downloader
一个电报群组、频道下载脚本,支持上传到GD、OD等rclone可以挂载的网盘。
Stars: ✭ 216 (-14.29%)
Mutual labels:  bot
Botui
🤖 A JavaScript framework to create conversational UIs
Stars: ✭ 2,607 (+934.52%)
Mutual labels:  bot
Facebooktoolkit
a tool to get Facebook data, and some Facebook bots, and extra tools found on Facebook Toolkit ++.
Stars: ✭ 227 (-9.92%)
Mutual labels:  bot
Alfred Jira
Alfred 3 (or Alfred 2) workflow for interacting with JIRA.
Stars: ✭ 242 (-3.97%)
Mutual labels:  jira
Get Me A Date
😍 Help me get a 💘 date tonight 🌛
Stars: ✭ 228 (-9.52%)
Mutual labels:  bot
Swiftybot
How to create a Telegram, Facebook Messenger, and Google Assistant bot with Swift using Vapor on Ubuntu / macOS.
Stars: ✭ 247 (-1.98%)
Mutual labels:  bot
Gpt2bot
Your new Telegram buddy powered by transformers
Stars: ✭ 228 (-9.52%)
Mutual labels:  bot
First Timers Bot
A friendly bot that helps onboarding new Open Source Contributors
Stars: ✭ 239 (-5.16%)
Mutual labels:  bot
Graw
Golang Reddit API Wrapper
Stars: ✭ 251 (-0.4%)
Mutual labels:  bot
Sapconversationalai
✨ 🤖 🤖 Build your own conversational bot on our Collaborative Bot Platform! 🤖🤖 ✨
Stars: ✭ 247 (-1.98%)
Mutual labels:  bot
Jiraps
PowerShell module to interact with Atlassian JIRA
Stars: ✭ 241 (-4.37%)
Mutual labels:  jira

Slack JIRA Bot Plugin

JIRA Bot integration with slack. The bot automatically appends a link to a message whenever there is a mention of a JIRA issue in the message, for example:

Sample screenshot of JIRABot in action

Usage

git clone https://github.com/gsingers/slack-jira-plugin.git
cd slack-jira-plugin
npm install

Write your own configuration file (config-example.js) is a good starting point for building your own.

var slackbot = require('./lib/bot');

var config = {
  showIssueDetails: true,
  issueDetailsToShow: {'fields.summary':1 , 'fields.assignee' : 1, 'fields.creator' : 0, 'fields.description': 0},
  showDetailsByDefault: true,//if true, you don't need the '+' to get details
  bot_name: "jira",//Provide the name to post under
  token: 'XXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXX', // https://api.slack.com/web
  jira_urls: {
    // DEFAULT NODE IS REQUIRED.
    "DEFAULT": {url: "https://default.jira.server/browse/"},
    // These should match projects from the projects property where you want to use a configuration other than the default
    "SOLR": {
      url: "https://issues.apache.org/jira/browse/",
      jira: {
        user: 'username', // be sure to use the username, not the user email
        password: 'password',
        host: 'hostname',
        protocol: 'https',
        port: 443,
        version: '2',
        verbose: true,
        strictSSL: true
      }
    },
    "GRANT": {url:"http://grant.jira.server/jira/browse/"}
  },
  search_cmd: "search",
  //Since search results can be verbose, you may not want to muddy the channel
  search_output_chan: "C02U1L9KZ",//if the value is "this", then the current channel will be used, else the name of a channel
  projects: ["REPLACE", "ME", "WITH", "YOUR", "PROJECT", "NAMES", "GRANT", "SOLR"],
  post: true,
  verbose: true,
  custom_texts: {
    messagePrefix: "Hey, thought this might help: " //message you might like to prefix to JiraBot's post
  },
  emoji: ":jira:", // be sure to upload your custom emoji in slack
  link_separator: ", ",// use \n if you want new lines
  error_channel: '' //the id of the channel to send low level log errors.  If not defined, will use the current channel
};

//DO NOT EDIT BELOW HERE
var slackbot = new slackbot.Bot(config);
slackbot.run();

Save this to a file in the root of the project then run your bot with:

node your-config-file, eg.: node config-gsingers

This will launch the bot in your terminal based on provided configuration.

Configuration

  • token: Your Slack API token, get your token at https://api.slack.com/web
  • issueDetailsToShow: Details from JIRA you want to be rendered in Slack
  • jira_urls: A mapping of JIRA project names to the URL that can display that JIRA issue, i.e. SOLR -> https://issues.apache.org/jira/browse/
  • projects: A list of JIRA project names, as in SOLR, MAHOUT, LUCENE
  • post: If true, then post a new msg, else update the current one
  • verbose: print logging info
  • custom_texts.messagePrefix: An optional message that you can prefix at the beginning of the bot's message that will be posted
  • emoji: The emoji to use for the bot. You may need to create a JIRA emoji for the current one to work, else replace w/ your favorite slack emoji
  • link_separator: The text to use to separate links in the response.

TODO

  • Deeper integration w/ the JIRA API
  • Optionally restrict to certain config'd channels
  • bot.js expandInfo conflicts with "+" providing feature or that feature is not done yet
  • Possible Issue: Whenever code compiled and server restarted, it runs parsing for the last posted message again, even though it might have been processed already in the previous run.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].