Skip to content

BrotherWarrior/jira-to-matrix

 
 

Repository files navigation

JIRA to Matrix bot

Build Status codecov dependencies Status

A bot (web-service) which:

  • listens to JIRA Webhooks and sends some stuff to Matrix;
  • use command from Matrix Riot to integrate with Jira and make different actions.

Features

  • Creates a room for every new issue;
  • Invites new participants to the room;
  • Posts any issue updates to the room;
  • Appropriately renames the room if the issue was moved to another project;
  • Post new links to related rooms. Notifies when a related issue's status changes;
  • Talks in English or Russian only (easily extendible, see src/locales).

How to use

Make some config copying config.example.js. Run $ node . -c "path_to_config" It will say if something is wrong.

Install Linux CentOS service with systemd

  • Give ownership of directory installed jira-to-matrix to dedicated user (for security issues)
  • Modify file jira-to-matrix.service with your configuration
  • Copy file jira-to-matrix.service to /etc/systemd/system/ and enable it
  • Enable tcp-connection with firewalld from Jira webhook. Enable tcp listener with SELinux
# Add user jira-matrix-bot without homedirectory and deny system login
$ sudo useradd -M useradd -M jira-matrix-bot
$ sudo usermod -L jira-matrix-bot
    
# Change directory owner to new created user
$ sudo chown -R jira-matrix-bot: /path/to/jira-to-matrix

# Modify service config
$ vi /path/to/jira-to-matrix/jira-to-matrix.service
# change User, WorkingDirectory, ExecStart

# Copy service definition to systemd directory
$ sudo cp /path/to/jira-to-matrix/jira-to-matrix.servce /etc/systemd/system

# Enable connections to bot with Jira webhook (tcp port 4100, see your config.js)
$ sudo firewall-cmd --zone=public --add-port=4100/tcp --permanent

# Add permissions for SELinux (tcp port 4100, see your config.js)
$ sudo semanage port -a -t http_port_t -p tcp 4100

# Enable service to run at startup
$ sudo systemctl enable jira-to-matrix

# Start service
$ sudo systemctl start jira-to-matrix

Status

The project is in a rough shape and under active development. Fixed It is successfully deployed in a medium-size company.


Developed with Node 8.1. Probably will work on any version having async/await.

Russian README

About

JIRA to Matrix bot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%