-
Notifications
You must be signed in to change notification settings - Fork 0
/
dialog-create-incident.js
53 lines (45 loc) · 1.78 KB
/
dialog-create-incident.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
var builder = require('botbuilder');
var snow = require('./snow');
var cards = require('./helperCard');
module.exports = (bot) => {
bot.dialog('dialog-create-incident',[
(session,args,next) => {
session.dialogData.description = args.description||none();
if (session.dialogData.description) {
next()
}else{
builder.Prompts.text(session,"Please enter a description for the issue.")
}
},
(session,results) => {
if(results.response){
session.dialogData.description = results.response;
}
onSuccess = (session,incident)=>{
//console.log(JSON.stringify(session));
var incidentCard;
if (session.message.address.channelId == 'cortana'){
session.send("I have created " + incident.number );
session.endDialog();
}else{
var incidentCard = cards.incidentInfoCard(session,incident);
session.send(incidentCard);
session.endDialog();
}
}
onError = (session) => {
session.endDialog('Sorry! I failed to create an incident. The issue has been reported to my developers. Please try again!');
}
snow.createSnowTicket({
"caller_id": 'admin',
"category": 'HelpDesk',
"subcategory": 'HelpDesk',
"short_description": session.dialogData.description,
"description": session.dialogData.description,
}, session, builder, onSuccess, onError);
}
])
}
none = function() {
return null
}