TFS 用 CA Agile Central VCS コネクタのインストールおよびユーザ ガイド

VCS TFS (Microsoft Team Foundation Server)から CA Agile Central へのコネクタは、CA Agile Central 内のアーティファクトに対するコード変更のトレーサビリティを表示するのに役立ちます。

このコネクタは、一元化マスタ TFS リポジトリをスキミングして最近のコミットを探すコードで構成されています。コミット メッセージから情報を抽出し、設定ファイルの仕様に従って CA Agile Central SCMRepositoryチェンジ セットおよび変更の情報をポストします。コネクタを会社の 1 つのコンピュータだけにインストールすることは可能ですが、組織の構造、および CA Agile Central に反映する必要のあるリポジトリの数に応じて、コネクタを複数のコンピュータにインストールすることもできます。

開発者はコミット メッセージに FormattedID (US42 など)を配置でき、コネクタは設定済みのリポジトリのすべてのコミットを処理し、それらのコミットに関する情報を CA Agile Central 内の変更セット オブジェクトおよび変更オブジェクトにプッシュします。コミット メッセージに有効な FormattedID が見つかった場合、コネクタによって作成された変更セットは CA Agile Central 内のそのディフェクト、ストーリー、またはタスクに関連付けられます。

例:

"Fixed DE1987 by changing preamble paragraph 3"

コネクタのコミットおよび実行の前に CA Agile Central のディフェクト DE1987 の状態がオープンであった場合、この特定の変更セットを処理するコネクタの操作以降、CA Agile Central のディフェクト DE1987 の状態は「Fixed」として表示されます。このメッセージでは大文字小文字が区別され、fixedFixed は異なります。

コミット メッセージには、複数のアーティファクトへの参照を含めることができます。たとえば、以下は正常に機能します。

"Test commit msg with multiple artifacts Fixed DE9 Closed DE8" 

一般的なワークフローとしては、CA Agile Central でいずれかのチーム メンバに DE42 が割り当てられます。これらのメンバがコードを変更してコミットする際には、コミット メッセージに「Found an issue with line breaks—fixed DE42」のようなテキストを含めます。コネクタが再度実行されると、そのコミット メッセージを検索し、コミットに関する情報を CA Agile Central のディフェクト DE42 にリンクします。

このインストール ガイドの構成は次のとおりです。

サポートされているプラットフォーム

このソフトウェアは Ruby で作成され、Ruby 2.2.6 を使用してテストされていますが、Ruby 2.0 以降の安定したバージョンでも動作する必要があります。

このコネクタは、パッケージ化された実行可能ファイルとして Microsoft Windows でのみ実行できます。このソフトウェアはテスト済みで、TFS 2015 および TFS 2017 と連動します。

コネクタのダウンロード

コネクタをダウンロードするには、ここの手順に従います。

コネクタのインストール

前提条件:

  • Ruby 2.2.6 - サポートされているバージョンです。

    このコネクタは、Ruby 2.3.x および 2.4.x とは互換性がない可能性があります。このコネクタとこれらのバージョンとの互換性は認定されておらず、2.2.6 だけが認定されています。特定バージョンの Ruby を簡単にインストールして使用するために Ruby バージョン マネージャ ソフトウェア(rvm)を使用する方法を調べることをお勧めします。

  • Ruby 2.0 ~ 2.3 用 Ruby 開発キット(**Windows のみ**)。
    1. ここから、DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe をダウンロードします。
    2. 開発キットの bin ディレクトリへのパスを環境パス変数に追加します。
    3. cd コマンドで、Ruby 開発キットのルート ディレクトリに移動します。
    4. 次のコマンドを実行します: ruby dk.rb init
    5. 次のコマンドを実行します: ruby dk.rb install
  • 主なユース ケースとしては、このコネクタが、TFS ソフトウェアおよびリポジトリが存在するプラットフォーム上で実行されます。TFS プラットフォーム以外のプラットフォームでこのコネクタを実行することはできますが、そのユース ケースでは、ssh を使用することと、公開鍵または秘密鍵の情報を適切にセットアップすることを想定しています。ssh およびキー ファイルのセットアップは、このドキュメントの範囲外です。ssh および PKI に関する詳細なドキュメントについては、インターネットを参照してください。Windows プラットフォームでコネクタを実行する予定で、TFS リポジトリが別のプラットフォームに配置される場合は、コネクタを実行している Windows プラットフォームに「ssh.exe」コマンドがインストールされていて、ファイル システム内のその場所が %PATH% 内の要素であることを確認する必要があります。
  • このコネクタは、Windows プラットフォームでのみ実行されます。
  • TFS コレクション名、チーム プロジェクト、プロジェクト、バージョン。
  • TFS プロトコル、サーバ、ポート、TFS 仮想パス。
  • 変更セットおよび変更の情報のポスト先となる CA Agile Central のワークスペース。
  • Visual Studio Ultimate、Premium、Professional、Express、またはチーム エクスプローラ(後者では、tf.exe の場所を含めるように PATH を変更する必要があります)。

