Documentation Plugins



Plugins add new functionalities to Alambic. They most notably provide new data sources for projects, computing and visualisation features, and can be easily customised to fit specific needs. Each plugin provides a set of abilities, which are features they provide to the system:

  • Information: meta-data, pieces of information relevant to the project. Examples are the project's description and name, the URL of repositories, etc.
  • Metrics: meta-data, pieces of information relevant to the project. Examples are the project's description and name, the URL of repositories, etc.
  • Figures: meta-data, pieces of information relevant to the project. Examples are the project's description and name, the URL of repositories, etc.
  • Downloads: meta-data, pieces of information relevant to the project. Examples are the project's description and name, the URL of repositories, etc.
  • Recommendations: meta-data, pieces of information relevant to the project. Examples are the project's description and name, the URL of repositories, etc.
  • Visualisations: meta-data, pieces of information relevant to the project. Examples are the project's description and name, the URL of repositories, etc.

Plugins are organised into types, which define when they are executed and the information they have access to.

  • Pre- plugins, also known as data source plugins, are executed first. They usually retrieve information from a repository, and compute metrics and recommendations.
  • When all pre- plugins are executed, Alambic computes the attributes and quality model and executes the post- plugins. These have access to all information, custom data, metrics, attributes and recommendations retrieved and computed by pre plugins, and are a good fit for project-level reports.
  • When all projects have been executed, the global plugins are run. They have access to all information from all projects and are a good fit for installation-wide reports.

Data source plugins


Eclipse PMI

ID: EclipsePmi

Abilities:   metrics   info   data   recs   viz

Description:
Eclipse PMI Retrieves meta data about the project from the Eclipse PMI infrastructure.
See the project's documentation for more information.

Parameters:

  • project_pmi The project ID used to identify the project on the PMI server. Look for it in the URL of the project on http://projects.eclipse.org.

Information
PMI_BUGZILLA_COMPONENT, PMI_BUGZILLA_CREATE_URL, PMI_BUGZILLA_PRODUCT, PMI_BUGZILLA_QUERY_URL, PMI_CI_URL, PMI_DESC, PMI_DOCUMENTATION_URL, PMI_DOWNLOAD_URL, PMI_GETTINGSTARTED_URL, PMI_ID, PMI_MAIN_URL, PMI_MLS_DEV_URL, PMI_MLS_USR_URL, PMI_SCM_URL, PMI_TITLE, PMI_UPDATESITE_URL, PMI_WIKI_URL

Metrics
PMI_ACCESS_INFO, PMI_DOC_INFO, PMI_ITS_INFO, PMI_REL_VOL, PMI_SCM_INFO

Figures

Downloads
pmi.json: The PMI file as returned by the Eclipse repository (JSON).
pmi_checks.csv: The list of PMI checks and their results (CSV).
pmi_checks.json: The list of PMI checks and their results (JSON).

Recommendations
PMI_EMPTY_BUGZILLA_CREATE, PMI_EMPTY_BUGZILLA_QUERY, PMI_EMPTY_CI, PMI_EMPTY_DEV_ML, PMI_EMPTY_DOC, PMI_EMPTY_DOWNLOAD, PMI_EMPTY_GETTING_STARTED, PMI_EMPTY_PLAN, PMI_EMPTY_PROPOSAL, PMI_EMPTY_REL, PMI_EMPTY_SCM, PMI_EMPTY_TITLE, PMI_EMPTY_UPDATE, PMI_EMPTY_USER_ML, PMI_EMPTY_WEB, PMI_EMPTY_WIKI, PMI_NOK_BUGZILLA_CREATE, PMI_NOK_BUGZILLA_QUERY, PMI_NOK_CI, PMI_NOK_DEV_ML, PMI_NOK_DOC, PMI_NOK_DOWNLOAD, PMI_NOK_GETTING_STARTED, PMI_NOK_PLAN, PMI_NOK_PROPOSAL, PMI_NOK_SCM, PMI_NOK_UPDATE, PMI_NOK_USER_ML, PMI_NOK_WEB, PMI_NOK_WIKI

