GithubHelp home page GithubHelp logo

redmine_slack's Introduction

Redmine Slack

This plugin allows to send notifications from your Redmine installation to Slack.

It's heavily inspired by Redmine Messenger but supporting only Slack. This way, we can take advantage of a lot of rich features included on Slack.

Configuration

There's a global config and a per-project config to override global values. In this configuration you can set some parameters for the integration.

To configure this plugin you need to get Slack Token and Slack Signing Secret.

Slack Signing Secret

You get this on Basic Information tab for your app.

Screenshot of Signing Secret Section in Slack App config

Slack Token

You get this on "OAuth & Permissions" tab for your app.

Screenshot of Slack Token Section in Slack App config

Existing configuration parameters

This is a list of current configuration parameters (both in global and per project):

  • Slack Token: Configure Slack token
  • Slack Signing Secret: Configure Slack Signing Secret to validate requests coming from Slack
  • Slack Channel: Channel to send notifications.
  • Slack Verify SSL: Configure whether SSL should be validated (Leave on. This will probably be deleted in a future version)
  • Auto Mentions: Configure whether to use mentions automatically in Slack.
  • Default Mentions: Mentions to include by default in Slack notifications.
  • Post Updates: Post issues updates to Slack.
  • New Include Description: Include description in new issue.
  • Updated include description: Include description in updated issue.
  • Text Trim Size: Character amount used to trim notifications to Slack.
  • Supress Empty Messages: Avoid sending messages without text description to Slack.
  • Post Private issues: Configure whether new private issues should be posted to Slack.
  • Post private notes: Configure whether updates to private issues should be posted to Slack.
  • Post wiki: Configure whether new Wiki pages should be posted to Slack.
  • Post wiki updates: Configure whether updates to wiki pages should be posted to Slack.

Configuring a new channel

To configure a new channel, you could do one of these options:

  1. In Project -> Settings -> Redmine Slack, add channel and click save
  2. In Slack channel, invoke slash command like this: /redmine-connect project-slug

In order to use as described in number 2), you need to create a Slack Slash command and provide it with the following url: /slack/slash/connect

This is an example on how to configure the Slash Command:

Screenshot of Slack Slash Command Configuration in Slack App config

Posting Slack replies to Redmine

This plugin is able to post the threaded replies for a notification back to Redmine. In order to do so, you need to configure a cron job like this:

0 * * * * cd /home/redmine/redmine && ./bin/rails runner Slack.post_slack_responses -e production >> log/cron_rake.log 2>&1

You should also configure "Get Slack replies threshold" parameter in the global plugin settings to the same amount of seconds between each cron run (e.g. if cron runs once per hour, time replies threshold should be 3600).

In order to make this work, the bot needs to be added to the channels so that it can read the messages.

Features

This plugin sends Slack notifications when you update issues or wiki entries.

Permissions required in Slack

The following scopes are required in order to work properly with Slack:

  • chat:write
  • chat:write.public
  • commands
  • channels:history
  • channels:read
  • files:read
  • user:read
  • user:read.email

redmine_slack's People

Contributors

kporras07 avatar wucris avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.