Development

This page provides information on how to start developing additional features.

Getting started

This bot is written in typescript. So you need to have node.js installed.

Fork and clone the repository.

git clone git@github.com:<YOUR_NAME>/wekanchatbot.git

If necessary checkout to another branch. You can name your branch something logical. For example, if you try to fix a bug name the new branch bug_<short description of the bug>. Create the new branch based on the develop branch, because it is the most up-to-date branch.

git checkout develop
git checkout -b feature_<name the feature>

Install the dependencies.

npm i

Docker setup

You can skip this step, if you have running databases and applications while devloping. Start some docker containers depending on your needs.

Create a mongodb container for the bot. This container is using the port 27018 by default to be able to run alongside the mongodb container used by wekan. (Currently the wekan container does not export any ports by default)

docker-compose -f docker-compose.dev.yml up -d

Create a simple wekan installation using docker containers. It is recommended to use the latest docker-compose.yml file provided by wekan.

curl -o docker-compose.wekan.yml https://raw.githubusercontent.com/wekan/wekan/master/docker-compose.yml
docker-compose -f docker-compose.wekan.yml up -d

Additional setup is required for the chat applications. You only need to have admin access to the chat applications you need. For Mattermost & Rocketchat you can use their docker images and for slack you need to create an account.

Setting up the Environment

The repository provides a .env.test environment file. Which is an easy place to adjust your settings while developing. Create a file .env.dev and adjust the values. For example, you need to set different URLs for different chat applications depending on the feature you are working on and insert your tokens for wekan. For further information visit the following site.

pageEnvironment

Last updated