Skip to content

Instantly share code, notes, and snippets.

@kkamegawa
Last active May 30, 2021 08:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kkamegawa/90b42245b31db3449a2ad1fecf2e5532 to your computer and use it in GitHub Desktop.
Save kkamegawa/90b42245b31db3449a2ad1fecf2e5532 to your computer and use it in GitHub Desktop.

Delivery Plans 2.0の一般提供を開始しました - Sprint 187

この度、Delivery Plans 2.0が一般提供されることになりました。Delivery Plans 2.0は、計画のタイムライン表示、作業の進捗状況、依存関係の追跡という3つの重要なシナリオを実現しています。

詳細は、以下の機能説明をご覧ください。

この度、Delivery Plans 2.0が一般提供されることになりました。3つの重要なシナリオを実現しています。

  • 計画のタイムライン表示
  • 作業の進捗状況
  • 依存関係の追跡

これらのシナリオは、チームやプロジェクトを超えて機能します。Delivery Plans 2.0は製品に組み込まれているため、拡張機能はもう必要ありません。以前からあったPlans拡張機能で作成したPlanは、Delivery Plans 2.0でそのまま使用できます。

PlansとDelivery Plansの違いを簡単に比較してみましょう。

Feature Plans 1.0 (extension) Delivery Plans 2.0
チーム数 最大10 最大15
Work item時間経過 Iterationのみ Start/Target dateとIteration
Visualization Full cardビュー 縮小および、展開ビュー
Roll-up information なし リンク及び、子アイテムの完了割合(%)
Dependency Tracking なし あり
Start Timeの視覚化 なし。Work Itemの終了のみ あり。Work Itemの開始と終了両方
Card Styling なし あり

以下、主な機能をご紹介します。Filtering, Markers, Field CriteriaもDelivery Plansの一部です。

Delivery Plans 2.0では、start(開始日)、target(目標日)、またはiteration dates(イテレーションの期間)を使用して、計画内のすべての作業項目をタイムライン上に表示できます。優先順位は、開始日と目標日、そしてイテレーションの順になります。これにより、Epicのようなポートフォリオレベルのワークアイテムをイテレーションに追加できます。

condensed viewexpanded viewというの2つの主要なビューがあります。また、プランの右端にある虫眼鏡をクリックすると、プランを拡大・縮小可能です。

  • Condensed View(凝縮ビュー)

Condensed View(凝縮ビュー)では、すべてのワークアイテムカードが折りたたまれて表示されますが、すべてのカード情報が表示されるわけではありません。このビューは、プラン内の作業の全体像を把握するのに便利です。カードフィールドを折りたたむには、プランの右端にある虫眼鏡の隣にあるカードアイコンをクリックします。

以下は、凝縮表示と拡大表示を切り替えているプランの例です。

Gif to demo condensed view.

  • Expanded View(展開ビュー)

展開ビューでは、子アイテムやリンクされたアイテムの数をカウントし、完了した割合を表示することで、ワークアイテムの進捗状況を示します。現在、進捗状況はワークアイテムの数で判断しています。

以下は、拡張ビューを使用したプランの例です。進捗バーと進捗率に注目してください。

Example of a plan using an expanded view

依存関係の追跡は、ワークアイテムに定義された前任者と後任者のリンクに基づいています。これらのリンクが定義されていない場合、依存関係の線は表示されません。ワークアイテムに依存性の問題がある場合、依存性リンクのアイコンは赤く表示されます。

Dependency tracking with dependency icon in red to show dependencies

  • 依存関係の表示

特定の依存関係は、方向性を含むそのワークアイテムのすべての依存関係を表示する依存関係パネルで確認できます。赤いびっくりマークは、依存関係に問題があることを示しています。パネルを表示するには、カードの右上隅にある依存関係のリンクアイコンをクリックします。以下は依存関係の例です。

Example of viewing dependencies

Another example of viewing dependencies

  • 依存関係の方向を示す矢印

ワークアイテム間の依存関係は、それぞれのワークアイテム間の方向性のある矢印線で視覚化されます。複数の依存関係がある場合は、複数の線で表示されます。赤色の線は問題があることを示しています。

いくつかの例を表示します。

Dependencies work items visualized with directional arrow lines between the respective work items

複数の依存関係を持つワークアイテムの例で、凝縮ビューでも機能します。

