parent
d2715b5978
commit
d0766a3865
4 changed files with 71 additions and 31 deletions
@ -1,29 +0,0 @@ |
|||||||
name: Close Issue if Empty |
|
||||||
on: |
|
||||||
issues: |
|
||||||
types: [ opened, edited ] |
|
||||||
jobs: |
|
||||||
close-empty-issue: |
|
||||||
runs-on: ubuntu-latest |
|
||||||
steps: |
|
||||||
- name: Close Issue if Empty |
|
||||||
uses: actions/github-script@v3 |
|
||||||
with: |
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }} |
|
||||||
script: | |
|
||||||
const issue = context.payload.issue; |
|
||||||
if (issue.body.trim() === '') { |
|
||||||
await github.issues.createComment({ |
|
||||||
owner: context.repo.owner, |
|
||||||
repo: context.repo.repo, |
|
||||||
issue_number: issue.number, |
|
||||||
body: 'Closing this issue because it is empty. Feel free to reopen with more details if you have any questions or need help.', |
|
||||||
}); |
|
||||||
|
|
||||||
await github.issues.update({ |
|
||||||
owner: context.repo.owner, |
|
||||||
repo: context.repo.repo, |
|
||||||
issue_number: issue.number, |
|
||||||
state: 'closed', |
|
||||||
}); |
|
||||||
} |
|
@ -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' |
||||||
|
}); |
||||||
|
} |
||||||
|
} |
@ -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" |
Loading…
Reference in new issue