Skip to content
This repository has been archived by the owner on Jun 30, 2022. It is now read-only.

Add IT Service Management skill #2078

Merged
merged 15 commits into from
Sep 5, 2019
Merged

Add IT Service Management skill #2078

merged 15 commits into from
Sep 5, 2019

Conversation

xieofxie
Copy link
Contributor

@xieofxie xieofxie commented Aug 8, 2019

Purpose

What is the context of this pull request? Why is it being done?

Related to #931.

Currently, only the create ticket action is finished and this pr is proposed for fixes about structure design, code style etc. for further development.

Changes

Are there any changes that need to be called out as significant or particularly difficult to grasp? (Include illustrative screenshots for context if applicable.)

  • Add CreateTicketDialog following the flow
  • Add IITServiceManagement and related models as a high level abstraction
    • Currently, all defines are following ServiceNow
  • Use package RestSharp for calling REST api of ServiceNow
    • Which is better? Use class to bind attributes or simply a Dictionary<string, dynamic> for anything possible?

Create ticket flow:
Untitled
Untitled

Tests

Is this covered by existing tests or new ones? If no, why not?

Test on Emulator, Teams

Feature Plan

Are there any remaining steps or dependencies before this issue can be fully resolved? If so, describe and link to any relevant pull requests or issues.

#2062 for Generic Oauth 2

Checklist

General

  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated the appropriate tests
  • I have updated related documentation

Bots

  • I have validated that new and updated responses use appropriate Speak and InputHint properties to ensure a high-quality speech-first experience
  • I have replicated language model changes across the English, French, Italian, German, Spanish, and Chinese .lu files and validated that deployment is successful

Deployment Scripts

  • I have replicated my changes in the Virtual Assistant Template and Sample projects
  • I have replicated my changes in the Skill Template and Sample projects

@xieofxie xieofxie changed the title Add IT Service Management skill [WIP] Add IT Service Management skill Aug 8, 2019
@pr-triage pr-triage bot removed the PR: unreviewed label Aug 8, 2019
@xieofxie
Copy link
Contributor Author

xieofxie commented Aug 9, 2019

Provide images for flow.
Known issues:

  • Luis model, card design, flow design are not confirmed
  • Wait until Oauth update is released in public package

@xieofxie
Copy link
Contributor Author

xieofxie commented Aug 12, 2019

Add update ticket flow with changes of names and functions to simplify code (but it will definitely expect more in the future).
Untitled
Untitled2

@xieofxie
Copy link
Contributor Author

  • Add show ticket flow
  • Add serviceNowGetUserId. User has to setup a scripted REST api

With more actions and tests, the design is changing frequently.. So it is better to review after all is settled.

Untitled

@xieofxie
Copy link
Contributor Author

Add close ticket flow
Untitled

@xieofxie
Copy link
Contributor Author

Add search knowledge base action (similar to the one in create)
Untitled

@xieofxie
Copy link
Contributor Author

Since it only supports sending notifications via email/sms/phone push service/service now bot in Slack/Teams, it is not easy to invoke proactive notification in bot (we could use an email to trigger bot, but it is too complex).
https://docs.servicenow.com/bundle/madrid-servicenow-platform/page/administer/notification/reference/notifications.html

@xieofxie
Copy link
Contributor Author

xieofxie commented Aug 13, 2019

  • Redesign update ticket action (new flow are shown in previous comment)
  • AttributePrompt only accepts no (just should follow previous one!)
  • Use DescriptionAttribute for enum to string

@xieofxie
Copy link
Contributor Author

  • add class GeneralPrompt for next/prev navigation
  • add next/prev to show knowledge base and ticket
  • show knowledge invoke create ticket if required
    Untitled

@xieofxie xieofxie changed the title [WIP] Add IT Service Management skill Add IT Service Management skill Aug 21, 2019
@xieofxie
Copy link
Contributor Author

In the latest commit, a SimpleWhitelistAuthenticationProvider is added in startup.cs and experimental.md is updated.
@lzc850612 Please check the usage of SimpleWhitelistAuthenticationProvider.
@ryanlengel What about the flows and designs? Thanks~

