/agile-metrics

collecting agile metrics from jira, bitbucket, sonarqube and send them to elastic stack to visualize in kibana

Primary LanguageJavaMIT LicenseMIT

Agile Metrics

Build Status Bugs Code Smells Coverage Duplicated LoC Density NCLOC Sqale Rating Alert Status Reliability Rating Security Rating Sqale Index Vulnerabilities

Overview

Agile Metrics is a collector for software development process KPI data. It collects measurements from Producers, creates metrics and sends them to Consumers.

Agile Metrics Overview

Producer

A producer is a data source that offers measurement data.

Supported producers:

BitBucket Server

Authentication Properties

  • producer.bitbucketserver.baseUrl
  • producer.bitbucketserver.username
  • producer.bitbucketserver.password

Metrics

  • Daily Commits
    • per Author
    • per Project
    • per Repository

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

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.

Consumer

A consumer is a data sink that takes the metrics data to provide further processing, for example visualization.

Supported consumers:

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