ブランチでテストまたはフローを編集した後に、masterでそのテストまたはフローが変更された場合、Merge with assistant オプションを使用して2つのバージョンを調整できるようになりました。これまでは、マージするには2つのバージョンを手動で調整する必要があり、長いテストでは手間がかかることがありました。Merge with assistant は、masterとブランチの両方の変更からテストを再構築する作業を引き受け、調整した各テストがブランチで成功した場合にのみマージします。
仕組み
mabl アシスタントでマージすると、セッションが開始され、mablはmasterと競合しているテストとフローを1つずつ処理します。テストはフローを使用できるため、フローを先に処理します。
競合しているテストまたはフローごとに、アシスタントは次のことを行います。
- ブランチの作成以降にmasterで変更された内容と、ブランチで変更された内容を比較します。
- masterの変更をブランチのバージョンに追加します。両方で同じステップが変更されている場合は、テストの目的とそれぞれの編集についての情報をもとに、何を残すかを判断します。
- 更新したバージョンを読み直して、変更が保存されたことを確認します。
- ブランチでテストを実行します。フローの場合は、そのフローを使用するテストを実行します。
競合しているすべてのテストとフローの調整が完了し、テストが成功すると、アシスタントはブランチをmasterにマージします。アシスタントがテストまたはフローを調整できない場合や、テストが成功しない場合は、処理を停止し、対応が必要なテストまたはフローを報告します。その場合は何もマージされず、masterは元のままです。
アシスタントはブランチ上のテストとフローを編集し、masterにマージするため、マージには編集者以上のロールが必要です。アシスタントのマージ先はmasterのみです。
実際の手順
Webアプリ
- ブランチを開き、[ブランチをマージ] をクリックします。
- ブランチがmasterと競合している場合は、ダイアログに競合しているテストとフローが一覧表示されます。[Merge with assistant] をクリックします。
- ダイアログのリンクから、セッションの進行状況を確認します。
これまでと同様に、ブランチのバージョンでmasterの新しい変更を置き換えたい場合は、代わりに [とりあえずマージします] をクリックします。
mabl CLI
1.27.24以降で、次のコマンドを実行します。
mabl branches merge --from {branch} --agentic
競合のないブランチはすぐにマージされます。競合のあるブランチの場合、コマンドはセッションIDを出力します。branch_merged が true になるまで、mabl branches merge-status --from {branch} --session-id {session-id} でセッションを追跡します。マージはブランチごとに1回だけ実行してください。
mabl MCP
ブランチをマージし、競合があればmabl アシスタントに解決させるようAIクライアントに依頼します。例:
mablのブランチ promo-update をmasterにマージしてください。競合がある場合は、mabl アシスタントに調整させてください。
アシスタントはブランチを編集してmasterにマージするため、AIクライアントはマージセッションを開始する前に確認を求めます。承認しない限り、競合のあるブランチのマージは拒否され、masterには何も変更が加えられません。