@darrenj darrenj self-requested a review August 22, 2019 12:09
@xieofxie
Copy link
Contributor Author

In commit "[ITSM] add top login prompt, additional sources, TicketState":

  • login prompt is required at begin of each root dialog
  • additional sources are added and should be removed when published
  • add TicketState support like search for closed tickets etc.

In commit "[ITSM] use ticket number instead of id":

  • add TicketNumber entity, TicketNumberPrompt to use ticket number instead of sys id. When there are duplicate numbers, errors are returned.

New flows:
update
close

In commit "[ITSM] add url and number to knowledge base":

  • knowledge base articles also uses number and a button is added to open url

knowledge

@xieofxie
Copy link
Contributor Author

OK, in the last commit, it is under Utilities.

Copy link
Contributor

@darrenj darrenj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deployed the latest build and like the improvements, a few observations which could be part of a new PR so you can merge this and work on changes?

  • This utterance isn't understood and should just show the ticket status what is the status of INC0010001
  • Show my tickets prompts for constraints - doesn't feel right in this situation+? Should just show my tickets, not sure users will have many? Filtering could be a suggested action shown if there are more than one page worth of items rather than making the user always provide?
  • When I have just one ticket is asks me if I want to see more!

image

  • Adaptive Card for a ticket should have a button to close, update and go to that flow
  • Ticket Update doesn't enable you to provide ticket number INC0010001 on the utterance
  • Change Ticket says there is nothing to update?

image

<PackageReference Include="Microsoft.Bot.Builder.Dialogs" Version="4.5.1" />
<PackageReference Include="Microsoft.Bot.Builder.Integration.ApplicationInsights.Core" Version="4.5.1" />
<PackageReference Include="Microsoft.Bot.Builder.Integration.AspNet.Core" Version="4.5.1" />
<PackageReference Include="Microsoft.Bot.Builder.Skills" Version="4.6.0-daily20" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

skill should not be using preview builds of Skills? Do we need to use these?

Copy link
Contributor Author

@xieofxie xieofxie Sep 3, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it only needs the updated OAuthProviderExtensions::GetAuthenticationProvider. I am only afraid that mismatch might break the code..

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this is on the next branch, it's depending on some changes that's currently only in next branch which means it's in the daily build. We can change it to published version when release

docs/_docs/reference/skills/experimental.md Outdated Show resolved Hide resolved
docs/_docs/reference/skills/experimental.md Show resolved Hide resolved
docs/_docs/reference/skills/experimental.md Show resolved Hide resolved
docs/_docs/reference/skills/experimental.md Show resolved Hide resolved
@xieofxie
Copy link
Contributor Author

xieofxie commented Sep 3, 2019

OK, others would be in a separate pr. But what about change request of @lzc850612 ?

@xieofxie xieofxie merged commit b85077d into microsoft:next Sep 5, 2019
@pr-triage pr-triage bot added merged and removed PR: unreviewed labels Sep 5, 2019
ryanisgrig added a commit that referenced this pull request Sep 6, 2019
* Move to new samples format:
analytics
assistants
clients (split by language)
utilities

