#google-cloud-functions #dialogflow-es #dialogflow-es-fulfillment
#google-cloud-функции #dialogflow-es #dialogflow-es-выполнение
Вопрос:
Нам нужно вызвать JIRA Rest API, чтобы получить конкретную информацию из заданного запроса в Dialogflow.
Нам нужно предоставить ответ пользователю на основе ответа от API. Однако Dialogflow не может получить какой-либо ответ от JIRA API через выполнение в облачной функции Firebase, поскольку всегда истекает время ожидания.
На основе журнала в консоли Firebase выполнение всегда занимает более 6000 мс.
Между тем, если я использую postman для вызова JIRA REST API, для получения ответа требуется менее 1 секунды.
Некоторые говорили, что нам нужно использовать promise, но I, похоже, тоже не работает. Пожалуйста, помогите, как мне решить эту проблему?
Пожалуйста, смотрите мой код ниже
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);
});
}
Редактировать:
JIRA API возвращает ответ на функцию. Но agent.add («сообщение») ничего не возвращает в чат.