Visualisation
Eclipse PMI Checks

Git

ID: Git

Abilities:   info   metrics   data   recs   figs   viz   users

Description:
Retrieves configuration management data and metrics from a git repository. This plugin uses the Git Tool in Alambic.
See the project's wiki for more information.

Parameters:

  • git_url The git repository URL, e.g. https://BorisBaldassari@bitbucket.org/BorisBaldassari/alambic.git.

Information
GIT_URL

Metrics
SCM_AUTHORS, SCM_AUTHORS_1M, SCM_AUTHORS_1W, SCM_AUTHORS_1Y, SCM_COMMITS, SCM_COMMITS_1M, SCM_COMMITS_1W, SCM_COMMITS_1Y, SCM_COMMITTERS, SCM_COMMITTERS_1M, SCM_COMMITTERS_1W, SCM_COMMITTERS_1Y, SCM_MOD_LINES, SCM_MOD_LINES_1M, SCM_MOD_LINES_1W, SCM_MOD_LINES_1Y

Figures
git_evol_authors.html: HTML export of Git authors evolution.
git_evol_authors.png: PNG export of Git SCM authors evolution.
git_evol_authors.svg: SVG export of Git SCM authors evolution.
git_evol_commits.html: HTML export of Git commits evolution.
git_evol_commits.png: PNG export of Git SCM commits evolution.
git_evol_commits.svg: SVG export of Git SCM commits evolution.
git_evol_summary.html: HTML export of Git SCM evolution summary.
git_summary.html: HTML export of Git main metrics.

Downloads
git_commits.csv: Evolution of number of commits and authors by day (CSV).
import_git.txt: The original git log file as retrieved from git (TXT).
metrics_git.csv: Current metrics for the SCM Git plugin (CSV).
metrics_git.json: Current metrics for the SCM Git plugin (JSON).

Recommendations
SCM_LOW_ACTIVITY, SCM_LOW_DIVERSITY, SCM_ZERO_ACTIVITY

Visualisation
Git SCM

Hudson CI

ID: Hudson

Abilities:   metrics   viz   figs   recs

Description:
Retrieves information from a Hudson continuous integration engine, displays a summary of its status, and provides recommendations to better use CI.
Check the documentation for this plugin on the project web site: http://alambic.io/Plugins/Pre/Hudson.html.

Parameters:

  • hudson_url The base URL for the Hudson instance. In other words, the URL one would point to to get the main page of the project's Hudson, with the list of jobs.

Information

Metrics
CI_JOBS, CI_JOBS_FAILED_1W, CI_JOBS_GREEN, CI_JOBS_GREEN_RATIO, CI_JOBS_RED, CI_JOBS_YELLOW

Figures
hudson_hist.html: History of Hudson builds (HTML)
hudson_pie.html: Pie of jobs statuses (HTML)

Downloads

Recommendations
CI_FAILING_JOBS

Visualisation
Hudson CI

Jira

ID: JiraIts

Abilities:   info   metrics   data   figs   recs   viz   users

Description:
The Jira plugin retrieves issue information from an Atlassian Jira server, using the Jira REST API.
See the project's wiki for more information.

Parameters:

  • jira_open_states The states names considered to be open, as a coma-separated list.
  • jira_passwd The password for authentication on the Jira server.
  • jira_project The project ID to be requested on the Jira server.
  • jira_url The URL of the Jira server, e.g. http://myserver.
  • jira_user The user for authentication on the Jira server.

Information
JIRA_URL

Metrics
JIRA_AUTHORS, JIRA_AUTHORS_1M, JIRA_AUTHORS_1W, JIRA_AUTHORS_1Y, JIRA_CREATED_1M, JIRA_CREATED_1W, JIRA_CREATED_1Y, JIRA_LATE, JIRA_OPEN, JIRA_OPEN_PERCENT, JIRA_OPEN_UNASSIGNED, JIRA_UPDATED_1M, JIRA_UPDATED_1W, JIRA_UPDATED_1Y, JIRA_VOL

