Beispiel #1
0
 robot.respond(/standup | stand up | scrum/i, function(msg) {
     createCanduit(canduitConfig, function(err, conduit) {
         if (err) {
             console.log("error:", err);
             return msg.send("ERROR: " + err);
         } else {
             conduit.exec('user.query', {}, function(error, results) {
                 if (error) {
                     console.log("error: ", error);
                     return;
                 } else {
                     var i = 1;
                     async.eachSeries(results, function(user, cb) {
                         user.tQindex = i;
                         user.tQlength = results.length;
                         if (user.userName === 'admin') {
                             cb();
                         } else {
                             taskQuery(conduit, user, function(err2, slackMessage) {
                                 if (err2) {
                                     console.log("error2: ", err2);
                                 } else {
                                     if (robot.adapterName == "slack") {
                                         robot.emit('slack-attachment', {
                                             channel: msg.envelope.room,
                                             content: slackMessage,
                                             username: process.env.HUBOT_SLACK_BOTNAME,
                                             text: ""
                                         });
                                     } else {
                                         msg.send(slackMessage[0].title);
                                         msg.send(slackMessage[0].text);
                                     }
                                     setTimeout(function() {
                                         i++;
                                         cb();
                                     }, 1000);
                                 }
                             });
                         }
                     }, function(err) {
                         return;
                     });
                 }
             });
         }
     });
 });
Beispiel #2
0
    robot.hear(/(?:^|[\[\s])([TDPQFV][0-9]+|r[A-Z]+[a-f0-9]+)(?:\s*(-v))?(?=\W|$)/g, function(msg) {
        createCanduit(canduitConfig, function(err, conduit) {
            if (err) {
                console.log("error:", err);
                return msg.send("ERROR: " + err);
            } else {
                var names = (function() {
                    var ref = msg.match;
                    var results = [];
                    for (var i = 0; i < ref.length; i++) {
                        var match = ref[i];
                        results.push(match.trim());
                    }
                    return results;
                })();
                conduit.exec('phid.lookup', {
                    names: names
                }, function(error, result) {
                    if (error) {
                        console.log("error: ", error);
                        return msg.send("was an error: " + JSON.stringify(error));
                    } else {
                        var results = [];
                        var len = Object.keys(result).length;
                        for (var i = 0; i <= len; i++) {
                            if (i === len) {
                                if (results.length > 0) {
                                    return msg.send(results.join("\n"));
                                } else {
                                    return;
                                }
                            } else {
                                var info = result[Object.keys(result)[i]];
                                results.push("^ " + info.fullName + "(" + info.status + ") - " + info.uri);
                            }
                        }
                    }
                });
            }
        });

    });
Beispiel #3
0
 robot.respond(/show (.*) tasks/i, function(msg) {
     var username = msg.match[1];
     console.log("msg.match: ", msg.match);
     var brain_current = robot.brain.get("phab_alias");
     console.log("brain current", brain_current);
     if (brain_current !== null) {
         for (var k = 0; k <= Object.keys(brain_current).length; k++) {
             if (k === Object.keys(brain_current).length) {
                 createCanduit(canduitConfig, function(err, conduit) {
                     if (err) {
                         console.log("error:", err);
                         return msg.send("ERROR: " + err);
                     } else {
                         conduit.exec('user.query', {
                             usernames: [username]
                         }, function(error, results) {
                             if (error) {
                                 console.log("error: ", error);
                                 return;
                             } else {
                                 if (results.length === 1) {
                                     taskQuery(conduit, results[0], function(err2, slackMessage) {
                                         if (err2) {
                                             console.log("error2: ", err2);
                                         } else {
                                             if (robot.adapterName == "slack") {
                                                 robot.emit('slack-attachment', {
                                                     channel: msg.envelope.room,
                                                     content: slackMessage,
                                                     username: process.env.HUBOT_SLACK_BOTNAME,
                                                     text: ""
                                                 });
                                             } else {
                                                 msg.send(slackMessage[0].title);
                                                 msg.send(slackMessage[0].text);
                                             }
                                             return;
                                         }
                                     });
                                 } else {
                                     return;
                                 }
                             }
                         });
                     }
                 });
             } else {
                 if (brain_current[Object.keys(brain_current)[k]] === msg.match[1]) {
                     username = Object.keys(brain_current)[k];
                 }
             }
         }
     } else {
         createCanduit(canduitConfig, function(err, conduit) {
             if (err) {
                 console.log("error:", err);
                 return msg.send("ERROR: " + err);
             } else {
                 conduit.exec('user.query', {
                     usernames: [username]
                 }, function(error, results) {
                     if (error) {
                         console.log("error: ", error);
                         return;
                     } else {
                         if (results.length === 1) {
                             taskQuery(conduit, results[0], function(err2, slackMessage) {
                                 if (err2) {
                                     console.log("error2: ", err2);
                                 } else {
                                     if (robot.adapterName == "slack") {
                                         robot.emit('slack-attachment', {
                                             channel: msg.envelope.room,
                                             content: slackMessage,
                                             username: process.env.HUBOT_SLACK_BOTNAME,
                                             text: ""
                                         });
                                     } else {
                                         msg.send(slackMessage[0].title);
                                         msg.send(slackMessage[0].text);
                                     }
                                     return;
                                 }
                             });
                         } else {
                             return;
                         }
                     }
                 });
             }
         });
     }
 });