インストーラとオペレータ ファイルシステムの権限

このコネクタは、Windows タスク スケジューラ(WTS)によって開始され、継続的に実行することを目的としているので、コネクタのインストールにおけるディレクトリおよびファイルの権限と ACL に関して、コネクタをインストールするユーザの ID と、WTS による実行時のユーザの ID を考慮する必要があります。コネクタのランナーは、すべてのファイルを読み取ることができ、configs サブディレクトリと logs サブディレクトリに書き込むことができる必要があります。

インストール

  1. ソフトウェアをインストールする適切なディレクトリ内に、git2ca_agile_central-(バージョン)-master-(ビルド番号).zip ファイルを解凍します。
  2. 環境変数 GEM_COMMAND を Ruby インストール ディレクトリにある gem 実行可能ファイルに設定します。以下に、Linux と Windows 上の場所の例をそれぞれ示します。
    • /myhome/.rvm/rubies/ruby-2.2.6/bin/gem
    • C:\Ruby226\bin\gem
  3. install_gems.rb Ruby スクリプトを実行して、関連するすべての gem をインストールします。「書き込み権限がありません」のような出力が表示された場合、システム管理者に問い合わせて必要な権限を取得(通常は sudo または他の類似ソフトウェアを使用)するか、またはシステム管理者に install_gems.rb コマンドの実行を依頼する必要があります。コマンドをコンソールまたはターミナル ウィンドウのプロンプトで実行するには、以下のように入力します。
    ruby install_gems.rb

配布コンテンツ

1715 5 月 23 日 13 時 01 分 ライセンス
18419 5 月 23 日 13 時 01 分 README
4811 5 月 23 日 13 時 02 分 ユーザ マッピング方法
170 5 月 23 日 15 時 43 分 設定
136 5 月 23 日 13 時 02 分 拡張
170 5 月 23 日 13 時 02 分 gem
1897 5 月 23 日 13 時 02 分 git2ca_agile_central.rb
2115 5 月 23 日 13 時 02 分 install_gems.rb
102 5 月 23 日 13 時 02 分 ライブラリ
136 5 月 23 日 15 時 36 分 ログ
374 5 月 23 日 13 時 02 分 プラグイン
43520 5 月 23 日 13 時 02 分 vcseif-1.6.0.gem

TFS のセットアップ

CA Agile Central に TFS コミット履歴をどの程度反映するかを検討する

TFS コミットの完全な履歴を反映するようコネクタを操作することは可能です。CA Agile Central に TFS コミットの完全な履歴を反映する必要があるか、またはある特定の時点の履歴だけを反映するかに関して、組織にとって効果的な戦略に到達するのに役立つ、考慮事項、理由、および利点のプロコン リストを収集する必要があります。

Lookback 設定

コネクタは、正常に処理された前回のコミットのコミット時間が含まれる時間ファイルを保存します。サーバ間に潜在的な時間差がある可能性のあることと、時間ファイルの記録が秒の粒度に限られることから、すべてのコミットが確実に考慮されるように設定できる Lookback パラメータが存在します。

Lookback のデフォルト値は日数単位ですが、時間または分に設定することもできます。使用する値は、過度の量の以前のコミットを確認せずにコネクタによって各コミットが確実に処理されるよう、チームが TFS を使用する方法にとって最も妥当なレベルである必要があります。

リポジトリ設定

VCS-TFS 制御下にある各リポジトリには、configs サブディレクトリ内に存在する設定ファイルが含まれる必要があります。この設定ファイルには、リポジトリとそのすべての属性が記述されています。ファイルは YAML 形式である必要があります。

プロダクトには、sample.yml という名前のサンプル設定ファイルが付属しています。configs サブディレクトリ内の sample.yml ファイルのコピーを作成し、リポジトリに使用します。YAML 設定ファイルに、リポジトリ名に似た名前を付けることをお勧めします。たとえば、リポジトリ名が My-Tfs-Repo である場合、YAML 設定ファイルに My-Tfs-Repo.yml という名前を付けます。新しいリポジトリ設定ファイルを編集し、ご使用の環境に合わせて値を変更します。

