はじめに
UiPath製品の中でテスト自動化に関連する製品である Test Manager をRedmineと連携する手順をご紹介します。
Test ManagerはOrchestratorと連携することも可能ですが、当検証の内容では触れておりません。
Test ManagerとRedmine連携部分のみにフォーカスした内容です。
公式ドキュメントはこちらです。
https://docs.uipath.com/ja/test-suite/automation-cloud/latest/user-guide/redmine-integration
概要図
概要図の説明:
- Redmine上でテストの「要件」チケットを起票します。Test Managerに連携されます。
- Test Managerにテスト結果を入力します。
- テスト結果の失敗に対しTest Managerで不具合作成の操作をします。Redmine上に「不具合」チケットが起票されます。
検証に使用した環境やバージョンなどの概要は以下です。
- Test Managerはクラウド(Automation Cloud)
- RedmineはAzure上のWindows Server環境。
- Redmine v5.0.5、Ruby(+Devkit)v2.7.8
1.Test Managerの設定
Redmineの設定がまだの場合は「2.Redmineの設定」を先に実施する必要があります。
対象のプロジェクトを開きます。
プロジェクト設定 > 連携 > 新しい接続 を選択します。
Redmine接続の設定例です。
OCのTest ManagerがRedmineへ接続が可能な状態となったら、
上図のように Redmineのトラッカー(③)を認識した状態 となります。
上図①②③④がRedmineのどの設定に紐付いているか、以降 「2.Redmineの設定」 で触れていきます。
不具合のトラッカー(③)は1つ、要件のトラッカー(④)は複数設定可能です。
2.Redmineの設定
本検証ではAzureに構築したサーバーにRedmineを設定し、デフォルト(ポート:3000)で稼働させています。
ご利用環境によってはポート開放等の手順が必要な可能性がありますが、当検証手順では触れていません。
当手順では新規に構築したRemine環境を使用しています。
この章では Test ManagerとRedmineを連携する という目的において、
必要な Redmine上の手順 をまとめています。
1)プロジェクトを作成する。
Myプロジェクト という名称でプロジェクトを作成しました。名称は任意のもので良いです。
識別子を 「my」 とした点をご確認ください。
※ Test Managerの連携設定の①と紐付いています。
2)ユーザーを作成する。
「user1」 というユーザーを作成しました。
※ Test Managerの連携設定の②と紐付いています。
管理者権限を持たないユーザーを作成することをおすすめします。
管理者権限ではどんな操作も可能であることで、例えば一般ユーザー用のロール設定に不備があった場合に気づきにくいです。
3)トラッカーを作成する。
「要件」、「不具合」 というトラッカーを定義しました。
※ Test Managerの連携設定の③④と紐付いています。
「不具合」トラッカーの設定の例です。初期のままとしています。
4)ロールを作成する。
「一般ユーザー」 というロールを作成しました。
このロール作成の手順はRedmineの操作の仕様上、必要な手順です。
ユーザーに対して、ロールを割り当てる必要があります。
(プロジェクトごとにユーザーのロールを変えることも可能です)
作成したロールでチケットを起票するので、チケット関連の権限を適当に付与します。
5)チケットのステータスを作成する。
下図の定義を作成しました。
連携の確認のみが目的の場合は、最低限の入力でも良い内容です。
(運用で「あったら良いな…」を考えながら適当に入力しました)
6)ワークフローを定義する。
- ワークフロー は、チケットの各ステータスが どのステータスに遷移可能であるか 。
- 各ステータスでのチケットのどの入力項目の編集を求めるか。
…の設定です。当検証では最低限の定義があれば良い内容です。
上図のステータスを、編集画面でそれぞれ遷移可能とするステータスにチェックを入れます。
7)プロジェクトにユーザーを割り当てる。
プロジェクトに追加するユーザーと、ユーザーに割り当てるロールを選択します
図では 「user1(たろう テスト)」 ユーザーに 「一般ユーザー」 ロールを割り当てて追加しています。
8)プロジェクトにトラッカーを割り当てる。
設定 > チケットトラッキング > トラッカー で、
対象とするトラッカーにチェックを入れ保存します。
図では「不具合」と「要件」トラッカーを割り当てています。
9)「選択肢の値」(優先度の値)を設定する。
今回利用した Redmine v5.0 では、チケットを新規に起票時に 「優先度」プルダウンの入力が必須 です。
プルダウン項目なので、この値を事前に定義しておく必要があります。
また、いずれかの値を デフォルト値 と設定します。
今回利用した Redmine v5.0では優先度が必須入力 ですが、
Test Managerから連携される「不具合」には優先度が設定されない ため「デフォルト値」の設定が必要です。
この手順が漏れるとRedmine側で 「エラーコード422:Unprocessable Entity」 (期待する書式/データでない場合に発生するエラーコード)が発生します。
10)Redmineの動作を確認する。
作成したユーザーでログインしなおし対象のプロジェクトを選択し、
「チケット」タブ > 「新しいチケット」 を選択します。
下図のように、「トラッカー」や「優先度」の項目が設定した通りになっていればOKです。
3.Test ManagerとRedmineの連携を確認します。
1)「要件」の連携を確認します。
手順概要:
Redmineで要件を起票し、Test Managerに自動連係されることを確認します。
Test Manager側に自動的に「要件」が取り込まれました!
しばらく待ってから、Test Managerを確認すると…、
Redmineの要件が自動的に取り込まれたことが確認できました。
2)「不具合」の連携を確認します。
手順概要:
- Test Managerでテストの "失敗" の結果を入力し「不具合」を作成し、Redmine側に不具合が自動連係されることを確認します。
- 事前準備として、Test Manager上にテストセットとテストケースの作成が必要です。
(連携の設定とは少し逸れるため、4章に補足として記載しています)
以降、手順の詳細です。
対象のテストセットを開き > 右端の三点リーダー > 手動で実行 を選択します。
テスト結果を入力するウィンドウが開きます。
テスト結果やコメントを入力します。今回は 「セットが不合格」 を選択しています。
左ペイン > テスト結果 でテスト結果を参照できます。
入力した結果は下図のような表示になっています。
テスト結果に対し「不具合」を起票していく手順を実施します。
対象の「テスト結果」を開きます。
表示されているテストケースの結果リンク(青字部分)をクリックします。
「不具合を作成しています。」 のメッセージが表示され、
再表示をすると不具合のリンクが表示されます。
数字のリンク をクリックするとRedmineのチケットに遷移します。
Redmineに自動的に「不具合」チケットが起票されています!
「不具合を作成しています。」の後に何も起こらない場合:
Redmine側でエラーが発生している可能性があります。
Redmine側のエラーコードを元に原因を推定するような作業が必要になります。
4.補足情報
Test Managerのテストケースとテストセットの作成手順。
テストケースの結果を入力するまでには以下の手順が必要です。
- テストケースを作成する。
- テストセットを作成する。
- テストセットにテストケースを割り当てる。
以降、概要をご紹介します。
1.テストケースを作成する。
2.テストセットを作成する。
3.テストセットにテストケースを割り当てる。
対象のテストセットを開きます。
右上の「タスク」 > 「テストケースを割り当て」 を選択します。
テストケースの一覧が表示されるので、対象としたいテストケースにチェックを入れます。
以上の手順で、テストケース、テストセットの定義が作成できます。
Orchestratorの実行結果と連携することも可能ですが、当検証の内容からは割愛しています。
まとめ
Test ManagerとRedmineを連携する手順のみにフォーカスした内容をまとめました。
今後はこの設定を前提とする形で、活用アイデアなどもまとめていきたいと思います。