#github #github-api #dependabot
#github #github-api #dependabot
Вопрос:
Как я могу ПОЛУЧИТЬ список оповещений dependabot, доступных по адресу https://github.com /{user}/{repo}/security/dependabot?page=1amp;q=открывается ли: через API GitHub?
Я просмотрел документацию, но ничего не смог там найти.
Спасибо!
Ответ №1:
Существует этот объект RepositoryVulnerabilityAlert, доступный с помощью Graphql API.
Например, для определенного репозитория вы можете получить все оповещения с помощью следующего запроса (проверьте это в проводнике) :
{
repository(name: "repo-name", owner: "repo-owner") {
vulnerabilityAlerts(first: 100) {
nodes {
createdAt
dismissedAt
securityVulnerability {
package {
name
}
advisory {
description
}
}
}
}
}
}
Он также возвращает предупреждения, которые были отклонены, которые можно определить с помощью 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.nnn## RecommendationnnUpdate to version 2.19.3 or later."
}
}
},
....
]
}
}
}
}
Комментарии:
1. Я не уверен, почему, но я думал, что все ресурсы, доступные через GraphQL, также будут доступны через Rest. Это именно то, что я искал.
2. Так это недоступно в REST api?
3. Вы также можете увидеть
state
,fixed
/open
/dismissed
, с помощью API: docs.github.com/en/graphql/reference /…4. @Bertrand Вы случайно не знаете, какое разрешение должен иметь токен доступа для чтения этих данных? Также можно ли прочитать эти данные с помощью
$GITHUB_TOKEN
?5. @piotrekkr У меня это работает в полном
repo
объеме. Это означает, что токен имеет доступ на запись в репозитории. К сожалению, я не нашел способа, который позволяет использовать токен только для чтения.