Figures
jira_evol_authors.html: Evolution of Jira issues authors (HTML)
jira_evol_created.html: Evolution of Jira issues creation (HTML)
jira_evol_summary.html: Evolution of Jira main metrics (HTML)
jira_summary.html: HTML summary of Jira issues main metrics (HTML)

Downloads
import_jira.json: The original file of current information, downloaded from the Jira server (JSON).
jira_evol.csv: The evolution of issues created and authors by day (CSV).
jira_issues.csv: The list of issues, with fields 'id, summary, status, assignee, reporter, due_date, created_at, updated_at' (CSV).
jira_issues_late.csv: The list of late issues (i.e. their due_date has past), with fields 'id, summary, status, assignee, reporter, due_date, created_at, updated_at' (CSV).
jira_issues_open.csv: The list of open issues, with fields 'id, summary, status, assignee, reporter, due_date, created_at, updated_at' (CSV).
jira_issues_open_unassigned.csv: The list of open and unassigned issues, with fields 'id, summary, status, assignee, reporter, due_date, created_at, updated_at' (CSV).

Recommendations
JIRA_LATE_ISSUES

Visualisation
Jira ITS

PMD Analysis

ID: PmdAnalysis

Abilities:   data   recs   figs   viz

Description:
This plugin summarises the output of a PMD run, provides hints to better understand and user it, and defines a pragmatic strategy to fix violations in an efficient way. It also provides guidance on how to configure PMD and select rules for a better, more focused analysis.
Please note that this plugin only reads the XML configuration and output files of a PMD run. One has to execute it on a regular basis &em; ideally in a continuous integration job &em; and provide the XML files URLs to the plugin.
Up-to-date documentation for the plugin is located on the project wiki.

Parameters:

  • url_pmd_conf The URL to the XML PMD results for the project.
  • url_pmd_xml The URL to the XML configuration file used to run PMD.

Information

Metrics

Figures
pmd_analysis_files_ncc1.svg: Non-conforimities by file (SVG)
pmd_analysis_pie.html: Pie of PMD analysis results (HTML)
pmd_analysis_top_5_rules.svg: Top 5 rules with most non-conformities (SVG)
pmd_configuration_rulesets_repartition.svg: Repartition of non-conformities across rulesets (SVG)
pmd_configuration_summary_pie.html: Pie of PMD configuration results (HTML)
pmd_configuration_violations_rules.svg: Non-conformities by rule (SVG)

Downloads
import_pmd_analysis_conf.xml: The PMD configuration file retrieved for the analysis (XML).
import_pmd_analysis_results.xml: The PMD results file retrieved for the analysis (XML).
pmd_analysis_files.csv: Files: for each non-conform file, its name, total number of non-conformities, number of non-conformities for each priority, number of broken and clean rules, and the rate of acquired practices (CSV).
pmd_analysis_main.csv: Generic information about the project : PMD version, timestamp of analysis, number of non-conformities, number of rules checked, number of rules violated, number of clean rules, rate of acquired practices (CSV).
pmd_analysis_rules.csv: Rules: number of non-conformities for each category of rules and priority (CSV).
pmd_analysis_rulesets.csv: Rulesets detected in analysis output, with number of violations for each priority, in long format (CSV).
pmd_analysis_rulesets2.csv: Rulesets detected in analysis output, with number of violations for each priority, in wide format (CSV).
pmd_analysis_violations.csv: Violations: foreach violated rule, its priority, the ruleset it belongs to, and the volume of violations (CSV).
pmd_analysis_violations.json: Violations: foreach violated rule, its priority, the ruleset it belongs to, and the volume of violations (JSON).

Recommendations
PMD_FIX_FILE, PMD_FIX_RULE, PMD_RULE_DEL

Visualisation
PMD Analysis, PMD Configuration

SonarQube 4.5.x

ID: SonarQube45

Abilities:   metrics   info   data   viz   figs

Description:
Retrieves information from a SonarQube 4.5.x instance (i.e. metrics and violations), and visualises them.
Check the documentation for this plugin on the project wiki: http://alambic.io/Plugins/Pre/SonarQube45.html.

