Skip to content

Commit

Permalink
Add workflow for automatic issue headers (#108054)
Browse files Browse the repository at this point in the history
We don't get the "Bug report" and "Feature or enhancement" titles anymore, with the new issue forms. This brings them back!
  • Loading branch information
AA-Turner committed Aug 17, 2023
1 parent 8a19f22 commit 4cb0818
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions .github/workflows/add-issue-header.yml
Original file line number Diff line number Diff line change
@@ -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', '')}`
});
}

0 comments on commit 4cb0818

Please sign in to comment.