YAML 構文に関する警告:

  • タブ文字は、有効な YAML 文字ではありません。
  • パスワードに感嘆符(「!」)やハッシュ(「#」)が含まれる場合などは、特殊文字を引用符で囲みます。
  • コメント文字 # は、1 つ以上のスペースで前の要素と区切る必要があります(たとえば、「.../dir/dir2#this is a comment」は無効です)。

VCS リポジトリへの SCMRepositories のマッピング

VCS コネクタは、CA Agile Central SCMRepository と VCS リポジトリ(Git、GitHub、Subversion、Mercurial など)の間で 1 対 1 の関係を維持して動作するよう設計されています。VCS コネクタは実行時に、コネクタ設定ファイル内の固有の値に対して、CA Agile Central SCMRepository アイテムを作成します(まだ存在しない場合)。これにより、新しいリポジトリを指定している設定を実行する前に CA Agile Central SCMRepository アイテムを作成する必要がなくなる点で、管理の負担が多少軽減されます。1 対多のマッピングでは、パフォーマンスの問題が発生する可能性があります。

各リポジトリには、設定ファイルと時間ファイルがあります。時間ファイルは、リポジトリに関して最後から 2 番目のコミットのタイムスタンプを記録します。たとえば、昨秋に大量のコミットがあったが、それ以降コミットのない Apricot リポジトリがあり、また、過去数か月間にアクティビティのあった Banana リポジトリがあるとします。これら 2 つのリポジトリのコミットが、単一の CA Agile Central SCMRepository に組み込まれると、以下の効果があります。Apricot リポジトリの設定を処理する際には、Apricot の時間ファイル内の値として recent が定義されている条件下で、CA Agile Central 内の最近の変更セット レコードを検索します。そのリポジトリへの前回のコミットが昨秋であったので、単一の SCMRepository から過剰な量の情報が読み取られます(Apricot の変更セットだけでなく、昨秋以降のすべての変更セットを参照しているため)。

RepositoryName

YAML 設定ファイルの CA Agile Central セクション内にある RepositoryName の値は、変更セットおよび変更アイテムが関連付けられる CA Agile Central SCMRepository の名前です。この SCMRepository コンテナが存在しない場合、コネクタは、ユーザのターゲット ワークスペース内にこのコンテナを作成します。

Lookback

CA Agile Central セクションと TFS セクションの一方または両方に表示できる、オプションの Lookback 変数があります。デフォルトでは、このパラメータの値は分単位であることが想定されます。サフィックス文字 m (分)、h (時間)、または d (日数)を指定することで、他の時間単位を使用できます。例

Lookback: 90
Lookback: 120 m
Lookback: 8 h
Lookback: 10 d

Lookback 値を明示的に指定しない場合、コネクタはデフォルト値である 1 時間を使用します。一方のセクションで Lookback 値を指定する場合は、もう一方のセクションでもその値を指定することを強くお勧めします。2 つのセクションで Lookback の値が一致しない場合、TFS の変更セットが CA Agile Central に反映されない可能性があります。

リポジトリ設定ファイルの例:

VCSConnector:

#
# The content of the file below should follow YAML specifications
# Non standard characters should be enclosed with double quotations
# Legend: (R)=required, (O)=optional


# Parameters for Rally Server
Rally:
    Server              : rally1.rallydev.com   # (R)
    Protocol            : https                 # (R) https (SaaS), https/http (On-Premises)
    Username            : "[email protected]"    # (R)
    Password            : "BigS3Krates"         # (R) encoded after first use
    Workspace           : "Target Workspace"    # (R)
    RepositoryName      : "CodeTank"            # (R)
#   Proxy               : "server:port"         # (O)
#   ProxyUser           : "Proxy User"          # (O) for an authenticating proxy
#   ProxyPassword       : "Proxy Password"      # (O) for an authenticating proxy
    Lookback            : 90                    # (O) 60 minutes (default)
    UpdateArtifactState : False                 # (O) False (default)
    StateExtractorClass : BasicActionsAndArtifactsExtractor(message)  # (O) only used if above is True
    Debug               : False                 # (O) False (default)


# Parameters for Microsoft Team Foundation Server
TFS:
    Server              : localhost             # (O)
    #Port                : 8080                 # (O) 8080 is the customary value for TFS 2015
    Protocol            : http                  # (O) http (default) or https
    TfsServerVersion    : 2017                  # (O) 2015 or 2017 (2017 is the default)
    #TfsVirtualPath      : tfs                  # (O) tfs is the customary value for TFS 2015, for TFS 2017 the value is customarily empty
    CollectionName      : "Collection Name"     # (R)
    TeamProject         : "Team Project"        # (R)
    Project             : "Project"             # (O)
    Lookback            : 90                    # (O) 90 minutes (default)
    MaxItems            : 100                   # (R) max items to process in a run, 1000 (default)


# Parameters for Microsoft Team Foundation Server
Services:
    Preview             : True                  # (O) True or False (default)
    LogLevel            : Debug                 # (O) Info (default)
#   PostBatchExtension  : MetricsPoster         # (O) future use


# Mapping TFS username to a Rally username - choose one from the 6 below
Transforms:
#   Author              : Passthru                                                    # (O) Passthru (default)
#   Author              : EmailAddressAsRallyUser                                     # (O)
#   Author              : FileBasedUserNameLookup(user_map.txt, ":")                  # (O)
#   Author              : RallyUserNameLookup(FirstName, LastName)                    # (O)
#   Author              : UserNameDomainAugmentLookup(DomainName)                     # (O)
#   Author              : UserLookupChainGang(FirstName, LastName, user_map.txt, ":") # (O)

Proxy: 3 つのプロキシ アイテムは、アイテムの前に # を使用してコメント化されています。YAML ファイル内で、# 文字で始まるすべての行が無視され、# 文字シーケンスに続くすべてのコンテンツが無視されます(# シーケンスを含む)。

TFS 2017 特有の考慮事項:

  • TFS 2017 では、デフォルト ポートが 8080 ではなくなりました。  これに対応するには、TFS セクションで Port タグをドロップして、設定ファイルを調整しなければならない可能性があります。
  • TFS 2017 では、仮想ディレクトリに「tfs」の値がなくなりました。  これに対応するには、TFS セクションで TfsVirtualPath タグをドロップして、設定ファイルを調整しなければならない可能性があります。

 

ユーザ マッピング ファイル

configs/user_map.txt ファイルでは、TFS システムと CA Agile Central サブスクリプションの間でユーザ名を変換する方法を決定します。両方のシステム内でユーザ名が普遍的に同一である場合は、Transforms セクション下のすべての Author サブアイテムをコメント化するか、または Transforms セクション内の Author フィールドの値を Passthru に設定することができます。ただし、TFS ユーザ名を CA Agile Central ユーザ名に変換できる確定的なマッピングが存在する場合は、Author の変換値を適切なクラス名に調整する必要があります。特定の状況に適合する方法を判断するには、ユーザ マッピング方法のテキスト ドキュメント(インストールに含まれる)を参照してください。

Author の適切な変換方法を特定したら、その変換を実装する Ruby クラス名を識別するよう設定を編集する必要があります。Ruby クラス名は、plugin サブディレクトリ内のファイル内にある Ruby ソース コードのファイルに存在する必要があります。

user_map.txt ファイルの例:

# TFS repo username       CA Agile Central username
# --------------------  : -----------------------
jpkole                  : [email protected]
user1                   : [email protected]
user2                   : [email protected]

リポジトリ時間ファイル

コネクタは実行を完了するたびに、My-Tfs-Repo_time.file などの名前を持つ、ベース インストール ディレクトリ内のリポジトリ時間ファイルを更新します。このファイルには、コネクタによって TFS コミットが前回処理された日付が含まれています。したがって、コネクタは再度実行された際に、ユーザによって行われたコミットの処理をどこで開始するかを認識しています。

コネクタの最初の呼び出し時には時間ファイルは存在しないので、コネクタは、過去 72 時間にさかのぼってコミットを検索します。

このファイルを編集し、時間を設定できます。たとえば、過去 5 年間に 50,000 のチェックインが実行された場合、CA Agile Central に過去のすべての履歴を反映させることは必ずしも適切ではありません。その場合は、時間ファイルを編集し、先週(または別の開始点)の日付を入力します。

このファイルには、タイムスタンプ(GMT/UTC 時間)である 1 行のみが含まれています。ファイルの一般的な形式は YYYY-mm-dd HH:MM:SS Z (Z は Zulu または GMT/UTC 時間)です。一般的な時間ファイルの内容を以下に示します。

2013-05-17 18:49:22 Z

CA Agile Central API キーの作成

CA Agile Central API キーを作成して、ユーザ名とパスワードを使用せずにサブスクリプションのデータにアクセスするために使用することができます。

コネクタで API キーを使用するには、config.yml ファイルで CA Agile Central セクションを編集し、APIKey 行を追加します。APIKey 設定エントリを指定する際には、CA Agile Central 設定セクションからユーザ名とパスワードを省略します。APIKey エントリが存在する場合、ユーザ名とパスワードは使用されず、これらが設定ファイルに含まれればログ ファイルに警告が表示されます。APIKey エントリの値が無効、空白、または nil の場合でもこのことが当てはまります。サブスクリプションの管理者が、お客様のサブスクリプションを SSO 専用に設定した場合、指定の APIKey 値に関連付けられているユーザを、権限のあるユーザのホワイトリストに追加する必要はなくなりました。

コネクタは、rally_api バージョン 1.2.1 を使用するようになりました。指定された APIKey はフル アクセス権を持つ必要があり、読み取り専用の api キーでは、コネクタが CA Agile Central への書き込みを行うことはできません。

フル アクセス API キーを作成するには、「CA Agile Central Application Manager」を参照してください。

CA Agile Central のセットアップ

 

注: ワークスペース管理者権限を持つコネクタ ユーザを作成することを強くお勧めします。これにより、コネクタ ユーザは、ワークスペースに今後追加される可能性のある任意の新しいプロジェクトにアクセスできます(エディタ権限のみを持つユーザは、新しいプロジェクトに自動的には追加されません)。コネクタ ユーザがプロジェクトへのアクセス権を持っていない場合、変更セットが SCM リポジトリ内にのみ作成され、孤立します(いずれのアーティファクトにも接続されません)。
ターゲット WorkspaceConfiguration オブジェクトに対して BuildandChangsetEnabled が true に設定されていることを確認します。

CA Agile Central ワークスペースの管理者は、ターゲット ワークスペースに対してこれを有効にする必要があります。これが有効でない場合、コネクタは機能しますが、CA Agile Central ワーク アイテム(ストーリー、ディフェクト、タスク)に関連付けられている変更セットおよび変更の情報は表示されません。

ワークスペースの管理者は、ワークスペースを編集し、以下の手順に従う必要があります。

  1. [セットアップ]をクリックします。
  2. ワークスペースとプロジェクト]タブをクリックします。
  3. ターゲット ワークスペースを選択します。
  4. [アクション]-[編集]をクリックします。
  5. [ビルドとチェンジ セットを有効化]フィールドを選択します。
  6. 保存して閉じる]をクリックします。

 

コネクタの実行

プレビュー モード

設定ファイル(たとえば、configs/repo_one.yml )の Services セクション内に、False に設定されている Preview のエントリがあります。初期のセットアップ段階でこの値を True に設定することをお勧めします。これにより、指定した認証情報および情報を使用して、コネクタが CA Agile Central に正常に接続できることを確認できるほか、tf.exe コマンドの使用を検証できます。プレビュー モードで実行されるコネクタが想定どおりに動作すると判断できたら、設定内の Preview 値を False に設定できます。

tf.exe コマンドへのアクセス

PATH 環境変数には、tf.exe コマンドが存在するファイルシステム パスを含める必要があります。TFS 2015 インストールの場合、パスは C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ などのようになります。64 ビット システム上のデフォルトの Visual Studio 2017 インストールの場合、パスは C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer などのようになります。tf.exe を見つけて、配置されているディレクトリを含めるように環境パスを設定する必要があります

スケジュール済みタスクとして実行

Windows タスク スケジューラ(またはその他のジョブ タスク スケジューリング ソフトウェア)を使用して、コネクタを定期的に実行できます。CA Agile Central では、最初に、通常の営業時間には 15 分ごと、営業時間外にはより低い頻度でコネクタを実行することをお勧めします。

コマンド ラインからの呼び出し

