Problem with using `rasa data validate` when using an external NLG server


I have a rasa 3.4.5 bot that uses an external NLG server which works without any issues when executed. No issues whatsoever.

As the documentation suggests, since I am using the utterances directly in my rules, I have listed all the utterance names under the actions key in the domain.yml.

However, when I run rasa data validate, there are a bunch of UserWarnings about the utterances being used in stories but are not valid utterance actions.

eg: UserWarning: The action 'utter_greet' is used in the stories, but is not a valid utterance action. Please make sure the action is listed in your domain and there is a template defined with its name.

And, sadly the validation job fails with Project validation completed with errors. error message, which shouldn’t be the case since the utterance names are already listed under the actions, like I mentioned, as suggested in the documentation. I am planning on implementing a CI/CD pipeline and only deploy the assistant if rasa data validate is successfully executed so failing to do so is a huge issue eventhough there’s nothing wrong with the configs of the assistant in any of the YAML files.

Are there any ongoing issues to fix this any time soon?

I have attached my rules.yml (723 Bytes) and domain.yml (1.5 KB) as a reference herewith.

Here’s the error log:

Steps to reproduce

  • create a new rasa assistant
  • remove responses from the domain and attach an external NLG server. Code for the external NLG can be obtained from here
  • list the utterance names under actions in the domain.yml since there is no more responses key.
  • run rasa data validate. the job should fail due to the reason of missing utterance actions

You should file a bug report on Jira. Warnings should not cause a validate failure. This should only cause a failure if the --fail-on-warnings is set.