kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Azure DevOpsプロジェクトのプロセステンプレートを変更する

長い間リクエストが多かったAzure DevOpsのプロジェクトプロセスがついに変更できることになりました。Sprint 154からの新機能ですが、おそらくすでに全Organizationへ展開されているはずです。

私も古いプロジェクトはAgileやScrumで作っていたのですが、個人プロジェクトならBasicでいいかなぁと思っていたのでとても助かります。ではやってみましょう。

f:id:kkamegawa:20190722213131p:plain

  • https://dev.azure.com/{organization}/settings/process?a=all へアクセスします。
  • 変更したいプロセスのプロジェクトを開き、…リーダーからChange processを選びます。

f:id:kkamegawa:20190722213138p:plain

変更したいプロセスを選びます。AgileからScrumを選んでみます。

f:id:kkamegawa:20190722213143p:plain

実行すると…失敗します。これはなぜかというと、Agileにあって、ScrumにないWork Item Typeがあるためです。

docs.microsoft.com

これはどのプロセスでも同じです。解決するには、移行先のプロセスから継承したプロセスを作り、移行元にあるWork Item Typeを作る必要があります。

Agile→Scrumの場合、Issue, User Storyという種類が存在しないので、作る必要があります。

今度はScrum→Basicでやってみます。Basicを継承してInherit Basicというプロセスを作ります。

f:id:kkamegawa:20190722213147p:plain

上と同じ手順でScrum→Basicにすると、BugとProduct Backlog Itemがないので、作ります。

f:id:kkamegawa:20190722220754p:plain

ScrumにしかないProduct Backlogはそのまんま標準のProduct Backlogという名前でレイアウトもそのまま作ります。まだ全部見ているわけではないですが、標準のコントロールを使っているだけであれば、同じ名前のWork Item Typeだけ作ればいいんじゃないかなと思います。

以前のWork Itemをそのまま扱うのであれば、厳密にStatusやRuleも設定したほうがいいでしょう。

f:id:kkamegawa:20190722213150p:plain

Bugも同じように作って、Inherit Basicができました。これでもう一度移行しますが、今度はBasicではなく、Inherit Basicへ移行します。

f:id:kkamegawa:20190722213155p:plain

今度はうまくいきました!もちろんこれはWork Itemがすでにある場合のみ発生する現象で、Work Itemが存在しないプロジェクトであれば、このようなエラーもなく、移行できます。作って「あ、間違えた」といううっかりであれば継承しなくても大丈夫です。

移行した後は、継承元にあったProduct Backlog Itemなどは使わず、移行先のWork Item Typeのみ使用してください。

docs.microsoft.com

docs.microsoft.com

(追記)
MSの中の人がプロセステンプレートを編集するCLIツールを公開しています。

github.com

issueの中に「特定のWork Itemを別のプロセステンプレートへコピーする」っての登録しているので、そのうちこのCLIで簡単に複製できるんじゃないかなと思います。

github.com