configs サブディレクトリには多数の設定ファイルが含まれる可能性があり、任意の数のファイルを呼び出すよう指定できます。以下に例を挙げます。

ruby tfs2ca_agile_central.rb apricot banana cherry dogwood

上記の例で、ファイル apricot.yml、banana.yml、cherry.yml、および dogwood.yml は現在の作業ディレクトリの configs サブディレクトリ内に存在している必要があります。コネクタは、configs サブディレクトリ内(インストール ベース ディレクトリ下)の設定ファイルだけを検索します。

ログ ファイル

コネクタを実行するたびに、以下の名前の各設定ファイルに対して、現在の作業ディレクトリ下の 2 つの異なるログ ファイルが更新されます。

  • log/tfs2ca_agile_central.log

    このログ ファイル内には、コネクタが呼び出されたことを示すエントリが作成されます。呼び出しで指定される設定ごとに、その設定の実行からのリターン コードを記録するエントリがこのログ ファイル内に生成されます。すべて設定についてコネクタの実行が終了すると、コネクタの実行の完了を示すエントリが書き込まれます。

  • logs/.log

    コマンド ラインで指定された設定ファイルごとに、このログ ファイルは、実行中に発生したアクティビティに関する非常に詳細な情報で更新されます。

YAML 設定ファイルで LogLevel 値を変更することにより、これらのログ ファイルに書き込まれる詳細レベルを調整できます。通常、LogLevel は Info に設定されます。コネクタが正常に完了しない状況が発生した場合は、LogLevel を Debug に調整し、コネクタを実行してトラブルシューティング プロセスを開始できます。これらのログ ファイルは、ケースの調査の効率を高めるために CA Agile Central サポートに送信できます。

