release-engineering / retasc

Release Task Schedule Curator (ReTaSC) - Plans product release work in Jira based on schedules in Product Pages
GNU General Public License v3.0
1 stars 0 forks source link

Coverage Status

Release Task Schedule Curator (ReTaSC)

ReTaSC is an app that plans product release work in Jira based on schedules in Product Pages (PP).

Introduction

ReTaSC is meant to run as a batch job regularly to monitor schedules in PP and create or update Jira issues according to custom rules and Jira templates.

ReTaSC manages the Jira issues it creates until resolved. This means that if a PP schedule or a rule changes, the related unresolved Jira issues are also updated or even closed.

Tasks and Rules

Tasks are objects managed by ReTaSC. Each Task is related to a specific Rule and a Product Release (an identifier in PP).

Rules describe how to manage related tasks using:

Task state can be one of:

Environment Variables

Below is list of environment variables supported in the container image:

Development

This section lists useful commands to help with ReTaSC development.

Install pre-commit locally:

pre-commit install

Creating a new commit or amending an existing commit may cause the pre-commit to fail. In many cases pre-commit automatically fixes formatting and you can run the command again:

> git commit --ammend --no-edit
...
autoflake................................................................Failed
- hook id: autoflake
- files were modified by this hook
...

> git commit --ammend --no-edit
...
autoflake................................................................Passed
...

Run tests and additional linters:

tox

Inspect specific test failure:

tox -e py3 -- --no-cov -lvvvvsxk test_init_tracing_with_valid_config

Install and run the app to virtualenv with Poetry:

poetry install
poetry run retasc --help

Clean up the virtualenv (can be useful after larger host system updates):

poetry env remove --all