Skip to content

Commit

Permalink
Add labels to topic change suggestion issue
Browse files Browse the repository at this point in the history
  • Loading branch information
kamranahmedse committed May 10, 2024
1 parent d2715b5 commit d0766a3
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 31 deletions.
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/01-suggest-changes.yml
@@ -1,6 +1,6 @@
name: "✍️ ​ ​Suggest Changes"
name: "✍️ ​ ​Missing or Deprecated Roadmap Topics"
description: Help us improve the roadmaps by suggesting changes
labels: [suggestion]
labels: [topic-change]
assignees: []
body:
- type: markdown
Expand Down
29 changes: 0 additions & 29 deletions .github/workflows/close-empty-issue.yml

This file was deleted.

38 changes: 38 additions & 0 deletions .github/workflows/label-issue.yml
@@ -0,0 +1,38 @@
name: Label Issue
on:
issues:
types: [ opened, edited ]
jobs:
label-topic-change-issue:
runs-on: ubuntu-latest
steps:
- name: Add roadmap slug to issue as label
uses: actions/github-script@v3
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const issue = context.payload.issue;
const roadmapUrl = issue.body.match(/https?:\/\/roadmap.sh/[^ ]+/);
// if the issue is labeled as a topic-change, add the roadmap slug as a label
if (issue.labels.some(label => label.name === 'topic-change')) {
if (roadmapUrl) {
const roadmapSlug = new URL(roadmapUrl[0]).pathname.replace(/\//, '');
github.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
labels: [roadmapSlug]
});
}
// Close the issue if it has no roadmap URL
if (!roadmapUrl) {
github.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
state: 'closed'
});
}
}
31 changes: 31 additions & 0 deletions scripts/delete-issues.sh
@@ -0,0 +1,31 @@
#!/usr/bin/env bash

# Fetch issues JSON data and parse it properly
issues=$(gh issue list --repo kamranahmedse/developer-roadmap --search "sort:created-asc" --state open --limit 500 --json number,title,createdAt,updatedAt,state,url,comments,reactionGroups,body | jq -c '.[]')

# Loop through the issues and delete the ones created in 2022 and not updated in the past year
while IFS= read -r issue; do
created_at=$(echo "$issue" | jq -r '.createdAt')
updated_at=$(echo "$issue" | jq -r '.updatedAt')
issue_number=$(echo "$issue" | jq -r '.number')
issue_title=$(echo "$issue" | jq -r '.title')
reaction_groups=$(echo "$issue" | jq -r '.reactionGroups')
has_reactions=$(echo "$issue" | jq -r '.reactionGroups | length')
comment_count=$(echo "$issue" | jq -r '.comments | length')
body_characters=$(echo "$issue" | jq -r '.body | length')

# if has empty body
if [[ "$created_at" == 2024-01* ]]; then

comment="Hey there!
Looks like this issue has been hanging around for a bit without much action. Our roadmaps have evolved quite a bit since then, and a bunch of older issues aren't really applicable anymore. So, we're tidying things up by closing out the older ones to keep our issue tracker nice and organized for future feedback.
If you still think this problem needs addressing, don't hesitate to reopen the issue. We're here to help!
Thanks a bunch!"

gh issue comment "$issue_number" --body "$comment"
gh issue close "$issue_number"
fi
done <<< "$issues"

0 comments on commit d0766a3

Please sign in to comment.