Kar*_*kku 5 automation github github-api github-graphql github-actions
我已经浏览了 Github Rest API v3 和 Github GraphQL API v4,但我无法找到资源/端点来检查 dependentabot 是否通过 API 启用?我已经阅读了大量文档,但找不到任何有用的内容。有人可以指出我正确的文档或告诉我要使用哪个资源吗?谢谢!
现在 Dependabot 已合并到 GitHub 中,除了依赖关系图本身之外,还可以启用三个不同的功能:其中两个位于设置的“安全性和分析”部分,最后一个位于“洞察”选项卡的“依赖关系图”部分。给定 GitHub 存储库:
(所有这些都需要启用依赖关系图——并且存储库必须至少有一个受支持的包生态系统文件)
根据GitHub REST API Reference,您可以通过以下端点的 GitHub REST API 检查 Dependabot 警报是否已启用:
https://api.github.com/repos/{owner}/{repo}/vulnerability-alerts
204 响应确认该功能已启用,404 表示未启用。
奇怪的是,GitHub REST API 参考列出了启用或禁用该功能的请求,但没有列出给定存储库的该功能的当前状态,而且我无法令人满意地找到如何从 REST 或 GraphQL 获取该信息API。
GuiFalourd 的回答提到使用 GraphQL API 来检查文件是否存在.github/dependabot.yml。不幸的是,这与安全更新不是一对一的关系:该文件可能在未启用安全更新的情况下存在,或者在启用安全更新时可能不存在。该dependabot.yml文件用于版本更新,有相关但不是同一件事。
您始终可以使用 REST API启用安全更新请求来确保该功能已启用,但这与查询存储库的当前状态完全不同。如果有人确实发现了一种无需页面抓取即可完成此操作的方法,或者 GitHub 是否添加了将来检查的功能,请告诉我!
同样,这与安全更新不同,但根据您的策略/实践,它可能是一对一的关系。对图形端点使用类似以下内容https://api.github.com/graphql
询问
{
repository(name: "{repo}", owner: "{owner}") {
object(expression: "HEAD:.github/") {
... on Tree {
entries {
name
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果文件存在则响应:
{
"data": {
"repository": {
"object": {
"entries": [
{
"name": "dependabot.yml"
}
]
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果文件不存在则响应:
{
"data": {
"repository": {
"object": null
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3201 次 |
| 最近记录: |