Skip to content

Commit c4f3c54

Browse files
committed
include dependabot
Signed-off-by: DanRoscigno <dan@roscigno.com>
1 parent 027980f commit c4f3c54

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

.github/workflows/weekly-docs-feedback.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ on:
1010
permissions:
1111
contents: read
1212
issues: write
13+
security-events: read
1314

1415
jobs:
1516
Weekly_info_for_docs_team:
@@ -78,6 +79,45 @@ jobs:
7879
| jq -r '.searches | to_entries[] | "- [ ] \(.value.search)", " failures this week: \(.value.count)"' \
7980
>> feedback.md
8081
82+
- name: Collect Dependabot alerts for docs
83+
run: |
84+
set -eo pipefail # Ensure the script fails on any command error
85+
manual_dependabot_url="https://github.com/${GITHUB_REPOSITORY}/security/dependabot?q=is%3Aopen+sort%3Anewest+docs"
86+
echo " " >> feedback.md
87+
echo "## Open Dependabot alerts for docs" >> feedback.md
88+
echo "Manual view: ${manual_dependabot_url}" >> feedback.md
89+
echo " " >> feedback.md
90+
91+
dependabot_api="https://api.github.com/repos/${GITHUB_REPOSITORY}/dependabot/alerts?state=open&per_page=100"
92+
alerts_json="$(curl --silent --show-error --location \
93+
-H "Accept: application/vnd.github+json" \
94+
-H "Authorization: Bearer $GITHUB_TOKEN" \
95+
-H "X-GitHub-Api-Version: 2022-11-28" \
96+
"${dependabot_api}")"
97+
98+
if ! jq -e 'type == "array"' >/dev/null <<<"${alerts_json}"; then
99+
echo "- Could not fetch Dependabot alerts via API with the current token/permissions." >> feedback.md
100+
echo "- Check manually: ${manual_dependabot_url}" >> feedback.md
101+
jq -r '"- API response: " + (.message // "unexpected response")' <<<"${alerts_json}" >> feedback.md
102+
exit 0
103+
fi
104+
105+
docs_alert_count="$(jq '[.[] | select((.dependency.manifest_path // "") | test("(^|/)docs(/|$)"))] | length' <<<"${alerts_json}")"
106+
107+
if [[ "${docs_alert_count}" -eq 0 ]]; then
108+
echo "- No open Dependabot alerts found for docs manifests." >> feedback.md
109+
else
110+
jq -r '.[]
111+
| select((.dependency.manifest_path // "") | test("(^|/)docs(/|$)"))
112+
| "- [ ] [\(.security_advisory.summary)](\(.html_url))",
113+
" package: \(.dependency.package.name)",
114+
" ecosystem: \(.dependency.package.ecosystem)",
115+
" manifest: \(.dependency.manifest_path // \"n/a\")",
116+
" severity: \(.security_advisory.severity)",
117+
" state: \(.state)",
118+
" "' <<<"${alerts_json}" >> feedback.md
119+
fi
120+
81121
- name: Create issue from file
82122
if: always()
83123
id: weekly-feedback-report

0 commit comments

Comments
 (0)