Skip to content

[USERSNAP] We really need to fix the Data Missing for submitted parameters. Easiest fix is probably to allow updates to the proposals when and if that specific issue occurs. If anything, maybe it's held initially when that occurs or it shouldn't be pu... #550

[USERSNAP] We really need to fix the Data Missing for submitted parameters. Easiest fix is probably to allow updates to the proposals when and if that specific issue occurs. If anything, maybe it's held initially when that occurs or it shouldn't be pu...

[USERSNAP] We really need to fix the Data Missing for submitted parameters. Easiest fix is probably to allow updates to the proposals when and if that specific issue occurs. If anything, maybe it's held initially when that occurs or it shouldn't be pu... #550

name: Add labels to πŸ’‘ Feature idea issues
on:
issues:
types: [opened, edited]
permissions:
issues: write
contents: read
jobs:
apply-labels:
runs-on: ubuntu-latest
steps:
- name: Check if issue is a "πŸ’‘ Feature idea"
id: check_is_feature_idea
run: |
echo "## Checking if issue is a 'Feature idea'..."
if [[ "${{ github.event.issue.title }}" == "πŸ’‘ "* ]]; then
echo "is_feature_idea=true" >> $GITHUB_ENV
else
echo "is_feature_idea=false" >> $GITHUB_ENV
fi
- name: Apply label based on feature area
if: ${{ env.is_feature_idea == 'true' }}
uses: actions/github-script@v6
with:
script: |
const areaMap = {
"Proposal Pillar": "πŸ“œ Proposal Pillar",
"Voting Pillar": "πŸ—³οΈ Voting Pillar",
"Delegation Pillar": "β™ŸοΈ Delegation Pillar",
"Wrapper": "🎁 Wrapper",
"Other": "Other area",
"Not sure": "❓Unknown area",
};
const issueBody = context.payload.issue.body;
// Match the Area selected under the "### Area" header
const areaMatch = issueBody.match(/### Area\s*\n\s*(.*)\s*\n/);
const area = areaMatch ? areaMatch[1].trim() : null;
const labelToAdd = areaMap[area];
if (labelToAdd) {
await github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: [labelToAdd],
});
}
- name: Apply "🎨 Design Needed" label if design needed is "Yes"
if: ${{ env.is_feature_idea == 'true' }}
uses: actions/github-script@v6
with:
script: |
const issueBody = context.payload.issue.body;
// Match the "Yes" selection under the "### Is there new design needed?" header
const designNeededMatch = issueBody.match(/### Is there new design needed\?\s*\n\s*Yes\s*\n/);
if (designNeededMatch) {
await github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ["🎨 Design Needed"],
});
}
- name: Apply "User Story Needed" label if user story not provided
if: ${{ env.is_feature_idea == 'true' }}
uses: actions/github-script@v6
with:
script: |
const issueBody = context.payload.issue.body;
const userStoryPattern = /### \(Optional\) User Story with acceptance criteria\s*\n\s*_No response_/;
const userStoryMissing = userStoryPattern.test(issueBody);
if (userStoryMissing) {
await github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ["User Story Needed"],
});
}