This project comes with:
- Administration panel for users
- Rspec tests
- Code quality tools
- Exception Tracking (Exception Hunter https://github.com/rootstrap/exception_hunter)
- Clone this repo
- Install PostgreSQL in case you don't have it
- Create
.env
file with env variables anddatabase.yml
- Create DB tables and seed data
rake db:create
rake db:migrate
rake db:seed
- Install dependencies:
yarn
ornpm install
rspec
and make sure all tests passrails s
IMPORTANT: At the moment of running the tests
- You will need to have redis installed.
On Mac:
brew install redis
brew services start redis
- You'll need SUPERUSER permissions on postgresql for the defined user.
Either assign superuser permissions to postgres
or update the env vars: GITHUB_ANALYZER_USERNAME
and GITHUB_ANALYZER_PASSWORD
rake code_climate:link
is run only to update repositories' Code Climate repository ids.
code_owners_list
runs at 23:00 on every day-of-week from Monday through Friday.external_contributions_processor
runs at 05:00 on every day-of-week from Monday through Friday.jira_defect_metrics_updater
runs at 06:00 on every day-of-week from Monday through Friday.open_source_metrics_update
runs at 06:00.organization_members_updater
runs at 05:00 on every day-of-week from Monday through Friday.send_open_source_notification
runs at 10:00 every Friday.repositories_update
runs at 05:40 every Saturday.
- Department
- In order to change Department Success Rates time limit setting, create a new
Setting
with key prefixsuccess_rate
, followed by the department name and the metric name. - Example:
Setting.create!(key: 'success_rate_backend_merge_time', value: '12')
Possible values: 12 | 24 (default) | 36 | 48 | 60 | 72
- In order to change Department Success Rates time limit setting, create a new
- Repository
- In order to change Repository Success Rates time limit setting, create a new
Setting
with key prefixsuccess_rate_
, followed by the repository name and the metric name. - Example:
Setting.create!(key: 'success_rate_rs-code-review-metrics_merge_time', value: '12')
Possible values: 12 | 24 (default) | 36 | 48 | 60 | 72
- In order to change Repository Success Rates time limit setting, create a new
Possible values: true | false (default)
enabled_users_section
enables Users section at Development Metrics sidebar.enabled_department_per_tech_graph
enables Department per technology detail graph.enabled_repository_codeowners_section
enables Repository codeowners section.enabled_repository_per_user_graph
enables Repository per-user detail graphs.
With rake code_analysis
you can run the code analysis tool, you can omit rules with:
- Rubocop Edit
.rubocop.yml
- Reek Edit
config.reek
- Rails Best Practices Edit
config/rails_best_practices.yml
- Brakeman Run
brakeman -I
to generateconfig/brakeman.ignore
- Bullet You can add exceptions to a bullet initializer or in the controller
Run open coverage/index.html
in terminal to see coverage values
Home Page url: http://engineering-metrics.herokuapp.com/ Exception Hunter dashboard: https://engineering-metrics.herokuapp.com/exception_hunter/errors Admin: https://engineering-metrics.herokuapp.com/admin