Soy un principiante con javascript/desarrollo web. Pero estoy tratando de hacer un bot de Slack que use la API de Github. Me gustaría publicar un mensaje en Slack cuando se cree una versión de Github. Uso la biblioteca Octokit para solicitar mi URL.
const octokit = new Octokit({ auth: process.env.GITHUB_AUTH }); const getReleaseTrigger = async function () { const res = await octokit.request('POST /payload', { }); const resJSON = JSON.parse(res); return resJSON }; (async () => { await app.start(process.env.PORT || 3000); try { const releaseTrigger = await getReleaseTrigger(); const slackBodyGithubMessage = { mkdwn: true, text: `*${releaseInfo}*` } const res = await request({ url: `https://hooks.slack.com/services/${hookPersonalMessages}`, method: 'POST', body: slackBodyGithubMessage, json: true }) } catch (e) { console.log('our error', e); } debugger; console.log('Slack app is running!'); })();
Es extraño porque mi consola responde esto cuando inicio mi aplicación:
our error RequestError [HttpError]: Not Found at /home/mai-ly/Bureau/slack-bot/testGitIgnore/slack-bot-skillz/node_modules/@octokit/request/dist-node/index.js:86:21 at processTicksAndRejections (internal/process/task_queues.js:95:5) at async getReleaseTrigger (/home/mai-ly/Bureau/slack-bot/testGitIgnore/slack-bot-skillz/app.js:139:15) at async /home/mai-ly/Bureau/slack-bot/testGitIgnore/slack-bot-skillz/app.js:149:28 { status: 404, response: { url: 'https://api.github.com/payload', status: 404, headers: { 'access-control-allow-origin': '*', 'access-control-expose-headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset', connection: 'close', [....]
PERO mi consola Ngrok detecta cuando creo una nueva versión en mi repositorio: captura de pantalla Ngrok
Me envió una respuesta "buena" (a pesar del error 404 que se muestra), con una buena referencia/título (en este caso: test21, este es el título que puse en el lanzamiento en github) con la consola ngrok. Además, mi consola local escribe 5 veces esta oración: "[INFO] Solicitud HTTP no manejada (POST) hecha a /payload"
Parece detectar mi repositorio y reaccionar bien cuando creo una nueva versión. Pero no puedo acceder a la respuesta en mi mensaje de Slack. Y el error 404 me parece extraño. Y no entiendo por qué me notifica 5 veces por cada lanzamiento creado.
Me gustaría obtener el título y la descripción del lanzamiento recién creado. ¿Tienes alguna idea de cómo hacer esto?
muchas gracias por tu futura respuesta
Que tengas un buen día