···11+name: WelcomeBot
22+33+on:
44+ pull_request_target:
55+ branches: [main]
66+ types: [opened]
77+88+permissions:
99+ pull-requests: write
1010+1111+jobs:
1212+ welcome:
1313+ name: Welcome First-Time Contributors
1414+ runs-on: ubuntu-latest
1515+ steps:
1616+ - name: Generate GitHub App token
1717+ id: generate_token
1818+ uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2.1.0
1919+ with:
2020+ app_id: ${{ secrets.BOT_APP_ID }}
2121+ private_key: ${{ secrets.BOT_PRIVATE_KEY }}
2222+2323+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2424+ - name: Convert Repository Name to Title Case
2525+ id: convert_repo_name
2626+ run: |
2727+ REPO_NAME="${{ github.event.repository.name }}"
2828+ TITLE_CASE_REPO_NAME=$(echo "$REPO_NAME" | sed 's/-/ /g' | awk '{for(i=1;i<=NF;i++) $i=toupper(substr($i,1,1)) tolower(substr($i,2))} 1')
2929+ echo "title_case_repo_name=$TITLE_CASE_REPO_NAME" >> $GITHUB_ENV
3030+ - uses: zephyrproject-rtos/action-first-interaction@58853996b1ac504b8e0f6964301f369d2bb22e5c
3131+ with:
3232+ repo-token: ${{ steps.generate_token.outputs.token }}
3333+ pr-opened-message: |
3434+ Hello! Thank you for opening your **first PR** to ${{ env.title_case_repo_name }}! ✨
3535+3636+ Here’s what will happen next:
3737+3838+ 1. Our GitHub bots will run to check your changes.
3939+ If they spot any issues you will see some error messages on this PR.
4040+ Don’t hesitate to ask any questions if you’re not sure what these mean!
4141+4242+ 2. One or more of our maintainers will take a look and may ask you to make changes.
4343+ We try to be responsive, but don’t worry if this takes a few days.
···11+MIT License
22+33+Copyright (c) 2025-present, trueberryless
44+55+Permission is hereby granted, free of charge, to any person obtaining a copy
66+of this software and associated documentation files (the "Software"), to deal
77+in the Software without restriction, including without limitation the rights
88+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
99+copies of the Software, and to permit persons to whom the Software is
1010+furnished to do so, subject to the following conditions:
1111+1212+The above copyright notice and this permission notice shall be included in all
1313+copies or substantial portions of the Software.
1414+1515+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1616+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1717+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1818+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1919+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2020+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2121+SOFTWARE.