* [Script] cognitive model args should be camelCased (#2141)

* update skill script case

* fix template

* update template for naming and DialogState (#2168)

* Add FeedbackMiddleware to Solutions lib (#2226)

* Adding feedback middleware and classes to solutions lib

* Add localization

* stylecop

* updated middleware to log more consistent values

* added feedback documentation

* Added pbit with feedback dashboard

* Update feedback.md

* [C#][DevOps] Spike for CD in Virtual Assistant Sample (#2210)

* Update YAML files

* Add documentation and images

* [TypeScript][BotBuilder-Skills] Use Handoff Activity to manage the signal completion of skill dialog (#2253)

* Update EndOfConversation to HandOff type once skill completes the dialog

* Get the HandOff activity once the skill dialog has finished

* Update the remaining EndOfConversation in MainDialog

* [Docs] Enterprise Notifications & Virtual Assistant Client (Android) (#2258)

* Added doc on skill responses (#2019)

* added doc on skill responses

* Update responses.md

* correct link and move to aka.ms (#2015)

* Use consistent header name for authorization header (#1948)

* Use consistent header name for authorization header

* Remove dependency on @azure/ms-rest-js

* chery pick fix for bug fix (#2038)

* Updated templates to apply bot service tag (#2039)

* change exising to existing (#2043)

* Change sample from Skills to Virtual Assistant (#2066)

* [TypeScript][Template/Sample] Migrate latest functionalities  (#1943)

* Update assistant template

* Update skill template

* Update sample assistant

* Update sample skill

* Fix some issues

* Fix connected Skill not waiting for response

* Rename msAppId for consistency with C#

* Add special character notification (#2033)

* Cherry pick Power BI sample for next branch (#2048)

* change tabs to spaces so markdown renders correctly (#2100)

the original text uses tabs which do not render as a markdown list in Github. Changing these to spaces renders as a list and is more readable

* [TypeScript][BotBuilder Libs] Update SDK dependencies versions (#2085)

* Update SDK dependencies versions

* Rename property msAppId to msaAppId (#2000)

* [TypeScript][DevOps] Update deployment scripts and migrate new ARM templates (#1982)

* Update Skill and Assistant templates

* Update Sample Assistant

* Update Sample Skill

* Update README.md

* Added new GitHub Pages docs site (#2071)

* added jekyll files

* docs updates

* updates

* updates

* site updates

* removed sample docs site

* updated docs

* moved docs

* updated deploy docs

* fixed broken links

* update

* updates

* fixed merge conflicts and updated readme

* Update _howto.md

* Update _reference.md

* updated known issues

* updated telemetry links

* updated to do name

* fixed broken image links

* Updated gitignore to allow docs site packages (#2126)

* added jekyll files

* docs updates

* updates

* updates

* site updates

* removed sample docs site

* updated docs

* moved docs

* updated deploy docs

* fixed broken links

* update

* updates

* fixed merge conflicts and updated readme

* Update _howto.md

* Update _reference.md

* updated known issues

* updated telemetry links

* updated to do name

* fixed broken image links

* Updated gitignore for docs packages

* Update README.md

* Update bug_report.md

* Update feature_request.md

* [TypeScript][Samples/Template] Add UTF8 default encoding for deployment scripts  (#2130)

* Add UTF-8

* change from uppercase to lowercase

* changes a lowcase and add 'enconding utf8' to sample assistant

* Move the location of the encoding argument

* Update deploymentscripts.md

* Update experimental.md (#2146)

Add music skill documentation

* [TypeScript][Generator] Update the replacement of template's files (#2111)

* Update replacement of template's files

* Apply feedback

* remove event triggering for action from documentation (#2150)

* initial version of event companion app (#2156)

* Update _config.yml

* Update header.html

* Update default.html

* Update default.html

* Update productivity-calendar.md

* Update 4_provision_your_azure_resources.md

* Update 4_provision_your_azure_resources.md

* Update 4_provision_your_azure_resources.md

* Update 4_provision_your_azure_resources.md

* Update 4_provision_your_azure_resources.md

* Update experimental.md

* Update ettovamigration.md

* Update testing.md

* Update botskills.md

* Update productivity-email.md

* Update addingskills.md

* Update 1_intro.md

* Update 1_intro.md

* Update 1_intro.md

* Update 1_intro.md

* Update testing.md

* Update automotive.md

* Update 1_intro.md

* Update 1_intro.md

* Update skillenablingav4bot.md

* Update productivity-todo.md

* Update 4_provision_your_azure_resources.md

* Update 4_provision_your_azure_resources.md

* Update 4_provision_your_azure_resources.md

* Update 4_provision_your_azure_resources.md

* Create managemodels.md

* Add files via upload

* Update issue templates

* Update footer.html

* Update footer.html

* Update footer.html

* Incorporate Virtual Assistant Client (Android) docs
FIx some references to DLS channel

* Updated prereq

* Update toc.yml to reference Sample submenus

* Add Enterprise Notifications documentation

* use Handoff instead of EndOfConversation for SkillTemplate (#2257)

* [Calendar] calendar refactoring part 2 (#2185)

* refactor summary dialog and connect to meeting dialog

* rename summary dialog and connect to meeting dialog

* add try catch for steps

* add join event test cases

* refactor update and change statuts dialog

* refactor create event dialog

* rename some steps

* add paging in choose event logic

* fix test

* fix get event logic

* clean code and fix find event logic in update

* update ut

* clean code and add some test cases

* add valid check in join dialog

* move first find contact state

* [Docs] Update hospitality related docs (#2256)

* Add room service dialog files

* Add room service luis model

*  Complete most of room service dialog

* update menu card

* improve luis model

* final changes

* Move requested item availability check to hotel service and add adaptive card for showing item requests

* update manifest

* Adding updated hospitality skill

* small changes to sample

* restaurant booking fixes

* weather skill .lu file update

* Update skill manifests

* skills updates

* Add files for event skill from skill template

* remove other languages

* Add files for basic find events dialog

* Add Eventbrite service to get event information

* Update Luis model and create adaptive card for events

* Implement populating location state from semantic action

* fix bugs

* Add event skill to sample

* room service dialog bug fix

* for event, news, and weather skills populate location state from semantic action

* customize VA start card

* Add available items and room service menu item

* Hospitality skill available items updates

* Sample small updates and add Bing Search skill

* Support adaptive cards being used in Teams for Hospitality and Event skills

* fixes for better funcitonality in Teams

* Update experimental.md docs with event and hospitality skills

* Update hospitality related docs

* Revert visual studio version

* update sample description

* fix to using {{site.repo}}

* move hospitalitysample.md into reference/samples and update links

* Update readme.md

* Update readme.md

* [POI] add details card with actions, remove cancel & events, redsign flows (#2250)

* [POI] add details card with actions, remove cancel & events, redsign flows

* Events.ActiveLocation and Events.ActiveRoute are removed
* RouteDialog is a sub routine now
* Add GetDirectionsDialog
* "size": "stretch" is added to jsons
* Update tests
* Add tests GetDirections(ToNearest)Test,
RouteToPointOfInterestThen(Call/StartNavigation)Test

* [POI] no Phone, no Call; remove some messages; add start to route

* Use a confirm prompt for detecting start (no is preserved)
* Update tests to check attachments

* Remove "size":"stretch" on images

* [POI] fix displayin teams

* update lib (#2283)

* Add IT Service Management skill (#2078)

* add itsm skill with create ticket action

* [ITSM] add update ticket action

* [ITSM] add show ticket action

* [ITSM] add close ticket action

* [ITSM] add show knowledge action

* [ITSM] update update ticket action

redesign AttributePrompt & enum to string

* [ITSM] add next/prev

* add class GeneralPrompt for next/prev navigation
* add next/prev to show knowledge base and ticket
* show knowledge invoke create ticket if required
* replace wrong EndDialogAsync to CancelAllDialogsAsync

* [ITSM] update for IWhitelistAuthenticationProvider, manifestTemplate, docs

* [ITSM] add top login prompt, additional sources, TicketState

* additional sources should be removed when published
* add TicketState list entity and related updates

* [ITSM] use ticket number instead of id

* add TicketNumber entity
* add TicketNumberPrompt
* update card jsons
* update routines of UpdateTicketDialog & CloseTicketDialog

* [ITSM] add url and number to knowledge base

* [ITSM] separate SimpleWhitelistAuthenticationProvider, add License statement

* [ITSM] update json and doc

* [ITSM] update GUID

* [ITSM] change to handoff as others

* Remove callerId in Auth flow as callerId shouldn't be transferred over the wire (#2291)

* remove callerId setting and verification

* update comment

* Move to new samples format:
analytics
assistants
clients (split by language)
utilities

* Move latest power bi templatet to samples
Update hospitality assistant readme
@xieofxie xieofxie deleted the itsm branch October 25, 2019 11:38
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants