長い間リクエストが多かったAzure DevOpsのプロジェクトプロセスがついに変更できることになりました。Sprint 154からの新機能ですが、おそらくすでに全Organizationへ展開されているはずです。
私も古いプロジェクトはAgileやScrumで作っていたのですが、個人プロジェクトならBasicでいいかなぁと思っていたのでとても助かります。ではやってみましょう。
- https://dev.azure.com/{organization}/settings/process?a=all へアクセスします。
- 変更したいプロセスのプロジェクトを開き、…リーダーからChange processを選びます。
変更したいプロセスを選びます。AgileからScrumを選んでみます。
実行すると…失敗します。これはなぜかというと、Agileにあって、ScrumにないWork Item Typeがあるためです。
これはどのプロセスでも同じです。解決するには、移行先のプロセスから継承したプロセスを作り、移行元にあるWork Item Typeを作る必要があります。
Agile→Scrumの場合、Issue, User Storyという種類が存在しないので、作る必要があります。
今度はScrum→Basicでやってみます。Basicを継承してInherit Basicというプロセスを作ります。
上と同じ手順でScrum→Basicにすると、BugとProduct Backlog Itemがないので、作ります。
ScrumにしかないProduct Backlogはそのまんま標準のProduct Backlogという名前でレイアウトもそのまま作ります。まだ全部見ているわけではないですが、標準のコントロールを使っているだけであれば、同じ名前のWork Item Typeだけ作ればいいんじゃないかなと思います。
以前のWork Itemをそのまま扱うのであれば、厳密にStatusやRuleも設定したほうがいいでしょう。
Bugも同じように作って、Inherit Basicができました。これでもう一度移行しますが、今度はBasicではなく、Inherit Basicへ移行します。
今度はうまくいきました!もちろんこれはWork Itemがすでにある場合のみ発生する現象で、Work Itemが存在しないプロジェクトであれば、このようなエラーもなく、移行できます。作って「あ、間違えた」といううっかりであれば継承しなくても大丈夫です。
移行した後は、継承元にあったProduct Backlog Itemなどは使わず、移行先のWork Item Typeのみ使用してください。
(追記)
MSの中の人がプロセステンプレートを編集するCLIツールを公開しています。
issueの中に「特定のWork Itemを別のプロセステンプレートへコピーする」っての登録しているので、そのうちこのCLIで簡単に複製できるんじゃないかなと思います。