This repository is now deprecated. It will not be maintained anymore. It will be replaced by simpler, smaller, independent projects written in Golang to achieve the same result:
Agilizer is a suite of tools (Source, Notebooks...) which is intended for providing data for Agile team efficiency and velocity measuring.
It is currently customized for the JobTeaser Tech team and supports the following data sources:
- JIRA: project management
- Toggl: worklog reports
This part is intended on fetching data from a project management solution and process them to enable using them with the other components of the suite (e.g. the UI).
Create a .env
file to setup required environment variables (see .env.example
).
Once this is done, you should be able to play with:
bundle install
bin/console
bin/db/migrate
# DATE is a Ruby-parseable date. Toggl reports will be fetched
# from this date.
script/import DATE
script/process_cache
script/clear_agilizer
script/sync
script/process_cache
Have a look to the documentation in doc for information on deployment, JIRA webhook configuration and the synchronization strategies.
jira_client_options = {
domain: ENV['JIRA_DOMAIN'],
username: ENV['JIRA_USERNAME'],
password: ENV['JIRA_PASSWORD'],
logger: Logger.new(STDOUT)
}
Agilizer::Interface::JIRA.import_issue(issue_key, jira_client_options)
Issue
The container class for source and processed issue data.
data
: source data from JIRAessence
: results from performed mapping and processing ondata
bin/build_spec_case ISSUE-KEY 1
This will generate the spec/fixtures/jira_issues/case_1.json
file, assuming there is a JiraCache::Issue
with the ISSUE-KEY
key in the development database.
Anonymization / post-processing
You can perform custom post-processing (for example to anonymize your issue) by creating the bin/build_spec_case_post_process
file (you can use bin/build_spec_case_post_process_example
to get started).
- Please respect the code style (run Rubocop with the rules defined in the project).