name: "Add Flares to Issues and PRs"
on:
issues:
types: [labeled]
pull_request:
types: [labeled]
jobs:
add-flares:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const { owner, repo } = context.repo;
const issue_number = context.issue.number;
const label = context.payload.label.name;
// Get current title
const { data: issue } = await github.rest.issues.get({
owner,
repo,
issue_number
});
let title = issue.title;
// Remove any existing emojis at the beginning
title = title.replace(/^(\s*)(๐|โจ|๐|โ|โก๏ธ|๐งฐ|๐|๐จ|โก|๐ฆ|๐|๐|๐|๐งช|๐ง|๐)\s+/, '$1');
// Add new emoji based on label
const flares = {
'bug': '๐',
'enhancement': 'โจ',
'documentation': '๐',
'question': 'โ',
'performance': 'โก๏ธ',
'backpack': '๐งฐ',
'search': '๐',
'ui': '๐จ',
'workflow': '๐',
'dependencies': '๐ฆ',
'versioning': '๐',
'help wanted': '๐',
'good first issue': '๐งช',
'refactor': '๐ง',
'security': '๐'
};
const flare = flares[label];
if (flare) {
const newTitle = `${flare} ${title}`;
await github.rest.issues.update({
owner,
repo,
issue_number,
title: newTitle
});
console.log(`Added flare ${flare} to issue/PR #${issue_number}`);
}