A service that automates the process of setting tasks in the task tracker by analyzing messages in the messenger. Integration with Mattermost, Rocket Chat, Jira and Yandex Tracker is currently supported. It is possible to track new messages in the threads for which tasks have been created, with further addition of the message text in the comments to the task.
For more information, see the project presentation
- Install the necessary messenger (
Mattermost
orRocket.Chat
) and task tracker (Jira
orYandex Tracker
) - Create bot accounts
- Save the necessary tokens to environment variables
- Set up the configuration file
- Add the name of the file containing the config to the environment variable
CONFIG
- Build and run
make run
- Testing
make test
An example of the config is in the file configs/config.yml
messenger
- the messenger used.rocketchat
ormattermost
task_tracker
- the task tracker used.jira
oryandex_tracker
enable_msg_threating
- the mode for tracking new messages for which a task has been created, and creating comments on the task with text.true
orfalse
storage_type
-postgres
orin_memory
. It is necessary ifenable_msg_threating == true
,message_reply
- template for generating the default response of the bot in the messengermessages_pattern
- the regular expression that will determine the need to create an issuetask_name
- template for generating the default task name
If storage_type == postgres
, then the following parameters must also be specified:
env_postgres_login
- the name of the environment variable containing postgres loginenv_postgres_password
- the name of the environment variable containing postgres passwordpostgres_host, postgres_port, postgres_name, postgres_table_name
- the hostname, port, name and the tablename of the postgres database server
Next, you can specify only the parameters necessary for a specific messenger and task tracker
Jira:
env_jira_bot_username
иenv_jira_bot_password
- the names of the environment variables containing the username and password of the bot's account in jirajira_project
,jira_issue_type
allows you to configure the task creation parameters in jirajira_base_url
- base url for connecting to a jira server
Mattermost:
env_mattermost_token
- the name of the environment variable containing the mattermost bot tokenmattermost_http
- HTTP or HTTPS endpoint for connecting to a mattermost servermattermost_websocket
- WebSocket endpoint for connecting to a mattermost servermettermost_team_name
- name of the mattermost team
Rocket.Chat:
mattermost_http
- HTTP or HTTPS endpoint for connecting to a rocketchat servermattermost_host
- base url for connecting to a rocketchat serverenv_rocketchat_token
- the name of the environment variable containing the rocketchat bot tokenenv_rocketchat_id
- the name of the environment variable containing the rocketchat bot id
Yandex Tracker:
yandex_tracker_host
- API endpoint for connecting to the yandex tracker serviceyandex_tracker_base_url
- base url for connecting to the yandex tracker serviceenv_yandex_tracker_id_organization, env_yandex_tracker_token
- the name of the environment variable containing id organization, token of the botyandex_tracker_type_organization, yandex_tracker_token_type
- the name of the environment variable containing type organization, token type of the botyandex_tracker_queue
,yandex_tracker_task_type
: allows you to configure the task creation parameters in yandex tracker
Make issue in Yansex Tracker from Rocket.Chat:
Task in Yandex Tracker:
Make issue in Jira from Mattermost with comment:
Task in Jira with comment: