Is your feature request related to a problem? Please describe.
One common concern when working with Bot Pipelines is NLU data loss, especially when you are using the Misunderstood module to add customer utterances to your bot's training dataset.
When your bot is in the Production stage, you use the Misunderstood module to incorporate customer utterances that the bot did not understand. As a consequence, new utterances are added to your Production bot.
Meanwhile, you may be working on the next version of your bot in the Development stage of your Bot Pipeline. You may add, modify, or delete new intents and QnAs.
When you are satisfied with the Dev version of your bot, you will want to promote it to the Staging stage, for verification. At this point, it is crucial that you incorporate the new customer utterances from the Prod bot to your Dev bot. Otherwise, your Dev bot will be missing a lot of data accumulated in Prod.
Another concern is when using any URLs that contains the bot ID. Let's say you have a bot TEST in the Dev stage that uses an OAuth module. The callback used by this module will contain the bot ID.
So, if you decide to copy your bot to the next stage, its ID will be suffixed with a date forcing you to edit the value of the callback URL each time.
On the other hand, if you prefer to move the bot to the next stage, the is no way for you to move it back to the previous one. You would then have to download and re-import your bot with a different ID.
Describe the solution you'd like
Add something like a 'Merge' pipeline action that will simply merge bots configurations/data from one stage with the other. A little bit like git merge.
Describe alternatives you've considered
By using a custom hook that handles merging the data of the Dev version with the Prod one manually.
Is your feature request related to a problem? Please describe.
One common concern when working with Bot Pipelines is NLU data loss, especially when you are using the Misunderstood module to add customer utterances to your bot's training dataset.
When your bot is in the Production stage, you use the Misunderstood module to incorporate customer utterances that the bot did not understand. As a consequence, new utterances are added to your Production bot.
Meanwhile, you may be working on the next version of your bot in the Development stage of your Bot Pipeline. You may add, modify, or delete new intents and QnAs.
When you are satisfied with the Dev version of your bot, you will want to promote it to the Staging stage, for verification. At this point, it is crucial that you incorporate the new customer utterances from the Prod bot to your Dev bot. Otherwise, your Dev bot will be missing a lot of data accumulated in Prod.
Another concern is when using any URLs that contains the bot ID. Let's say you have a bot TEST in the Dev stage that uses an OAuth module. The callback used by this module will contain the bot ID.
So, if you decide to copy your bot to the next stage, its ID will be suffixed with a date forcing you to edit the value of the callback URL each time.
On the other hand, if you prefer to move the bot to the next stage, the is no way for you to move it back to the previous one. You would then have to download and re-import your bot with a different ID.
Describe the solution you'd like
Add something like a 'Merge' pipeline action that will simply merge bots configurations/data from one stage with the other. A little bit like git merge.
Describe alternatives you've considered
By using a custom hook that handles merging the data of the Dev version with the Prod one manually.