state machine for Github/Gitlab issue labels
August 11, 2020
typescript github gitlab state-machine

cautious-journey is a state machine for creating workflows out of Github/Gitlab labels.

Each time cautious-journey is run against a project, it searches the recently-updated issues for workflow-related labels. Depending on the labels found, it can close or re-open the issue, assign the issue to someone, or replace the current labels with the next workflow state.

It can also emulate label groups in tools that don’t support them, like Github and Gitlab CE.


cautious-journey should be considered a beta release and should be deployed with care. It seems to work correctly, there are tests in place for core functionality, and most of the initial features have been implemented. There are a few other things I would like to add and cannot guarantee the API is stable yet.


In this example, the next label causes the current status/ to be removed and the next status/ in the workflow graph to be added. Possible status/ labels here include new, confirmed, planned, progress, and done.

Related Posts


chat bot for Discord & Slack with NLP and webhook integration
April 21, 2018
typescript aws-lex chatbot gitlab


property based testing for mocha using fast-check
July 20, 2021
typescript library mocha testing


text adventure engine
May 12, 2021
typescript cli ink react text-adventure