Botframework-solutions: Botskills list command gives "No Skills connected " message

Created on 27 Jul 2020  路  5Comments  路  Source: microsoft/botframework-solutions

What project is affected?

Botskills 1.0.16

What happens?

Even though the appsettings file contains entries for the Skill bots connected, the botskills command gives the message "There are no Skills connected to the assistant."

What are the steps to reproduce this issue?

  1. Connect skills to VA.
  2. Run botskills list
  3. Note the error

    What were you expecting to happen?

The botskills list scans appsettings.json and gives a list of skills connected to the VA.

Can you share any logs, error output, etc.?

image

Any screenshots or additional context?

image

Needs Triage Bug

Most helpful comment

Hi @Batta32 , just validated the changes from your fix, and it works. Thank you for the prompt response and quick fix. 馃槃

All 5 comments

Thanks @manish-95 for reporting this issue! We will back to you as soon as we have any update 馃槉.

@Batta32 I notice that the latest version of the botskills tool adds the skill details under the key "botFrameworkSkills" whereas the older version I was using before added the skill under the key "BotFrameworkSkills"
I think this should be gracefully handled, since it causes a lot of confusion, and also provides almost no backward compatibility. Maybe a case neutral condition check for the key would be useful.

@manish-95 - you are right, we are going to review this in order to avoid these kind of issues.

Meanwhile, as a workaround, you can follow these steps:

  1. Open your Virtual Assistant's appsettings.json file
  2. Change the _UpperCamelCase_ keys to _lowerCamelCase_ as follows:
   "botFrameworkSkills": [
      {
         "id": "CalendarSkill",
         "appId": "xxx-xxx-xxxxxxx",
         "skillEndpoint": "https://webapp-endpoint/api/messages",
         "name": "Calendar Skill",
         "description": "Calendar Skill"
      },
      {
        "id": "EmailSkill",
        "appId": "xxx-xxx-xxxxxxx",
        "skillEndpoint": "https://webapp-endpoint/api/messages",
        "name": "Email Skill",
        "description": "Email Skill"
      },
      {
        "id": "EmceeSkillDev",
        "appId": "xxx-xxx-xxxxxxx",
        "skillEndpoint": "https://webapp-endpoint/api/messages",
        "name": "EmceeSkillDev",
        "description": "EmceeSkillDev"
      }
   ],
   "skillHostEndpoint": "<VA_SKILL_ENDPOINT>"

We will be attentive to your answer.

Hi @manish-95 - we created the PR #3596 fixing this issue.

You can validate the changes following these steps:

  1. Checkout to the branch southworks:feature/southworks/fix-botskills-list-retrocompat
  2. Go to the botskills tool
  3. Execute npm install to install the depedencies
  4. Execute npm run build to compile the solution
  5. Execute npm link to link the tool. If you have installed botskills, you should execute npm uninstall -g botskills to uninstall the tool
  6. Execute botskills list command to check that the connected skills are correctly listed

We will be attentive to your answer 馃槉!

Hi @Batta32 , just validated the changes from your fix, and it works. Thank you for the prompt response and quick fix. 馃槃

Was this page helpful?
0 / 5 - 0 ratings