Automatically Close Issues Related to Extensions and Repo Availability #7
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: PR Greetings | |
on: | |
pull_request: | |
types: [opened] | |
pull_request_target: | |
types: [opened] | |
jobs: | |
greeting: | |
runs-on: ubuntu-latest | |
permissions: | |
pull-requests: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Check if the PR creator is the repo owner or Weblate | |
id: check_owner | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
PR_AUTHOR=$(jq -r '.pull_request.user.login' "$GITHUB_EVENT_PATH") | |
REPO_OWNER=$(jq -r '.repository.owner.login' "$GITHUB_EVENT_PATH") | |
if [ "$PR_AUTHOR" = "$REPO_OWNER" ] || [ "$PR_AUTHOR" = "weblate" ]; then | |
echo "The PR creator is the repository owner or Weblate. Skipping greeting message." | |
echo "skip=true" >> $GITHUB_ENV | |
else | |
echo "The PR creator is not the repository owner or Weblate. Checking for previous PRs..." | |
# Check for both open and closed pull requests by the author | |
OPEN_PRS=$(gh pr list --author "$PR_AUTHOR" --state open --json number --jq '. | length') | |
CLOSED_PRS=$(gh pr list --author "$PR_AUTHOR" --state closed --json number --jq '. | length') | |
TOTAL_PRS=$((OPEN_PRS + CLOSED_PRS)) | |
echo "User $PR_AUTHOR has created $TOTAL_PRS pull request(s) in total" | |
echo "Open PRs: $OPEN_PRS" | |
echo "Closed PRs: $CLOSED_PRS" | |
if [ "$TOTAL_PRS" -eq 1 ]; then | |
echo "This is the user's first pull request. Sending greeting message." | |
echo "skip=false" >> $GITHUB_ENV | |
else | |
echo "User has previous pull requests. Skipping greeting message." | |
echo "skip=true" >> $GITHUB_ENV | |
fi | |
fi | |
- name: Send Greeting Message | |
if: env.skip != 'true' | |
uses: actions/github-script@v6 | |
with: | |
script: | | |
const prNumber = context.payload.pull_request.number; | |
const message = ` | |
**🎉 Thank you for your contribution!** | |
Your Pull Request has been successfully submitted and is now awaiting review. We truly appreciate your efforts to improve Dantotsu. | |
**👥 Connect with the Community** | |
While you're here, why not join our communities to stay engaged? | |
- **[Discord](https://discord.com/invite/4HPZ5nAWwM)**: Chat with fellow developers, ask questions, and get the latest updates. | |
- **[Telegram](https://t.me/dantotsuapp)**: Connect directly with us for real-time discussions and updates. | |
**📋 What to Expect Next** | |
- Our team will review your pull request as soon as possible. | |
- You'll receive notifications if further information or changes are needed. | |
- Once approved, your changes will be merged into the main project. | |
We're excited to collaborate with you. Stay tuned for updates! | |
`; | |
await github.rest.issues.createComment({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
issue_number: prNumber, | |
body: message | |
}); |