mirror of
https://github.com/python/cpython.git
synced 2024-11-28 08:20:55 +01:00
4cb08188e8
We don't get the "Bug report" and "Feature or enhancement" titles anymore, with the new issue forms. This brings them back!
54 lines
1.6 KiB
YAML
54 lines
1.6 KiB
YAML
name: Add issue header
|
|
# Automatically edits an issue's descriptions with a header,
|
|
# one of:
|
|
#
|
|
# - Bug report
|
|
# - Crash report
|
|
# - Feature or enhancement
|
|
|
|
on:
|
|
issues:
|
|
types:
|
|
# Only ever run once
|
|
- opened
|
|
|
|
|
|
jobs:
|
|
add-header:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
issues: write
|
|
steps:
|
|
- uses: actions/github-script@v6
|
|
with:
|
|
# language=JavaScript
|
|
script: |
|
|
// https://devguide.python.org/triage/labels/#type-labels
|
|
const HEADERS = new Map([
|
|
['type-bug', 'Bug report'],
|
|
['type-crash', 'Crash report'],
|
|
['type-feature', 'Feature or enhancement'],
|
|
]);
|
|
let issue_data = await github.rest.issues.get({
|
|
issue_number: context.issue.number,
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo
|
|
}).then(issue => issue.data);
|
|
let header = '';
|
|
for (const label_data of issue_data.labels) {
|
|
const label_name = (typeof label_data === 'string') ? label_data : label_data.name;
|
|
if (HEADERS.has(label_name)) {
|
|
header = HEADERS.get(label_name);
|
|
break;
|
|
}
|
|
}
|
|
if (header !== '') {
|
|
console.log(`Setting new header: ${header}`);
|
|
await github.rest.issues.update({
|
|
issue_number: context.issue.number,
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
body: `# ${header}\n\n${issue_data.body.replaceAll('\r', '')}`
|
|
});
|
|
}
|