Parameters:

  • sonar_project The Project ID in the SonarQube instance.
  • sonar_url The base URL for the SonarQube instance (e.g. http://localhost:9000).

Information
SQ_URL

Metrics
SQ_VIOLATIONS_BLOCKER, SQ_COVERAGE_BRANCH, SQ_CPX_CLASS_IDX, SQ_COMMENT_LINES, SQ_COMR, SQ_COM_CODE, SQ_CPX, SQ_COVERAGE, SQ_VIOLATIONS_CRITICAL, SQ_DUPLICATED_BLOCKS, SQ_DUPLICATED_FILES, SQ_DUPLICATED_LINES, SQ_DUPLICATED_LINES_DENSITY, SQ_CPX_FILE_IDX, SQ_FILES, SQ_FILES_CYCLES, SQ_CPX_FUNC_IDX, SQ_FUNCS, SQ_VIOLATIONS_INFO, SQ_COVERAGE_LINE, SQ_VIOLATIONS_MAJOR, SQ_VIOLATIONS_MINOR, SQ_NCLOC, SQ_NCLOC_LANG, SQ_VIOLATIONS_BLOCKER_NEW, SQ_VIOLATIONS_CRITICAL_NEW, SQ_VIOLATIONS_INFO_NEW, SQ_VIOLATIONS_MAJOR_NEW, SQ_VIOLATIONS_MINOR_NEW, SQ_VIOLATIONS_NEW, SQ_ISSUES_OPEN, SQ_PACKAGES_CYCLES, SQ_PACKAGES_TANGLE_IDX, SQ_PUBLIC_API, SQ_PUBLIC_API_DOC_DENSITY, SQ_PUBLIC_UNDOC_API, SQ_RULES, SQ_SQALE_DEBT_RATIO, SQ_SQALE_INDEX, SQ_SQALE_RATING, SQ_STATEMENTS, SQ_TEST_SUCCESSFUL_DENSITY, SQ_TESTS, SQ_ISSUES_UNREVIEWED, SQ_VIOLATIONS

Figures
sonarqube_summary.html: Summary of main SonarQube metrics (HTML)
sonarqube_violations.html: Summary of SonarQube violations (HTML)
sonarqube_violations_bar.svg: Repartition of violations severity (SVG)
sonarqube_violations_pie.html: Pie chart of repartition of violations severity (HTML)

Downloads
import_sq_issues_blocker.json: The original list of blocker issues as sent out by SonarQube (JSON).
import_sq_issues_critical.json: The original list of critical issues as sent out by SonarQube (JSON).
import_sq_issues_major.json: The original list of major issues as sent out by SonarQube (JSON).
sq_issues_blocker.csv: A list of all blocker issues for the project (CSV).
sq_issues_critical.csv: A list of all critical issues for the project (CSV).
sq_issues_major.csv: A list of all major issues for the project (CSV).
sq_metrics.csv: A list of all metrics with their values (CSV).

Recommendations

Visualisation
SonarQube

Stack Overflow

ID: StackOverflow

Abilities:   metrics   recs   viz   users

Description:
Retrieves questions and answers related to a specific tag from the Stack Overflow question/answer web site.
The analysed time range spans the last 5 years.
Check the documentation for this plugin on the project web site: http://alambic.io/Plugins/Pre/StackOverflow.html.

Parameters:

  • so_keyword A Stack Overflow tag to retrieve questions from.

Information

Metrics
SO_ANSWERS_VOL_5Y, SO_ANSWER_RATE_5Y, SO_ASKERS_5Y, SO_QUESTIONS_VOL_5Y, SO_VIEWS_VOL_5Y, SO_VOTES_VOL_5Y

Figures
so_evolution.svg: Evolution of questions on SO (SVG).
so_plot.svg: Summary of questions on SO (SVG).
so_tm.svg: Main words used on SO (SVG).

Downloads
so.csv: The list of questions and answers for the project, in CSV format.
so.json: The list of questions and answers for the project, in JSON format.

Recommendations
SO_ANSWER_RATE_LOW

Visualisation
Stack Overflow



Page generated by Alambic 3.3.2 on Mon Dec 18 11:35:39 2017.