首页 > 解决方案 > 如何从 Hubot 内部发出 POST 请求?

问题描述

我正在尝试编写一个 Hubot 侦听器,该侦听器会从特定的聊天对话中自动创建一个 JIRA 问题。这是示例(我从这里使用了 Hubot-Rocketchat 样板代码:https ://github.com/RocketChat/hubot-rocketchat-boilerplate )

module.exports = (robot) => {
    robot.hear(/^#alerts (.*)/i, (res) => {
        const jiraurl="https://jira.example.com/rest/api/2/issue/"
        const jiraproject="ALERTS"

        text = res.match[1]

        data = JSON.stringify({
            "fields": {
                "project":
                {
                    "key": `#{jiraproject}`
                },
                "summary": `#{text}`,
                "description": "Задача создана автоматически из RocketChat",
                "issuetype": {
                "name": "Инцидент"
                }
            }
        })

        /* res.reply(data) */
        res.reply(`Создаю задачу в JIRA: ${text}`)
        robot.http(jiraurl)
            .header('Content-Type', 'application/json')
            .post(data) (err, response, body) =>

                if err
                    res.send `Ошибка: #{err}`
                    return
    })
}

这样做的正确方法是什么?

标签: javascriptnode.jscoffeescriptjirahubot

解决方案


推荐阅读