TeamCity 2019.1ヘルプ

カスタムチャート

このページで:

StatisticsタブでTeamCityによって自動的に生成された統計チャートに加えて、TeamCity によって提供された統計値のセットまたはビルドスクリプトから報告された値に基づいて独自の統計チャートを設定することは可能です。後者の場合は、カスタム統計データをTeamCityに報告するようにビルドスクリプトを設定する必要があります。

ビルドによって報告された統計値は、ビルドパラメーターページで確認できます。

TeamCity Web UIを介したカスタムチャートの管理

TeamCity Web UIを使用して、カスタムチャートを管理することができます。

カスタムチャートを追加する

  • プロジェクトまたはビルド構成の統計タブには、新しいチャートを作成するためのオプションがあります。現在データソースとして追加できるビルド構成は1つだけです。より多くの設定は手動で追加することができます。

  • ビルド結果ページのパラメータータブには、報告された統計値のリストに新しいプロジェクトまたはビルド構成レベルチャートの統計タイプを選択するためのチェックボックスがあります。
    • プロジェクトレベルのチャートが選択したターゲットプロジェクトに追加されます。ルートプロジェクトをターゲットとして選択することはできません。

    • 選択したターゲットプロジェクトとそのサブプロジェクトのすべてのビルド構成に、ビルド構成レベルのチャートが追加されます。ターゲットとしてルートプロジェクトを指定すると、サーバー上で利用可能なすべてのビルド構成にチャートが追加されます。

カスタムチャートの修正

カスタムチャートを編集または削除するには、鉛筆の pencil.JPG アイコンを使用します。統計値を追加ドロップダウンには、ビルドでフィルタリングしないで、サーバーに登録されているすべての統計値が表示されます。チャートの編集時に現在のビルド構成またはプロジェクトに存在しない値を選択した場合、チャートは保存されません。

歯車の cog.JPG アイコンを使用して、Y軸設定を構成し、すべてのユーザーのデフォルトとして保存することもできます。

TeamCity UIからチャートを編集するにはいくつかの制限があります。

カスタムチャートの並べ替え

プロジェクト/ビルド構成の場合はカスタムチャートを並べ替えるには、並べ替えボタンをクリックしてチャートをドラッグアンドドロップして必要に応じて配置し、変更を適用します。

カスタムチャートを手動で管理する

TeamCity Web UIに表示されるカスタムチャートを手動で作成するには、< TeamCity Data Directory >/config/projects/< ProjectID >/project-config.xml ファイルを設定します。このファイルには、カスタムチャートを含むすべてのプロジェクト機能を含む <project-extensions> 要素があります。各チャートに <extention> 要素が追加されています。

TeamCity Web UIでカスタムチャートを表示する

TeamCityにWeb UIでカスタムチャートを表示させるには、<project-extensions> 要素に新しい <extention> サブ要素を追加して < TeamCity Data Directory >/config/projects/< ProjectID >/project-config.xml 構成ファイルを更新します。

各エクステンションは、プロジェクト内で固有の id を持たなければなりません。

type 属性は

  • プロジェクトレベルチャートの<project-graphs>

  • ビルド構成レベルのグラフの<buildType-graphs>

各チャートは <param> 要素によって記述されます。それは、<param> サブ要素をチャートに示されているデータと共に name/value ペアで含まなければなりません。" series" パラメータはJSON形式を使用してチャートに表示される一連のデータを一覧表示します。

以下の例を参照してください。

project-config.xmlのカスタムビルド構成レベルチャート

<project-extensions>  <extension id="customChart1" type="buildtype-graphs">    <parameters>      <param name="title" value="Custom chart"/>      <param name="hideFilters" value="showFailed"/>      <param name="seriesTitle" value="Some key"/>      <param name="format" value="duration"/>      <param name="series"><![CDATA[[ {  "type": "valueType",  "key": "BuildDuration",  "title": "duration1",  "sourceBuildTypeId": "my_first_configuration_id" }, {  "type": "valueType",  "key": "customKey",  "title": "Custom data",  "color": "#ee0055 " }, {  "type": "valueTypes",  "pattern": "buildStageDuration:*",  "title": "Stage: {1}" } ]]]>      </param>      <param name="properties.width" value="300"/>      <param name="properties.height" value="300"/>      <param name="properties.axis.y.type" value="logarithmic"/>      <param name="properties.axis.y.includeZero" value="false"/>      <param name="properties.axis.y.max" value="10000"/>    </parameters>  </extension>  <extension id="secondChart" type="buildtype-graphs">    <parameters>      <param name="title" value="empty"/>    </parameters>  </extension> </project-extensions>

このチャートは、project-config.xml ファイルがあるプロジェクトとそのすべてのサブプロジェクトのビルド構成の統計タブに表示されます。すべてのビルド構成のチャートを表示するには、それをルートプロジェクトproject\-config.xml に追加します。

パラメータリファレンス


名前

説明

title

チャートの上のタイトル。

seriesTitle

チャートで使用される系列のリストの上にあるタイトル(単数形)。デフォルトは "Serie" です。

defaultFilters

デフォルトでチェックされるコンマ区切りのオプションのリスト。以下を含めることができます。

  • showFailed –デフォルトでは、失敗したビルドの結果が含まれます。

  • averaged –デフォルトでは、チャートに平均値を表示します。

hideFilters

チャートの横に表示されない、コンマ区切りのフィルター名のリスト。

  • all –すべてのフィルターを非表示にします。

  • series –シリーズフィルターを非表示 (チャートに指定された特定のvalueTypeからのデータのみを表示することはできません。)

  • range –日付範囲フィルターを非表示にします。

  • showFailed –失敗したビルドのデータを含めることを許可するチェックボックスを非表示にします。

  • averaged –平均値を表示できるチェックボックスを非表示にします。Defaults –空(すべてのフィルターが表示されます)。

format

y軸値のフォーマットサポートされている形式は次のとおりです。

  • duration、データはミリ秒単位でなければなりません。

  • percent、データはパーセント単位(0から100まで)でなければなりません。

  • percentby1、フォーマットはパーセントとして0から1までのデータを表示します(0から100まで)。

  • size、データはバイト単位でなければなりません。フォーマットが指定されていない場合は、数値フォーマットが使用されます。


<series> パラメーターはJSON形式を使用して、チャートに表示される一連のデータをリストします。各シリーズは別々の色で描かれており、フィルタを使用してシリーズを選択できます。


名前

説明

type

  • valueType は、チャートに表示されている一連のデータについて説明しています。各シリーズは別々の色で描かれており、フィルタを使用してシリーズを選択することができます。

  • valueTypespattern によってチャート上にいくつかの系列を表示することを可能にする (以下に説明する)

key

valueTypeの名前(シリーズ)。 BuildDurationArtifactsSize のようにTeamCityによって事前定義することができます(事前定義された統計値の完全なリストについては下記を参照)、またはビルドスクリプトから報告することによって独自のデータを提供することができます。

title

シリーズセレクタに表示されるシリーズ名。デフォルトは <key>です。いくつかのシリーズでは、パターングループマーカーを使用することができます。{1} はパターンの最初のキャプチャーされたグループを表し、{0} はパターン全体を表します。

sourceBuildTypeId

このフィールドでは、与えられたシリーズのデータを使用するためのビルド構成を明示的に指定できます。チャートがプロジェクトレベルで追加される場合、このフィールドはチャートで使用される最初のvalueTypeに必須です。それ以外の場合はオプションです。ただし、TeamCityは次の規則に従ってデータを取得するためのビルド構成を選択します。

  1. sourceBuildTypeIdvalueType内に設定されている場合、データは別のプロジェクトに属していてもこのビルド構成から取得されます。

  2. sourceBuildTypeId が現在の valueType内に設定されていないが、それがチャート内の現在の valueType 上に設定されている場合は、上で参照したビルド構成からのデータが取得されます。上記の plugin-settings.xml ファイルの例を参照してください。

  3. sourceBuildTypeId が現在の valueType 内に設定されておらず、上に設定されていない場合、チャートは現在のビルド構成のデータを表示します。つまりこのチャートはビルド構成に対してのみ機能します。

color

チャートで使用される系列の色。標準のWebカラーフォーマット( "#RRGGBB"、カラー名など)を使用できます。詳細については、HTMLカラーリファレンス(英語)HTMLカラーネームリファレンス(英語)を参照してください。指定しない場合は、シリーズのタイトルに基づいて自動色が割り当てられます。

pattern

チャートに表示される値タイプ(またはシリーズ)の名前のパターン。アスタリスク(*)記号は、BuildDurationArtifactsSize のようにTeamCityによって事前定義された値タイプ(または系列)をフィルタリングすることができます(事前定義された統計値の完全なリストについては下記を参照)。スクリプトを作成します。


チャートディメンション

param 要素の properties.width およびproperties.height 属性を使用して、カスタムチャートの幅/高さをピクセル単位で設定できます。: <param name="properties.width" value="300"/>.

