Skip to content

🚀 Complete MCP Tutorial v1.0 - 17 notebooks, 3 examples, production-r… #2

🚀 Complete MCP Tutorial v1.0 - 17 notebooks, 3 examples, production-r…

🚀 Complete MCP Tutorial v1.0 - 17 notebooks, 3 examples, production-r… #2

Workflow file for this run

name: 🎉 Welcome New Contributors
on:
issues:
types: [opened]
pull_request_target:
types: [opened]
jobs:
welcome:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- name: 🎉 Welcome new issue authors
if: github.event_name == 'issues'
uses: actions/github-script@v7
with:
script: |
const issue = context.payload.issue;
const author = issue.user.login;
// Check if this is the author's first issue
const { data: authorIssues } = await github.rest.search.issuesAndPullRequests({
q: `repo:${context.repo.owner}/${context.repo.repo} author:${author} type:issue`,
});
if (authorIssues.total_count === 1) {
const welcomeMessage = `🎉 **Welcome to the MCP Tutorial community, @${author}!**
Thank you for opening your first issue! We're excited to help you on your MCP journey.

Check failure on line 32 in .github/workflows/welcome.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/welcome.yml

Invalid workflow file

You have an error in your yaml syntax on line 32
## 🚀 Quick Links to Get You Started
- 📖 [Quick Start Guide](https://github.com/${context.repo.owner}/${context.repo.repo}#-quick-start)
- 💬 [Community Discussions](https://github.com/${context.repo.owner}/${context.repo.repo}/discussions)
- 🔧 [Troubleshooting Guide](https://github.com/${context.repo.owner}/${context.repo.repo}/blob/main/resources/cheatsheets/mcp_quick_reference.md#-troubleshooting)
## 💡 Tips for Getting Help Faster
- Include specific error messages if you're having technical issues
- Mention which notebook or example you're working with
- Share your environment details (OS, Python version, etc.)
## 🌟 Love the Tutorial?
If this tutorial has been helpful, please consider:
- ⭐ **Starring this repository** (it really helps!)
- 🐦 **Sharing on social media**
- 📝 **Writing about your MCP projects**
We'll respond as soon as possible. Happy learning! 🚀`;
await github.rest.issues.createComment({
issue_number: issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: welcomeMessage
});
}
- name: 🚀 Welcome new PR contributors
if: github.event_name == 'pull_request_target'
uses: actions/github-script@v7
with:
script: |
const pr = context.payload.pull_request;
const author = pr.user.login;
// Check if this is the author's first PR
const { data: authorPRs } = await github.rest.search.issuesAndPullRequests({
q: `repo:${context.repo.owner}/${context.repo.repo} author:${author} type:pr`,
});
if (authorPRs.total_count === 1) {
const welcomeMessage = `🚀 **Welcome to the MCP Tutorial community, @${author}!**
Thank you for your first contribution! We're thrilled to have you as a contributor.
## 📋 Contribution Checklist
Please ensure your PR includes:
- [ ] Clear description of what changes you made
- [ ] Any new dependencies are added to \`requirements.txt\`
- [ ] Code follows our [style guide](https://github.com/${context.repo.owner}/${context.repo.repo}/blob/main/CONTRIBUTING.md#-style-guide)
- [ ] Documentation is updated if needed
- [ ] Tests pass (if applicable)
## 🧪 Testing Your Changes
If you've added new notebooks or examples, please test them:
\`\`\`bash
jupyter nbconvert --to notebook --execute your-notebook.ipynb
\`\`\`
## 🎉 What Happens Next?
1. **Automated checks** will run on your PR
2. **Maintainers will review** your changes (usually within 48 hours)
3. We may suggest **improvements or ask questions**
4. Once approved, your contribution will be **merged**!
## 🌟 Recognition
All contributors are recognized in our README and receive special badges. Thank you for making the MCP tutorial better for everyone!
---
**Questions?** Feel free to ask in the PR comments or [start a discussion](https://github.com/${context.repo.owner}/${context.repo.repo}/discussions).
⭐ Don't forget to star the repo if you haven't already!`;
await github.rest.issues.createComment({
issue_number: pr.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: welcomeMessage
});
}