ci: Fix issue response script (#24891)

This PR fixes the issue response script.

There were a number of things preventing it from working:

- The directory name used in the GitHub Action did not match the one on
disk.
  - The script has been moved accordingly
- `ts-node` does not support ESM.
- `ts-node` seems unmaintained, so I changed the script to be plain JS
that is type-checked with TypeScript.
- The data being sent to the Slack API was invalid:
- Each section block can only have a maximum of 3000 characters in the
`text` field, so we need to break up the issue list across multiple
sections.
- We needed to escape `&`, `<`, and `>` characters in the issue titles.

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2025-02-14 14:37:33 -05:00 committed by GitHub
parent de020af6ef
commit fc85ca0101
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 241 additions and 293 deletions

View file

@ -0,0 +1,24 @@
{
"name": "issue_response",
"version": "1.0.0",
"private": true,
"main": "main.js",
"type": "module",
"scripts": {
"build": "tsc -p .",
"start": "node main.js"
},
"dependencies": {
"@octokit/rest": "^21.1.0",
"@slack/webhook": "^7.0.4",
"date-fns": "^4.1.0",
"octokit": "^4.1.1"
},
"devDependencies": {
"@octokit/types": "^13.8.0",
"@slack/types": "^2.14.0",
"@tsconfig/node20": "20.1.4",
"@tsconfig/strictest": "2.0.5",
"typescript": "5.7.3"
}
}