Skip to content

help-wanted: stake + contribute for #220 #85

help-wanted: stake + contribute for #220

help-wanted: stake + contribute for #220 #85

Workflow file for this run

name: First PR Merged Welcome

Check warning on line 1 in .github/workflows/first-pr-merged.yml

View workflow run for this annotation

GitHub Actions / First PR Merged Welcome

Workflow execution policy warning (evaluate mode)

On November 2, 2026, GitHub will restrict `pull_request_target` on public repositories by default. To continue allowing the event trigger, configure an Actions policy. Learn more: https://gh.io/securely-using-pull_request_target#default-policy-for-pull_request_target
on:
pull_request_target:
types: [closed]
jobs:
welcome-on-merge:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
permissions:
pull-requests: write
issues: write
steps:
- name: Thank contributor and ask for star
uses: actions/github-script@v7
with:
github-token: ${{ secrets.YOUR_TOKEN_NAME }}
script: |
await new Promise(resolve => setTimeout(resolve, 3000));
const { owner, repo } = context.repo;
const creator = context.payload.pull_request.user.login;
const currentPrNumber = context.payload.pull_request.number;
const prs = await github.paginate(github.rest.pulls.list, {
owner,
repo,
state: 'closed',
per_page: 100
});
const mergedPrsByUser = prs.filter(pr =>
pr.user.login === creator &&
pr.merged_at !== null
);
let message;
if (mergedPrsByUser.length === 1) {
message = [
`🎊 **Welcome, @${creator}!** Your first contribution has been merged! 🚀`,
``,
`Thank you for helping improve the project! If you find this tool useful, please consider giving us a ⭐ **star on GitHub**—it helps more developers find our work and motivates us to keep improving!`
].join('\n');
} else if (mergedPrsByUser.length <= 3) {
message = [
`✨ **Thank you, @${creator}!** Another great contribution merged! 🚀`,
``,
`We truly appreciate your continued support! If you find this tool useful, please consider giving us a ⭐ **star on GitHub**—it helps more developers find our work and motivates us to keep improving!`
].join('\n');
} else {
message = [
`✨ **Thank you, @${creator}!** Another great contribution merged! 🚀`,
``,
`You've been a fantastic contributor! We truly appreciate your continued support.`
].join('\n');
}
await github.rest.issues.createComment({
owner,
repo,
issue_number: currentPrNumber,
body: message
});