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.
- 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
).
Make some config copying config.example.js. Run
$ node . -c "path_to_config"
It will say if something is wrong.
- 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
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.