__init_subclass__ method is called after __new__ and __init__ methods in Enum classes #10407
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/github-script@v7 | |
| 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', '')}` | |
| }); | |
| } |