多くの場合開発の一環として、開発の特定の段階をバージョンとしてマークしたい場合があります。理由は次のようにさまざまです。
- 次の変更に進む前に、ボットのバージョンを作成する。
- 拡張作業を継続しながら、完全にテストされたバージョンを製品リリースまで保持する。
- 行われたすべての変更を追跡する。
何らかの理由で新しい変更が機能しない場合は、以前の状態に戻したい場合があります。
タイプ
バージョンタイプは、ボットバージョンの作成方法に基づいています。
- ユーザーが作成:これらのバージョンは、ボット開発者としてあなたが作成したものです
- プロセスについては、以下を参照してください。
- ユーザーによって作成されるバージョンの最大数は20に設定されています。この制限に達すると、新しいバージョンが作成された場合、最も古いバージョンが削除されます
- 自動で作成:これらのバージョンは、ボットの公開サイクルの一部として作成されます。
- プラットフォームはボットを公開するたびにバージョンを自動的に作成します。
- この自動バージョンには、現在の公開リクエストが受け入れられた後のボットの公開コピーの定義が含まれています。
- 公開リクエストが拒否された場合、バージョンは作成されません。
- これらのバージョンは削除できません。
- 自動バージョンの作成が進行中の間は、後続の公開リクエストを発行することはできません。
- 自動で作成されるバージョンの最大数は20に設定されています。この制限に達すると、新しいバージョンが作成された場合、最も古いバージョンが削除されます
バージョンの復元
任意のバージョンに対して復元オプションを使用すると、ボットの現在の「開発中」バージョンをそのバージョンに存在する定義に置き換えることができます。復元はボットの互換性のあるバージョンに限定し、互換性のないバージョンの復元を拒否します。
復元の仕組み
以下は、各ボットコンポーネントに対するバージョン復元の処理方法です。タスク:次のルールはダイアログタスク、アクション/アラート/情報タスク、スモールトーク(言語ごと)、UIフォーム、パネル、およびウィジェットに適用されます。
- ボットにいくつかの追加タスクがあり、それらが復元バージョン定義に存在しない場合、これらのタスクはプラットフォームで暗黙的に「削除済み」としてマークされます。
- これらの「削除済み」タスクはボット開発には使用できず、復元後の最初の公開リクエスト中にボットの公開済みコピーから自動的に削除されます。これらの削除リクエストを公開リクエストから除外することはできません。
- これらの削除されたタスクを含むバージョンを復元すると、それらは同じ名前の新しいタスクとして含まれ、元の(削除された)タスクは引き続き公開ログで削除済みとしてマークされます。
- 公開されたボットを未公開の状態に復元した場合、ボットのインポートが制限される場合があります。
ナレッジグラフ:次のルールがナレッジタスクに適用されます(言語ごと)
- ボットにいくつかの追加FAQがあり、それらが復元バージョン定義に存在しない場合、これらのタスクはプラットフォームで暗黙的に「削除済み」としてマークされます。
- これらの「削除された」タスクは、ボット開発では利用できません
- これらのFAQは公開リクエスト中に、対応する親ノードが公開用に選択された場合にのみ、公開されたコピーから削除されます
- 対応する親ノードが公開用に選択されていない場合、それらのFAQは公開済みコピーに表示されますが、開発中のコピーでは削除されたと見なされます
- これらの削除されたタスクを含むバージョンを復元すると、それらは同じ名前の新しいタスクとして含まれ、元の(削除された)タスクは引き続き公開ログで削除済みとしてマークされます。
スモールトーク:次のルールがスモールトークに適用されます(言語ごと)
- ボットにいくつかの追加QnAsがあり、それらが復元バージョン定義に存在しない場合、これらのQnAsはプラットフォームで暗黙的に「削除済み」としてマークされます。
- これらの「削除された」タスクは、ボット開発では利用できません
- これらのQnAsは公開リクエスト中に、スモールトークが公開用に選択された場合にのみ、公開されたコピーから削除されます
言語
- ボット定義にいくつかの追加の言語があり、それらが復元バージョン定義に存在しない場合、これらの言語はボットの構成済バージョンから「削除済み」と見なされます。
- これらの「削除された」言語は、ボット開発では利用できません
- 言語の削除は、復元後のボットの公開後に公開されたコピーに反映されます
チャネル
- チャネルはボット定義の一部ではないため、バージョン管理の一部にはなりません。現在のチャネルの有効化は、バージョンの復元時に変更されません。
- 1つの例外はWebhookチャネルです。現在のバージョンのWebチャネル構成は、復元されたバージョンのWebチャネル構成に置き換えられます。
ボット管理
- 復元されたバージョンが公開されるまで、ボットのインポートは許可されません。
バージョン比較
バージョン比較機能を使用すると、同じボットの異なるバージョン間の違いを理解できます。それは次のことに役立ちます。
- 最近公開されたバージョンの問題を、公開済の以前のバージョンのいずれかと比較してデバッグします。
- 公開する前に変更を分析します。開発者は、開発中のボットのバージョンと公開されたバージョンのコピーを比較することで、変更のスナップショットを撮ることができます。
- バージョン復元の前(または後)に影響分析を実行します。開発者は2つのバージョンを比較することで、バージョン復元の影響をよりよく理解できます。
- NLP/NLUの変化を分析します。NLPトレーナーは2つのバージョンに存在するトレーニングを比較することにより、ボットのNLPパフォーマンスの変化を分析できます。
比較オプションを使って任意のバージョンと比較すると、ボットの任意の2つのバージョン間でボット定義に加えられた変更のリストをレビューできます。ボットバージョンの比較には、以下の手順に従います。
- ボットバージョンページで、ボットバージョンのリストを見つけることができます。
- 比較するボットのバージョンにカーソルを合わせ、比較をクリックします。
- 比較する別のバージョンの選択ウィンドウで、ボットの選択されたバージョン(ベース)と、さまざまなバージョン(ターゲット)を含むリストを表示することができます。比較するボットのバージョンをリストから選択します。
- 続行をクリックします。
- バージョンの比較ページで、次のように分類された比較の詳細を見つけることができます。
- タスク
- トレーニング
- インテリジェンス
- 設定
- 変更ログ
- 次の情報は、JSON形式で開発者に強調表示されます。
- データの追加―セカンダリバージョンで新しく追加されたデータは強調表示されますが、プライマリバージョンでは強調表示されません。
- データの削除―プライマリバージョンから削除されたデータは強調表示されますが、セカンダリバージョンでは強調表示されません。
- データの更新―キーと値のペアの場合、両方のバージョンに値が異なる同じキーが存在すると強調表示されます。
- データの追加と削除の場合、新しい行の位置を明確にするために、対応する詳細が欠落しているバージョンでは空の行が表示されます。
- 合計変更の要約カウントが表示され、検索をサポートします。