【问题标题】:Not clear how to use the Github Notifications API不清楚如何使用 Github Notifications API
【发布时间】:2018-04-17 11:44:28
【问题描述】:

https://developer.github.com/v3/activity/notifications/

我正在尝试使用 Github Notifications API 来显示通知,例如

"someone followed my repo", "someone followed me", "someone commented on my repo", etc. 

在我的 Android 应用程序上。

在使用它之前,我试图了解它是如何工作的。

当我尝试做时

GET https://api.github.com/notifications?access_token="mytoken"

在 Postman 上看看如果给了,它就给了我

[]

当我让我的朋友在 Github 上关注我时,我预计回复中会出现一些内容,但它仍然给了我

[]

在我的朋友试图关注我之后。

在什么情况下我会收到回复,我应该如何使用它来实现我的目的?

【问题讨论】:

    标签: android github github-api


    【解决方案1】:

    Axibase 开发了一组方便的工具,这些工具使用 GitHub API 根据您描述的事件创建和发送 Webhook。

    此处显示了 Repo Watch 通知的工作流程,每个工具都是相同的,只是根据警报事件有不同的风格:

    整个设置过程只需不到 10 分钟,遵循 guide 并在启动命令中预先配置的 Docker 容器中运行。流程是这样的:

    1. 从 Linux 命令行,使用以下命令启动 ATSD: docker run -d -p 8443:8443 -p 9443:9443 \ --name=atsd-sandbox \ --env SERVER_URL=https://atsd.company_name.com:8443 \ --env WEBHOOK=github \ --env SLACK_CONFIG="slack.properties \ --volume /home/user/slack.properties:/slack.properties \ --env ATSD_IMPORT_PATH='https://raw.githubusercontent.com/axibase/atsd-use-cases/master/how-to/github/resources/github-watch.xml' \ axibase/atsd-sandbox:latest

    (删除 SO 代码发布所需的可怕间距)

    SERVER_NAME参数替换为沙盒容器将运行的Docker主机的公共DNS名称

    您在这里得到的是一个带有生成的 Webhook 的本地 ATSD 实例。该命令是为 Slack 引导的,因此您需要使用以下参数在本地计算机或 URL 上创建一个 .xml 目录,然后将 slack.properties 模板变量替换为适当的路径:

    token=xoxb-************-************************ channels=general

    1. 观察 Docker 日志,并复制 Webhook。它看起来像这样:

    Webhook URL: https://github:PdWnC1jF@atsd.company.com:8443/api/v1/messages/webhook/github?exclude=organization.*;repository.*;*.signature;*.payload;*.sha;*.ref;*_at;*.id&include=repository.name;repository.full_name&header.tag.event=X-GitHub-Event&excludeValues=http*&debug=true

    1. 打开您要为其创建通知的存储库的 GitHub 设置菜单:

    1. 通过将运行时生成的 Webhook 粘贴到适当的字段中来配置 Webhook,并配置其余设置:

    1. 确认连接(GitHub 会自动执行此操作),然后您就可以开始了。

    根据您要触发通知的事件使用其他guides 之一。关于它们的真正好处是它们可以通过第三方信使发出警报,因此通知会直接发送到您的智能手机,而不仅仅是通过电子邮件。

    免责声明:我曾在编写 ATSD 的开发团队工作,ATSD 是负责底层数据处理和管理任务的数据库。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-14
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多