Awesome
Agile Metrics
Overview
Agile Metrics is a collector for software development process KPI data. It collects measurements from Producers, creates metrics and sends them to Consumers.
<a href="producer"></a>Producer
A producer is a data source that offers measurement data.
Supported producers:
<a href="bitbucket"></a>BitBucket Server
Authentication Properties
producer.bitbucketserver.baseUrl
producer.bitbucketserver.username
producer.bitbucketserver.password
Metrics
- Daily Commits
- per Author
- per Project
- per Repository
<a href="jira"></a>JIRA Software Server
Authentication Properties
producer.jirasoftware.baseUrl
producer.jirasoftware.username
producer.jirasoftware.password
Metrics
- Issue Volume
- Cumulative Flow
- Estimated Story Points
- Completed
- Not Completed
- Lead Time
- Bug Rate
- Recidivism
producer.jirasoftware.workflow
needs to be defined (comma separated list)
- Acceptance Criteria Volatility
producer.jirasoftware.acceptanceCriteriaFieldName
needs to be defined
- Velocity
- Labels
<a href="sonarqube"></a>SonarQube
Authentication Properties
producer.sonarqube.baseUrl
producer.sonarqube.username
producer.sonarqube.password
Metrics
All SonarQube metrics defined as comma separated list of keys in producer.sonarqube.metrics
. A list of all Metrics can be found at: SonarQube Documentation.
<a href="consumer"></a>Consumer
A consumer is a data sink that takes the metrics data to provide further processing, for example visualization.
Supported consumers:
<a href="elasticsearch"></a>ElasticSearch
Authentication Properties
consumer.elasicsearch.baseUrl
Getting Started
To get started set all the authentication properties of the systems you would like to use in the application.properties
file.
The server is started with the command java -jar agile-metrics-VERSION.jar
.
Authentication properties are checked at startup, so you will see any errors in the logfile logs/rollingfile.log
.
Metrics collecting runs every day at 00:15, you can change it with the property cron.expression.daily
(crontab pattern).