Skip to content
This repository has been archived by the owner on Dec 19, 2019. It is now read-only.

Datastore for JobTeaser's dev team software development tools (JIRA, Toggl...)

Notifications You must be signed in to change notification settings

rchampourlier/agilizer_source

Repository files navigation

Agilizer Source

Build Status Test Coverage Code Climate


ARCHIVED / DEPRECATED REPOSITORY

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:


About

What is Agilizer?

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

What is the Source component?

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).

Prerequisites

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

Getting started

DB migration

bin/db/migrate

Initial import

# DATE is a Ruby-parseable date. Toggl reports will be fetched
# from this date.
script/import DATE

Reprocess all issues cached in JiraCache store

script/process_cache

Cleanup Agilizer issues and get a fresh update from JiraCache store

script/clear_agilizer
script/sync
script/process_cache

Documentation

Have a look to the documentation in doc for information on deployment, JIRA webhook configuration and the synchronization strategies.

Troubleshooting

Refreshing cached issue

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)

Understanding

Definitions

Issue The container class for source and processed issue data.

  • data: source data from JIRA
  • essence: results from performed mapping and processing on data

Contributing

How to add spec case fixtures

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).

Rules

  • Please respect the code style (run Rubocop with the rules defined in the project).

About

Datastore for JobTeaser's dev team software development tools (JIRA, Toggl...)

Resources

Stars

Watchers

Forks

Packages

No packages published