チャート軸設定

propertiesで始まるパラメータ名を使用して、チャートのデフォルトの軸設定をカスタマイズすることもできます: "properties.axis.y.type"

サポートされているプロパティー:


名前

説明

properties.axis.y.type

  • 標準スケールの場合はlinear (デフォルト)。

  • 対数Y軸スケールのlogarithmic

properties.axis.y.includeZero

ゼロ値がY軸に含まれるかどうか:

  • true (デフォルト)

  • false (ゼロは含まれていません)

properties.axis.y.min

Y軸を開始する整数値。

properties.axis.y.max

Y軸値の最大値として使用する整数値。


TeamCityが提供するデフォルトの統計値

以下の表は、カスタムチャートの設定に使用できる定義済みの値プロバイダを示しています。ビルドごとに報告される値は、ビルド構成設定によって異なります。

ビルドによって報告されたすべての統計値をビルド結果 | パラメーター | 報告された統計値タブで見ることができます。各値について、トレンドを見るアイコン ViewTrend.PNGをクリックすると統計グラフが表示されます。


キー

説明

単位

ArtifactsSize

成果物ディレクトリー内のすべての成果物ファイルサイズの合計

バイト数

VisibleArtifactsSize

非表示の成果物を除くすべての成果物ファイルサイズの合計 (.teamcityディレクトリー配下のもの)

バイト数

buildStageDuration:artifactsPublishing

ビルド内の成果物公開ステップの期間

ミリ秒

buildStageDuration:buildStepRunner_<N>

各ステップの期間ビルドステップ名が長すぎる場合やビルドステップの名前が変更された場合の課題を回避するために、ビルドステップ名は自動的に生成されます。各ステップのIDは、ビルド構成のxmlファイルにあります。

ミリ秒

buildStageDuration:sourcesUpdate

ソースチェックアウトステップの期間

ミリ秒

buildStageDuration:dependenciesResolving

ビルドの依存関係を解決する期間

ミリ秒

BuildDuration

ビルド期間 (すべての構築段階)

ミリ秒

BuildDurationNetTime

ビルドステップ期間 (チェックアウトや成果物の公開時間などを除く)

ミリ秒

CodeCoverageB

ブロックレベルのコードカバレッジ

%

CodeCoverageC

クラスレベルのコードカバレッジ

%

CodeCoverageL

回線レベルのコードカバレッジ

%

CodeCoverageM

メソッドレベルのコードカバレッジ

%

CodeCoverageR

ブランチ・カバレッジ

%

CodeCoverageS

ステートメントカバレッジ

%

CodeCoverageAbsBCovered

カバーブロック数

整数

CodeCoverageAbsBTotal

総ブロック数

整数

CodeCoverageAbsCCovered

対象クラス数

整数

CodeCoverageAbsCTotal

クラスの総数

整数

CodeCoverageAbsLCovered

カバーされた行数

整数

CodeCoverageAbsLTotal

総行数

整数

CodeCoverageAbsMCovered

対象となるメソッドの数

整数

CodeCoverageAbsMTotal

メソッドの総数

整数

CodeCoverageAbsRCovered

カバーブランチの数

整数

CodeCoverageAbsRTotal

ブランチの総数

整数

CodeCoverageAbsSCovered

対象ステートメントの数

整数

CodeCoverageAbsSTotal

ステートメントの総数

整数

DuplicatorStats

見つかったコード重複の数

整数

TotalTestCount

ビルド内のテストの総数

整数

PassedTestCount

ビルドで成功したテストの数

整数

FailedTestCount

ビルドで失敗したテストの数

整数

IgnoredTestCount

ビルドで無視されたテストの数

整数

InspectionStatsE

ビルド内のインスペクションエラーの数

整数

InspectionStatsW

ビルド内のインスペクション警告の数

整数

SuccessRate

ビルドが成功したかどうかの指標

0 - 失敗しました、1 - 成功

TimeSpentInQueue

ビルドがキューに入れられた期間

ミリ秒

カスタムビルドメトリクス

事前定義されたビルドメトリックがニーズをカバーしていない場合は、ビルドスクリプトからTeamCityにカスタムメトリックを報告し、使用してカスタムチャートを作成できます。カスタムメトリクスをTeamCityに報告する方法は2つあります。


関連事項:

概念 : コード・カバレッジ | コード・インスペクション | コード重複
使用説明書 : 統計チャート
TeamCityを拡張する : TeamCityとスクリプトの相互作用を構築する | カスタム統計(英語)