Documentation

CodeClimateReport extends Report
in package

FinalYes

CodeClimate format This is the format used by Gitlab for CodeQuality

Tags
see
https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html
see
https://github.com/codeclimate/platform/blob/master/spec/analyzers/SPEC.md#data-types
author

Olivier Doucet webmaster@ajeux.com

Table of Contents

Constants

TYPE_BY_ISSUE_LEVEL  = 'by-issue-level'
TYPE_CHECKSTYLE  = 'checkstyle'
TYPE_CODECLIMATE  = 'codeclimate'
TYPE_COMPACT  = 'compact'
TYPE_CONSOLE  = 'console'
TYPE_COUNT  = 'count'
TYPE_EMACS  = 'emacs'
TYPE_GITHUB_ACTIONS  = 'github'
TYPE_JSON  = 'json'
TYPE_JSON_SUMMARY  = 'json-summary'
TYPE_JUNIT  = 'junit'
TYPE_PHP_STORM  = 'phpstorm'
TYPE_PYLINT  = 'pylint'
TYPE_SARIF  = 'sarif'
TYPE_SONARQUBE  = 'sonarqube'
TYPE_TEXT  = 'text'
TYPE_XML  = 'xml'

Properties

$fixable_issue_counts  : array<string|int, mixed>
$in_ci  : bool
$issues_data  : array<int, IssueData>
$mixed_expression_count  : int
$pretty  : bool
$show_info  : bool
$show_snippet  : bool
$total_expression_count  : int
$use_color  : bool

Methods

__construct()  : mixed
create()  : string
getMapping()  : array<string, self::TYPE_*>
xmlEncode()  : string
calculateFingerprint()  : string
calculate a unique fingerprint for a given issue
convertSeverity()  : string
convert our own severity to CodeClimate format Values can be : info, minor, major, critical, or blocker
mapToNewStructure()  : array<string|int, mixed>
map fields to new structure.

Constants

TYPE_BY_ISSUE_LEVEL

public final mixed TYPE_BY_ISSUE_LEVEL = 'by-issue-level'

TYPE_CHECKSTYLE

public final mixed TYPE_CHECKSTYLE = 'checkstyle'

TYPE_CODECLIMATE

public final mixed TYPE_CODECLIMATE = 'codeclimate'

TYPE_COMPACT

public final mixed TYPE_COMPACT = 'compact'

TYPE_CONSOLE

public final mixed TYPE_CONSOLE = 'console'

TYPE_COUNT

public final mixed TYPE_COUNT = 'count'

TYPE_EMACS

public final mixed TYPE_EMACS = 'emacs'

TYPE_GITHUB_ACTIONS

public final mixed TYPE_GITHUB_ACTIONS = 'github'

TYPE_JSON

public final mixed TYPE_JSON = 'json'

TYPE_JSON_SUMMARY

public final mixed TYPE_JSON_SUMMARY = 'json-summary'

TYPE_JUNIT

public final mixed TYPE_JUNIT = 'junit'

TYPE_PHP_STORM

public final mixed TYPE_PHP_STORM = 'phpstorm'

TYPE_PYLINT

public final mixed TYPE_PYLINT = 'pylint'

TYPE_SARIF

public final mixed TYPE_SARIF = 'sarif'

TYPE_SONARQUBE

public final mixed TYPE_SONARQUBE = 'sonarqube'

TYPE_TEXT

public final mixed TYPE_TEXT = 'text'

TYPE_XML

public final mixed TYPE_XML = 'xml'

Properties

$fixable_issue_counts

protected array<string|int, mixed> $fixable_issue_counts

$issues_data

protected array<int, IssueData> $issues_data

$mixed_expression_count

protected int $mixed_expression_count = 1

$show_info

protected bool $show_info

$show_snippet

protected bool $show_snippet

$total_expression_count

protected int $total_expression_count = 1

$use_color

protected bool $use_color

Methods

__construct()

public __construct(array<int, IssueData$issues_data, array<string, int> $fixable_issue_counts, ReportOptions $report_options[, int $mixed_expression_count = 1 ][, int $total_expression_count = 1 ]) : mixed
Parameters
$issues_data : array<int, IssueData>
$fixable_issue_counts : array<string, int>
$report_options : ReportOptions
$mixed_expression_count : int = 1
$total_expression_count : int = 1

getMapping()

public static getMapping() : array<string, self::TYPE_*>
Return values
array<string, self::TYPE_*>

xmlEncode()

protected xmlEncode(string $data) : string
Parameters
$data : string
Return values
string

calculateFingerprint()

calculate a unique fingerprint for a given issue

private calculateFingerprint(IssueData $issue) : string
Parameters
$issue : IssueData
Return values
string

convertSeverity()

convert our own severity to CodeClimate format Values can be : info, minor, major, critical, or blocker

private convertSeverity(string $input) : string
Parameters
$input : string
Return values
string

mapToNewStructure()

map fields to new structure.

private mapToNewStructure(IssueData $issue) : array<string|int, mixed>

Expected fields:

  • type
  • check_name
  • description*
  • content
  • categories[]
  • severity
  • fingerprint*
  • location.path*
  • location.lines.begin*

Fields with * are the one used by Gitlab for Code Quality

Parameters
$issue : IssueData
Return values
array<string|int, mixed>

        
On this page

Search results