Вызов стороннего JIRA REST API в облачной функции для Dialogflow всегда истекает - PullRequest
1 голос
/ 14 марта 2019

Нам нужно вызвать JIRA Rest API, чтобы получить конкретную информацию из данного запроса в Dialogflow.

Нам необходимо предоставить ответ пользователю на основе ответа от API. Однако Dialogflow не может получить какой-либо ответ от JIRA API через выполнение в облачной функции Firebase, так как это всегда тайм-аут.

На основании журнала в консоли Firebase для выполнения всегда требуется более 6000 мс.

Между тем, если я использую почтальон для вызова JIRA REST API, для получения ответа требуется менее 1 секунды.

Некоторые говорили, что нам нужно использовать обещание, но я, похоже, тоже не работаю. Пожалуйста, помогите, как мне решить эту проблему?

Пожалуйста, смотрите мой код ниже

function checkcontract(agent){
       var parameters = request.body.queryResult.parameters;
       var customer_id = parameters.customer_id;
       var bodyData = JSON.stringify({"jql": "project = CDB AND 'Customer ID' ~ "+customer_id,
                  "maxResults": 1,
                  "fieldsByKeys": false,
                  "fields":  [
                    "summary",
                    "customfield_11949", //Customer ID custom field
                    "customfield_11937", // Contract Start Date
                    "customfield_11938", //Contract End Date
                    "customfield_11936", //email
                    "customfield_11946", //default JSD request id
                    "customfield_11943", //project id
                    "customfield_11941" //project key
                  ],
                "startAt": 0
                });

      var options = {
         method: 'POST',
         url: '/rest/api/3/search',
         auth: { bearer: authorization_token },
         headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
         },
         body: bodyData
      };
        request(options, function (error, response, body) {
           if (error) throw new Error(error);
           console.log(
              'Response: ' + response.statusCode + ' ' + response.statusMessage
           );
           console.log(body);
        });
     }

EDIT: JIRA API возвращает ответ на функцию. Но agent.add ("message") ничего не возвращает в чат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...