時間ファイル

コネクタは、設定名に対応するベース インストール ディレクトリ内で、コミットが前回処理された日付を含めてファイルを作成します。ファイルは _time.file と名付けられ、YYYY-mm-dd HH:MM:SS Z (UTC (Zulu)時間)の形式の時間エントリを含みます。最初の実行時には、設定の時間ファイルは存在せず、コネクタはデフォルトでコネクタ実行の 72 時間前に発生したコミットを検索します。その動作をオーバーライドするには、処理しようとしている設定ファイルに対して時間ファイルを作成および編集します。上記の形式のエントリを指定することで、コミット処理の開始時点を制御できます。

注: コネクタは、処理するコミットが 3 つ以上になるまで、リポジトリのコミットの処理をスキップします。コミットが 3 つ以上になると、スキップされたコミットが処理されます。これは、コミットを処理するときの CA Agile Central のパフォーマンスの問題による、設計上の決定です。

コネクタの拡張

インストールの extension サブディレクトリ内にある statex.rb という名前のファイル内に、サンプルの Ruby クラスが存在します。そのファイルに含まれているクラス定義の名前は BasicActionsAndArtifactsExtractor です。このサンプル クラスは、コミット メッセージを調査したり、CA Agile Central アーティファクト識別子および状態遷移ターゲット値を抽出する基本的な方法を示します。設定ファイルのアイテム UpdateArtifactState の値が True に設定されている場合にこのクラスを使用すると、識別されたアーティファクトの State (または、UserStory の場合は ScheduleState)が、コミット メッセージに記載されている状態値に遷移します。

たとえば、コミット メッセージに CA Agile Central のディフェクト(DE1987 として識別される)が記載されていて、そのアーティファクト識別子の直前または直後に新しい有効な状態値が含まれる場合、コネクタは、CA Agile Central 内の識別されたアーティファクトの State をその状態に変更します。

extension サブディレクトリは、提供されている例がユーザの慣習に適合しない場合、CA Agile Central のアーティファクト識別子および状態変更を抽出する、ユーザ独自のメッセージ処理を提供できます。拡張は、Ruby で記述されたクラスでなければならず、サービスと呼ばれるインスタンス メソッドを提供する必要があります。このサービスは、コミット メッセージを引数として指定し、状態名(Fixed、Completed など)をキーとするエントリと共に Ruby Hash インスタンスを返すか、または CA Agile Central のアーティファクト識別子(FormattedID)によって取り込まれる関連値として Ruby Array と共に nil を返す必要があります。

コネクタのトラブルシューティング

ログ ファイルのメッセージを参照

コネクタは実行時に、以下の 2 つのログ ファイルを生成します。

  • log/tfs2ca_agile_central.log — コネクタのステータスを示すグローバル ログ ファイル。
  • logs/.log - コマンド ラインで指定された設定ファイルごとに、このファイルは、その設定ファイルのすべての問題に関する情報を含むログ ファイルになります。

問題とエラー

環境変数のセットアップの問題またはエラー

以下のエラーが 1 つ以上表示される場合があります。

Unable to interrogate TFS for version information
No witadmin.exe command available
tfs2ca_agile_central detected a FATAL configuration error, No tf.exe command available.

解決策: コマンド プロンプト ウィンドウに以下を入力して(ご使用のパスが異なる場合は置き換えてください)、PATH 環境変数に TFS コマンド ライン ツールへのパスを追加したことを確認します。
set path=%path%;C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE

