【问题标题】:Github Enterprise API - determine if a user is dormant?Github Enterprise API - 确定用户是否处于休眠状态?
【发布时间】:2020-02-05 15:03:40
【问题描述】:

运行 Github Enterprise 2.18。有没有办法通过 API 确定用户处于休眠状态?我在任何地方都没有看到特定的调用...

【问题讨论】:

  • 我没有得到反对票。你想让我列出我看过的所有资料吗?我花了将近 2 周的时间试图弄清楚这一点。在 Github API 文档和我可以在 Google/Stackoverflow 上找到的所有内容之间,我找不到已发布的解决方案。
  • 我也没有。投赞成票。
  • 嗨@RichardSchaefer,你是管理员吗?您是否考虑过使用日志审核选项而不是 API?例如,audited actions 包括 user.login(用户登录)等等。
  • 这并没有真正的帮助,除非我要做所有的研究,看看每个用户在过去 30 天内是否做了任何事情。我需要知道 Github 检查以生成“休眠用户”报告的所有内容。我们有成千上万的用户,做所有这些工作似乎适得其反,但查看休眠用户报告以及创建需要多长时间,我怀疑即使是 Github 每次都会重新计算它。这对于报告来说是可以的,但我们正在寻找每个用户更动态的东西。哦,好吧。
  • 没错,至少我认为这个挑战需要一些工作,例如使用 API(检查活动端点)和/或审核日志(检查登录等) )。但我会继续回到这个问题,看看是否有人知道有什么东西可以实现这个目标。

标签: github-enterprise github-api-v3


【解决方案1】:

回答你的问题....

运行 Github Enterprise 2.18。有什么办法可以通过 用户处于休眠状态的 API?

不,不可能使用 GitHub API(企业版或非企业版)。

GitHub 为其用户提供strict privacy agreement。由于存储库可以 既要公开又私密,如果您无法通过他们的 API 获取休眠信息。

GitHub 的 own help page 在他们的“报告”部分提到它:

如果您需要获取有关用户、组织和 GitHub Enterprise Server 实例中的存储库,您可以 通常通过 GitHub API 获取 JSON 数据。不幸的是, API 可能无法提供您想要的所有数据,它需要一个 使用一点技术专长。站点管理仪表板提供了一个 报告部分作为替代方案,让您轻松下载 包含您可能需要的大部分信息的 CSV 报告 适用于用户、组织和存储库。

具体来说,您可以下载列出的 CSV 报告

  • 所有用户
  • 上个月内活跃的所有用户
  • 1 个月以上不活动的所有用户
  • 所有被暂停的用户
  • 所有组织
  • 所有存储库

帮助页面还继续展示如何通过 CURL 调用报告数据的示例(您也可以使用其他方法来执行此操作,例如我更喜欢的 Powershell)

curl -L -u username:password/token http(s)://hostname/stafftools/reports/dormant_users.csv

您可以在没有 API 的情况下使用该数据并将其解析到您的应用程序中。世界是你的牡蛎。

【讨论】:

  • 这是 Github Enterprise,不是 github.com,我是 Github Enterprise 管理员,所以没有隐私 :-)。我可以运行整个报告并对其进行解析,但查询的原因是通过“立即”(即 1 或 2 秒)响应时间实时确定单个用户的状态。似乎没有简单、快速的方法来做到这一点。
  • @RichardSchaefer 好的,我更新了许可协议页面的 url。企业版更冗长、更长。另外,请更仔细地阅读我的答案,特别是黄色第一句中的引用。它特别提到了 GitHub 企业以及 GitHub API 对它的限制(管理员或非管理员)。您必须使用 CSV 报告来获取您正在寻找的数据,并且它们仅以 CSV 格式提供。 API 无法满足您的要求。此外,还有一个用户last_active CSV 报告可用。
  • 谢谢。我在这里发帖主要是为了确保我没有错过任何东西。 Github API 文档可能有点迟钝。我被要求开发的用例是实时的,对于单个用户来说是即时的。看来我仅限于生成 CSV 报告,因此由于用户数量和活动级别的原因,我们的配置需要几分钟时间,因此无法正常工作。我想我必须告诉请求者没有真正的好方法来做到这一点。再次感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-17
  • 2017-05-29
  • 1970-01-01
  • 1970-01-01
  • 2013-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多