大朱雀*_*大朱雀 8 github github-api dependabot
如何通过 GitHub API获取https://github.com/{user}/{repo}/security/dependabot?page=1&q=is%3Aopen上可用的依赖机器人警报列表?
我搜索了文档,但在那里找不到任何东西。
谢谢!
Graphql API提供了这个RepositoryVulnerabilityAlert对象。
例如,对于特定的存储库,您可以通过以下查询获取所有警报(在资源管理器中查看):
{
repository(name: "repo-name", owner: "repo-owner") {
vulnerabilityAlerts(first: 100) {
nodes {
createdAt
dismissedAt
securityVulnerability {
package {
name
}
advisory {
description
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
它还返回可以使用该dismissedAt字段发现的已解除警报。但似乎没有办法只过滤“活动”警报
示例输出:
{
"data": {
"repository": {
"vulnerabilityAlerts": {
"nodes": [
{
"createdAt": "2018-03-05T19:13:26Z",
"dismissedAt": null,
"securityVulnerability": {
"package": {
"name": "moment"
},
"advisory": {
"description": "Affected versions of `moment` are vulnerable to a low severity regular expression denial of service when parsing dates as strings.\n\n\n## Recommendation\n\nUpdate to version 2.19.3 or later."
}
}
},
....
]
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
自2022 年 9 月 22 日起,根据官方文档,现在有一个 REST 端点以及 GitHub CLI 支持,用于列出 Dependabot 警报。
它允许您列出以下警报:
以下示例用于获取特定存储库的警报。
GitHub CLI(Bash):
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/[owner]/[repo-name]/dependabot/alerts
Run Code Online (Sandbox Code Playgroud)
GitHub CLI(Powershell):
gh api `
-H "Accept: application/vnd.github+json" `
-H "X-GitHub-Api-Version: 2022-11-28" `
/repos/[owner]/[repo-name]/dependabot/alerts
Run Code Online (Sandbox Code Playgroud)
直接调用REST API(Bash):
gh api `
-H "Accept: application/vnd.github+json" `
-H "X-GitHub-Api-Version: 2022-11-28" `
/repos/[owner]/[repo-name]/dependabot/alerts
Run Code Online (Sandbox Code Playgroud)
直接调用REST API(Powershell):
$headers = @{
"Accept" = "application/vnd.github+json"
"Authorization" = "Bearer [your-token]"
"X-GitHub-Api-Version" = "2022-11-28"
}
Invoke-WebRequest `
-Uri "https://api.github.com/repos/[owner]/[repo-name]/dependabot/alerts" `
-Headers $headers
Run Code Online (Sandbox Code Playgroud)
截断的 JSON 响应示例:
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer [your-token]" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/[owner]/[repo-name]/dependabot/alerts
Run Code Online (Sandbox Code Playgroud)
请注意,这仍处于公开测试阶段。端点可能会发生变化,但应该可供所有帐户使用。
| 归档时间: |
|
| 查看次数: |
992 次 |
| 最近记录: |