Visual Studio の正しいパスを指すように、環境変数 VS100COMNTOOLS を設定しなければならない場合もあります。詳細については、この StackOverflow リンクを参照してください。環境変数は、Visual Studio のバージョンに応じて異なります。
%VS140COMNTOOLS% - Visual Studio 2015

RepositoryName では大文字と小文字を区別

設定ファイルには、CA Agile Central 内の SCMRepository オブジェクトの名前である、RepositoryName: Chien1 のような行が含まれています。この名前では大文字と小文字が区別されます。名前が誤って chien1 として指定された場合、以下のようなログ ファイル エラーが表示される可能性があります。

 INFO : RallyVCSConnection.validate - SCMRepository: chien1
DEBUG : RallyVCSConnection.getSCMRepository - No SCMRepository named |chien1| in Workspace: |WS1|
 INFO : RallyVCSConnection.createSCMRepository -
        Creating SCMRepository 'chien1' (Subversion) in the 'WS1' workspace...
ERROR : UnrecoverableException (/Users/...../exceptions.rb:42 line in `initialize') -
        Unable to create SCMRepository: 
        Error on request - https://rally1.rallydev.com/slm/webservice/2.0/scmrepository/create.js -
                {:errors=> ["Validation error: SCMRepository.Name:
                There is already a SCMRepository with the name 'chien1' in this Workspace"], ... ]}

有効なアーティファクトが記述されていない

この問題は、コネクタ ユーザが権限を持たないプロジェクトに対して、コネクタが変更セットを追加しようとすると発生します。

DEBUG : RallyVCSConnection.extract_artifact_references - No valid artifacts were mentioned in message
DEBUG : RallyVCSConnection._createInternal - Created Changeset: OID: 4935999999  Revision: 14d0f533084c700f Timestamp:|2016-01-06T14:58:01.000Z| (not associated with any Artifacts)

ヘルプを表示

質問、問題、または提案がある場合は、CA Agile Central の任意のページの下部にある[サポートに問い合わせ]リンクをクリックしてください。

サポートとフィードバック

このコネクタおよび他のすべてのコネクタのサポートが必要な場合は、CA Agile Central Success Community にログインしてください。CA Agile Central Success Community は、セルフサービスとサポートを提供するポータルです。

リビジョン履歴

  • 1.6.0-master --- 2018 年 5 月 25 日
    • 機能強化:
      • 統合ディストリビューション、TLS V1.2 のサポートに Ruby 2.2.6 の使用が必要です。
  • 1.5.3-master --- 2017 年 12 月 12 日
    • 機能強化:
      • TFS 2017 をサポートします。
      • すべての vcs-eif コネクタを同期します。
  • 1.5.1-master --- 2017 年 9 月 12 日
    • 機能強化:
      • 変換の対象となるフィールドにメッセージが追加されました。
      • Ruby 2.2.6 での使用が保証されました。
  • 1.4.3-master --- 2016 年 10 月 24 日
    • 機能強化:
      • 1 つのコミット後に処理を行えるようロジックが更新されました。
  • 1.4.1 - master-1044 (2016 年 3 月)
    • 機能強化:
      • TFS 2015 をサポートします。
  • 1.4.0 - master-1042 (2015 年 11 月)
    • 機能強化:
      • ブランドの再設計。
  • 1.3.2 - master-1038 (2015 年 8 月)
    • 機能強化:
      • APIKey エントリの使用に対するサポートが追加され、現在もサポートされている ApiKey の使用よりも優先してこの APIKey の使用を奨励するように
        ドキュメントが改訂されました。
  • 1.3.1 - master-1036 (2015 年 7 月)
    • 機能強化:
      • Rally の任意のユーザ名値を小文字に変換する機能のサポートが追加され、
        Rally およびターゲット VCS システムからの取得のシーケンスが反転して、rally_api に対する依存関係が 1.2.1 に更新されました。
  • 1.3.0-master-1034 (2015 年 4 月)
    • 修正:
      • Rally の変更セット メッセージ フィールドの長さ制限である 4000 バイトを超える長さのマルチバイト文字を含む、コミット メッセージを処理します。
    • 機能強化:
      • rally_api に対する依存関係が 1.2.0 に更新されました。
  • 1.2.9 - aster-1033 (2015 年 3 月)
    • 修正:
      • JSON エンコーディング拡張に対応するために 4000 文字を超えるコミット メッセージの処理が調整されました。
  • 1.2.8 - master-1038 (2015 年 3 月)
    • 機能強化:
      • 角かっこで囲まれたコミット メッセージ内のアーティファクト識別子を識別する機能が向上しました。
  • 1.2.7 - master-cib1031 (2015 年 2 月)
    • 機能強化/修正:
      • 空のコミット メッセージによって例外が発生する問題が修正されました。
  • 1.2.6 - master-1030 (2015 年 1 月)
    • 機能強化:
      • rally_vcs_connection.rb configureExtensionEnvironment および statex.rb がカスタム アーティファクト プレフィックスに対応するよう更新されました(ディフェクトの場合「BUG」など)。
      • rally_api に対する依存関係がバージョン 1.1.2 に更新されました。
  • 1.2.5 - master-1034 (2014 年 10 月)
    • 機能強化:
      • Rally Web サービス API v2.0 および更新済みの rally_api gem を使用するよう更新されました。
    • 既知の問題:
      • 変更セットのコメントを空白のままにすると、例外がスローされます。例外の出力例を以下に示します。
        C:\Program Files (x86)\Rally Software\TFSConnectorforRally\tfs2rally-1.2.5>tfs2r 
        ally.exe prod_mae_tfs_rally.yml 
        ERROR: tfs2rally detected an Exception condition 
            C:/Users//AppData/Local/Temp/ocr19F.tmp/src/tfs2rally.rb:55:in `
        ' C:/Users//AppData/Local/Temp/ocr19F.tmp/src/tfs2rally.rb:51:in `main' ... gems/vcseif-1.2.5/lib/vcseif/vcs_connector_driver.rb:50:in `execute' ... gems/vcseif-1.2.5/lib/vcseif/vcs_connector_driver.rb:50:in `each' ... gems/vcseif-1.2.5/lib/vcseif/vcs_connector_driver.rb:53:in `block in execute' ... gems/vcseif-1.2.5/lib/vcseif/vcs_connector_driver.rb:179:in `delegateToConnectorRunner' ... gems/vcseif-1.2.5/lib/vcseif/vcs_connector_runner.rb:111:in `run' ... gems/vcseif-1.2.5/lib/vcseif/vcs_connector_runner.rb:157:in `operateService' ... gems/vcseif-1.2.5/lib/vcseif/vcs_connector.rb:233:in `run' ... gems/vcseif-1.2.5/lib/vcseif/vcs_connector.rb:289:in `reflectChangesetsInRally' C:/Program Files (x86)/Rally Software/TFSConnectorforRally/tfs2rally-1.2.5/lib/tfs_connection.rb:163:in `getRecentChangesets' C:/Program Files (x86)/Rally Software/TFSConnectorforRally/tfs2rally-1.2.5/lib/tfs_connection.rb:163:in `collect' C:/Program Files (x86)/Rally Software/TFSConnectorforRally/tfs2rally-1.2.5/lib/tfs_connection.rb:163:in `block in getRecentChangesets' C:/Program Files (x86)/Rally Software/TFSConnectorforRally/tfs2rally-1.2.5/lib/tfs_connection.rb:163:in `new' C:/Program Files (x86)/Rally Software/TFSConnectorforRally/tfs2rally-1.2.5/lib/tfs_connection.rb:397:in `initialize' C:/Program Files (x86)/Rally Software/TFSConnectorforRally/tfs2rally-1.2.5/lib/tfs_connection.rb:425:in `_extractFields' C:\Program Files (x86)\Rally

         

  • 1.2.4 - master-1032 (2014 年 9 月 16 日)
    • 機能強化/修正:
      • 設定ファイルの Rally 部分でユーザ名とパスワードの代わりに API キーを使用するためのサポートが追加されました。
      • rally_api ツールキット バージョン 1.0.1 に更新されました。
  • 1.2.3 - master-1030 (2014 年 8 月 19 日)
    • 機能強化/修正:
      • DE21993 を修正 - Rally のコミット メッセージ フィールドの 4000 文字という制限に対応するために、コミット メッセージがこの文字制限を超える場合、制限を超えた文字が切り捨てられます。切り捨てが発生すると、コミット メッセージに切り捨ての注釈が追加され、ログ ファイルに警告メッセージが表示されます。

フィードバック

ヘルプをお求めですか?CA Agile Central コミュニティは、セルフサービスとサポートのワンストップ ショップです。CA Agile Central サポートにフィードバックを送信したり、答を見つけたり、他のユーザとのコラボレーションには CA Agile Central コミュニティ にご参加ください。