mirror of https://github.com/python/cpython
Add workflow for automatic issue headers (#108054)
We don't get the "Bug report" and "Feature or enhancement" titles anymore, with the new issue forms. This brings them back!
This commit is contained in:
parent
8a19f225b9
commit
4cb08188e8
|
@ -0,0 +1,53 @@
|
|||
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', '')}`
|
||||
});
|
||||
}
|
Loading…
Reference in New Issue