Example of a work item with multiple dependencies in condensed view

問題がある場合、線の色が赤になり、依存関係のアイコンも赤になります。

こちらがサンプルになります。

Example of a work item with multiple dependencies

カンバンボードのように、ルールを使ってカードをスタイリングできるようになりました。プランの設定を開き、Stylesをクリックします。スタイルパネルでAdd styling ruleをクリックしてルールを追加し、Saveをクリックします。ルールは最大10個まで設定でき、各ルールには最大5つの節があります。

Styling settings

  • 設定前

Card styling before

  • 設定後

Card styling after

今回のリリースでは、チームやプロジェクトのダッシュボードを、同じプロジェクトや新しいプロジェクトにコピーできるようになりました。ダッシュボードのウィジェットとレイアウトはコピーされますが、ウィジェットは新しいクエリと設定で構成する必要があります。

この機能をプレビューするには、Copy Dashboard Experienceという機能フラグをオンにしてください(preview featuresの中にあります)。

Enable copy dashboard experience

ダッシュボードをコピーする手順は以下の通りです。

  1. コピーしたいダッシュボードにアクセスします。そこからメニューをクリックしてCopy Dashboardを表示し、クリックしてください。

Copy dashboard

  1. 新しいダッシュボードの名前と説明を入力し、ダッシュボードのタイプをチームまたはプロジェクトから選択します。Team Dashboardを選択する場合は、新しいプロジェクトとチームを、それぞれプロジェクトとチームのドロップダウンボックスから選択します。Project dashboardの場合は、プロジェクトのみが必要です。

New dashboard options menu

新しいIterationcapacities REST APIを使用して、イテレーション内のすべてのチームの合計キャパシティを取得できるようになりました。iterationIdを指定すると、APIはイテレーションに関連する各チームのキャパシティの合計と、全体の合計を返します。この機能により、インクリメントのキャパシティプランニングが容易になります。Iterationcapacitiesの詳細については、こちらのドキュメントをご覧ください。

Microsoftが提供するUbuntuエージェントにプリインストールされる.NET SDKのバージョンを変更します。現在は、利用可能でサポートされているすべての.NET SDKのバージョン(2.1.x、3.1.x、5.0.x)をインストールしています。今後は、機能バージョンごとに最新のパッチバージョンをインストールする方法に変更します。この変更は、お客様により多くの空き容量を提供するためと、新しいツールのリクエストのために行われます。詳細については、software and image guidlinesをご覧ください。

この変更は何を意味しますか?

SDKのバージョンは、x.y.znnというパーツで構成されており、zは機能バージョン、nnはパッチバージョンを表します。例えば、2.1.302の場合、機能バージョンは3で、02がパッチバージョンとなります。新しいアプローチでは、機能バージョンごとに最新のパッチバージョンのみをインストールします。つまり、2.1.3xには2.1.302のみ、2.1.4xには2.1.403のみ、といった具合です。最新のパッチバージョンではない.NET SDKのすべてのバージョンは、6月14日にUbuntuイメージから削除されます。この変更は、Microsoftが提供するエージェント上のUbuntuのすべてのバージョンに影響します。

実施される日付

アップデートされたイメージの展開は6月14日から開始され、3~4日かかる予定です。

及ぼす影響

global.jsonファイルを使用した場合、以下のようなケースでビルドに影響が出ます。

global.jsonファイルにrollForward: disableプロパティが含まれており、SDKのバージョンが最新のパッチバージョンではない場合、ビルドに失敗します。例えば、以下のようになります。

{
  "sdk": {
    "version": "3.1.100",
    "rollForward": "disable"
  }
}

global.jsonファイルにrollForward: patchプロパティが含まれている場合、.NET SDKのバージョンは自動的に最新のパッチに変更されます。例えば、以下のようになります。

Copy
{
  "sdk": {
    "version": "3.1.100",
    "rollForward": "patch"
  }
}

global.jsonファイルでrollForwardフィールドが指定されていない場合は、変更はありません。インストールされている最新のパッチレベルが使用されます。

最新のパッチではない正確な.NET SDKのバージョンを使用する必要がある場合は、UseDotNetタスクを使用して、ビルドの一部としてインストールしてください。

steps:
- task: UseDotNet@2
  displayName: 'Use .NET Core sdk'
  inputs:
    version: <dotnet version>

YAML パイプラインでは、さまざまな種類の共有リソースが使用可能です。例えば、servicce connections、variable group、secure files、agent pools、environments、またはrepositoriesなどです。パイプラインがリソースにアクセスできないようにするには、リソースの所有者がそのリソースにパーミッションとチェックを設定できます。パイプラインがリソースにアクセスしようとするたびに、設定されたすべてのパーミッションとチェックが評価されます。これらの保護機能は、以前からservicce connections、agent pools、environmentsで利用可能でした。最近では、リポジトリにも追加されました。今回のリリースでは、variable groupとsecure filesにも同じ保護機能が追加されています。

variable groupやsecure filesへのアクセスを一部のパイプラインに限定するには、Pipelines permissionsを使用します。

My secret variables

パイプラインが実行されるたびに評価されるべきチェックや承認を設定するには、Approvals and checks for Library機能を使用します。

Add checks approval

テンプレートはYAMLパイプラインでよく使われる機能です。パイプラインのスニペットを簡単に共有できます。また、パイプラインを通じてセキュリティとガバナンスを検証または強化するための強力なメカニズムでもあります。

Azure Pipelinesは、パイプラインの編集に便利なYAMLエディタをサポートしています。今までWebエディタはテンプレートをサポートしていませんでした。そのため、YAMLパイプラインの作成者は、テンプレートを使用する際にインテリセンスの支援を受けることができませんでした。今回のリリースでは、YAML エディターでのテンプレートのサポートをプレビューしています。このプレビューを有効にするには、Azure DevOps organizationの設定で機能のプレビューに移動し、YAML templates editorを有効にします。

Enable YAML templates editor in preview features

メインのAzure PipelinesのYAMLファイルを編集する際に、テンプレートを含めることも拡張することもできます。テンプレートの名前を入力すると、テンプレートを検証するように促されます。検証されると、YAMLエディタは、入力パラメータを含むテンプレートのスキーマを理解します。

YAML template

検証後、テンプレートへのナビゲートの選択ができます。YAMLエディタのすべての機能を使って、テンプレートに変更を加えることができるようになります。

この機能はプレビュー版であることにご注意ください。既知の制限事項があり、そのうちのいくつかは現在対応中です。テンプレートに必須のパラメーターがあり、それがメインのYAMLファイルで入力として提供されていない場合、検証は失敗し、それらの入力を求めるプロンプトが表示されます。理想的には、検証がブロックされず、インテリセンスを使用して入力パラメーターを記入できるようにするべきです。また、エディターから新しいテンプレートの作成はできません。既存のテンプレートを使用または編集することしかできません。

Canonical社によるUbuntu 16.04の従来の5年間のサポートが2021年4月に終了します。弊社の環境を最新かつ安全に保つために、2021年9月20日にUbuntu 16.04を削除します。

ubuntu-16.04のワークフローを、Ubuntu 20.04 LTS上で動作するubuntu-18.04またはubuntu-latestに移行する必要があります。

この変更を皆様にご理解いただくために、2回の短いブラウンアウト(訳注:計画停電。つまり意図して使えなくなる状態に陥らせること)を予定しています。ブラウンアウト期間中は、Ubuntu 16.04のビルドはすべて失敗します。そのため、2021年9月6日より前にパイプラインを移行することをお勧めします。

ブラウンアウトは、暫定的に以下の日時に予定されています。この期間が近づくにつれて、これらの時間は更新されます。

2021/9/6 17:00 UTC - 22:00 UTC (2021/9/7 2:00 - 7:00 JST)

2021/9/14 17:00 UTC - 22:00 UTC (2021/9/15 2:00 - 7:00 JST)

注意事項

ここで議論されている機能は今後二~三週にわたって順次展開されます。

これらの新機能を読んだ後、次のリンクからぜひご自身でAzure DevOpsサービスを体験してみてください。

Go to Azure DevOps Services

これらの機能についてどう思っているかお聞きしたいと思います。 フィードバックメニューを使用して問題を報告するか、提案を提出してください。

Make a suggestion

アドバイスや回答を必要とする質問がある場合、Stack Overflowコミュニティで聞いてください。

ありがとうございました。

Aaron Hallberg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment