Skip to content

Commit

Permalink
Templates
Browse files Browse the repository at this point in the history
  • Loading branch information
SUGAM-ARORA committed Jun 3, 2024
1 parent 6ec32ad commit 7f36077
Show file tree
Hide file tree
Showing 5 changed files with 95 additions and 82 deletions.
35 changes: 24 additions & 11 deletions .github/workflows/auto-comment-issue-close.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Comment on Issue Close
name: Auto Comment on Issue Close

on:
issues:
Expand All @@ -16,16 +16,29 @@ jobs:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const issue = context.payload.issue;
const issueCreator = issue.user.login;
const issueNumber = issue.number;
const greetingMessage = `Hello @${issueCreator}! Your issue **#${issueNumber} - ${issueTitle}** has been successfully closed. We appreciate your valuable contribution and your help in improving the project. If you have any more ideas, questions, or issues, feel free to open a new issue or join the discussion in our community forum.
// Check if the event is for an issue (not a pull request)
if (!issue.pull_request) {
const issueCreator = issue.user.login;
const issueNumber = issue.number;
const issueTitle = issue.title;
Stay awesome! 😊`;
const greetingMessage = `
Hello @${issueCreator}! 🎉
github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
body: greetingMessage
});
Your issue **#${issueNumber} - ${issueTitle}** has been successfully closed.
We appreciate your valuable contribution and your help in improving the project. If you have any more ideas, questions, or issues, feel free to open a new issue or join the discussion in our community forum.
Stay awesome! 😊
`;
github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
body: greetingMessage
});
} else {
console.log('The closed issue is a pull request. No greeting message sent.');
}
2 changes: 1 addition & 1 deletion .github/workflows/auto-comment-issue-creation.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Auto Comment on Issue
name: Auto Comment on Issue Creation

on:
issues:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/auto-comment-pr-created.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Auto Comment on PR
name: Auto Comment on PR Creation

on:
pull_request_target:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
name: Close Old Issues
on:
schedule:
- cron: "0 0 * * *"

jobs:
close-issues:
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Close Old Issues
run: |
open_issues=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/issues?state=open" \
| jq -r '.[] | .number')
for issue in $open_issues; do
# Get the last updated timestamp of the issue
last_updated=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/issues/$issue" \
| jq -r '.updated_at')
days_since_update=$(( ( $(date +%s) - $(date -d "$last_updated" +%s) ) / 86400 ))
if [ $days_since_update -gt 30 ]; then
curl -s -X PATCH -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3+json" \
-d '{"state":"closed"}' \
"https://api.github.com/repos/${{ github.repository }}/issues/$issue"
# Add a comment mentioning the repository owner
curl -s -X POST -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3+json" \
-d "{\"body\":\"@${{ github.repository_owner }} This issue has been automatically closed because it has been inactive for more than 30 days. If you believe this is still relevant, feel free to reopen it or create a new one. Thank you!\"}" \
"https://api.github.com/repos/${{ github.repository }}/issues/$issue/comments"
fi
done
name: Close Old Issues
on:
schedule:
- cron: "0 0 * * *"

jobs:
close-issues:
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Close Old Issues
run: |
open_issues=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/issues?state=open" \
| jq -r '.[] | .number')
for issue in $open_issues; do
# Get the last updated timestamp of the issue
last_updated=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/issues/$issue" \
| jq -r '.updated_at')
days_since_update=$(( ( $(date +%s) - $(date -d "$last_updated" +%s) ) / 86400 ))
if [ $days_since_update -gt 30 ]; then
curl -s -X PATCH -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3+json" \
-d '{"state":"closed"}' \
"https://api.github.com/repos/${{ github.repository }}/issues/$issue"
# Add a comment mentioning the repository owner
curl -s -X POST -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3+json" \
-d "{\"body\":\"@${{ github.repository_owner }} This issue has been automatically closed because it has been inactive for more than 30 days. If you believe this is still relevant, feel free to reopen it or create a new one. Thank you!\"}" \
"https://api.github.com/repos/${{ github.repository }}/issues/$issue/comments"
fi
done
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
name: Close Stale PRs

on:
schedule:
- cron: '0 0 * * *' # Runs daily at midnight
pull_request:
types:
- opened
- reopened
- synchronize

permissions:
pull-requests: write
issues: write

jobs:
close_stale_prs:
runs-on: ubuntu-latest
permissions:
pull-requests: write

steps:
- uses: actions/stale@v7
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-pr-message: 'This PR has been automatically closed due to inactivity from the owner for 15 days.'
days-before-pr-stale: 15
days-before-pr-close: 0
exempt-pr-labels: ''
only-labels: ''
operations-per-run: 30
remove-stale-when-updated: true
name: Close Old PRs

on:
schedule:
- cron: '0 0 * * *' # Runs daily at midnight
pull_request:
types:
- opened
- reopened
- synchronize

permissions:
pull-requests: write
issues: write

jobs:
close_stale_prs:
runs-on: ubuntu-latest
permissions:
pull-requests: write

steps:
- uses: actions/stale@v7
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-pr-message: 'This PR has been automatically closed due to inactivity from the owner for 15 days.'
days-before-pr-stale: 15
days-before-pr-close: 0
exempt-pr-labels: ''
only-labels: ''
operations-per-run: 30
remove-stale-when-updated: true
debug-only: false

0 comments on commit 7f36077

Please sign in to comment.