web-dev-qa-db-ja.com

TFSに特定のタスクを新しい作業項目に自動的に追加させる方法は?

私たちは職場でTFSを使用して、ソースコードを管理し、開発を追跡しています。

バグややるべきことがあるときはいつでも、最低でも次の2つのタスクを実行する必要があります。

  • 作業をテストするか、テストが必要かどうかを決定します。
  • 現在のリリースのリリースノートを更新するか、特定のエントリが必要かどうかを決定します。

その他のタスクは、実行中の作業に固有のものですが、新しい作業項目を追加するときに、「Testing」と「Release notes」を常に入力していることに気づきました。

新しいバグまたは作業項目が作成されるたびにTFSにこれら2つのタスクを自動的に追加させる方法はありますか?まれなケースでは、これらのタスクは不要であり、そのワークアイテムに対して単に完了または削除としてマークすることができるため、これを自動化することによる影響については気にしません。

私は周りを見回しましたが、 PowerShellスクリプト を作成して、欠落しているすべての作業項目にタスクを追加できるように見える可能性があります。

9
oliver-clare

重要な注意点

これにはすぐに使える機能はありません。通常、私は「テスト」、「デプロイ」などの一般的なタスクから人々を遠ざけ、仕事を通してずっとテストについて考えさせ、定義させるようにします途中で実行したい中間テスト。

リリースノートやデプロイメントなどの一般的なものは完全に自動化できます。おそらくpowershellも使用します;)。

そのため、Powershell-fuを使用してこれらの一般的なタスクと悪いタスクを自動化することに重点を置いてもらうようにしています。

答え

もちろん、それ自体はあなたの質問に対する答えではありません。だから、本当の答えはここです、はい、 powershellはオプションですthe REST api またはクライアントオブジェクトモデルを呼び出して、これを使用して、中華料理のアイテムをクエリし、新しい作業アイテムを作成します。APIは広く使用されており、ブログの投稿などに関して多くの情報があります。または、小さな コンソールアプリケーションを使用して同じクライアントオブジェクトモデル

アラートのSOAP APIを使用して、ワークアイテムが追加または変更されたときに通知を受け取る を使用して、必要な子ワークアイテムを追加することで、コードに作用させることもできます。

SOAP= APIの代わりに、サーバー自体に統合されるTFSアグリゲーターのようなものを使用します。これは、同じTFSクライアントオブジェクトモデルを使用します。私はそれを構築するチームの一員です。 2013u2 +と2015 + の両方をリリースしました。TFSアグリゲーターを使用すると、C#スクリプトのPowershellを使用して、作業項目の変更を処理するルールを記述できます。すでに多くの作業が行われています。自動化の観点からクライアントオブジェクトモデルを操作するときによくある落とし穴を防ぐため。

TFSアグリゲーターは、TFS 2013(更新2以降)のサーバーサイドプジンであり、ルールに基づいて新しい作業項目を作成する機能を備えています。タスクの例はここにあります:

11
jessehouwing