我是 javascript/web 开发的初学者。但我正在尝试做一个使用 Github API 的 Slack 机器人。创建 Github 版本时,我想在 Slack 上发布一条消息。我使用 Octokit 库来请求我的 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!');
})();
这是奇怪的原因,当我启动我的应用程序时,我的控制台会响应:
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',
[....]
但是当我在我的存储库上创建新版本时,我的控制台 Ngrok 会检测到:screenshot Ngrok
它通过 ngrok 控制台向我发送了一个“好的”响应(尽管显示了 404 错误),并带有一个好的参考/标题(在本例中:test21,这是我在 github 上发布的标题)。此外,我的本地控制台写了 5 次这句话:“[INFO] Unhandled HTTP request (POST) made to /payload”
它似乎检测到我的回购,并在我创建新版本时反应良好。但我无法访问我的 Slack 消息中的答案。404 错误对我来说似乎很奇怪。而且我不明白为什么每次创建的版本都会注意到我 5 次。
我想获得刚刚创建的版本的标题和描述。你知道怎么做吗?
非常感谢您未来的回复
祝你有美好的一天