Javascript 节点+;用于用户活动的Github webhook
我将很容易地解释我的问题: 我希望在我的用户(或登录用户)单击repo上的star(应该是这个)时,与github webhooks交互以获取数据 我有一个简单的带有node+express的服务器,但我真的不知道如何执行此操作。有人能帮我吗Javascript 节点+;用于用户活动的Github webhook,javascript,node.js,github,github-api,Javascript,Node.js,Github,Github Api,我将很容易地解释我的问题: 我希望在我的用户(或登录用户)单击repo上的star(应该是这个)时,与github webhooks交互以获取数据 我有一个简单的带有node+express的服务器,但我真的不知道如何执行此操作。有人能帮我吗 const chalk = require('chalk'); const express = require('express'); const serverConfig = require('./config/server.config'); con
const chalk = require('chalk');
const express = require('express');
const serverConfig = require('./config/server.config');
const app = express();
const port = process.env.PORT || serverConfig.port;
console.log(chalk.bgGreen(chalk.black('### Starting server... ###'))); // eslint-disable-line
app.listen(port, () => {
const uri = `http://localhost:${port}`;
console.log(chalk.red(`> Listening ${chalk.white(serverConfig.env)} server at: ${chalk.bgRed(chalk.white(uri))}`)); // eslint-disable-line
});
这方面的快速测试将用于从外部提供本地端口:
ngrok http 8080
然后使用ngrok提供的url
和您的个人访问令牌,使用API创建钩子。您还可以在repo hook部分$USER/$repo/settings/hooks/(选择watch
events)中手动构建webhook:
启动它:
node server.js
服务器现在将接收星光事件
对于调试,您可以在hooks部分中看到从Github发送的请求:
https://github.com/$USER/$REPO/settings/hooks/
谢谢@Bertrand Martel,但这将锁定回购的挂钩,对吗?我想“钩住”我的用户活动。当我启动一个随机的repo时,我想从api触发钩子:“每个webhook都可以安装在一个组织或一个特定的存储库上”,所以我认为没有这样一个功能可用于单个用户事件。即使服务器只订阅进程repo事件,基本上,我也无法监控我的用户做了什么?如果我将我的用户转换为一个组织,该怎么办?组织不能启动repo/跟踪用户AFAIK,您仍然可以进行投票
node server.js
https://github.com/$USER/$REPO/settings/hooks/