diff --git a/.github/workflows/scripts/generate-report.sh b/.github/workflows/scripts/generate-report.sh index 04879117..62dfb18c 100644 --- a/.github/workflows/scripts/generate-report.sh +++ b/.github/workflows/scripts/generate-report.sh @@ -1,8 +1,5 @@ #!/bin/bash -# --- Configuration --- -USERNAMES=("davideast" "hugomurillomtz" "jakemac53" "richieforeman" "shishu314" "shrutip90" "i14h" "hritan") - # --- Date Calculation --- START_DATE=$(date -d "last Friday" +%Y-%m-%d) END_DATE=$(date -d "last Thursday" +%Y-%m-%d) @@ -12,8 +9,11 @@ DATE_RANGE="${START_DATE}..${END_DATE}" # Print a header row for the CSV echo "Date Range,Username,PRs Submitted,Issues Closed" +# Get a list of all repository contributors, filter out bots, and extract the login name +USERNAMES=$(gh repo contributors --repo "${GITHUB_REPO}" --json "login" --jq '.[] | select(.login | contains("[bot]") | not) | .login') + # Loop through each user and generate a data row -for USER in "${USERNAMES[@]}"; do +for USER in $USERNAMES; do # Get metrics using the GitHub CLI PRS_SUBMITTED=$(gh pr list --author "${USER}" --search "created:${DATE_RANGE}" --repo "${GITHUB_REPO}" --json number --jq 'length') ISSUES_CLOSED=$(gh issue list --search 'closer:"${USER}" closed:${DATE_RANGE}' --repo "${GITHUB_REPO}" --json number --jq 'length') diff --git a/.github/workflows/weekly-velocity-report.yml b/.github/workflows/weekly-velocity-report.yml index 858c1128..6dfb7d77 100644 --- a/.github/workflows/weekly-velocity-report.yml +++ b/.github/workflows/weekly-velocity-report.yml @@ -5,7 +5,7 @@ name: Weekly Velocity Report on: schedule: #- cron: "0 13 * * 1" # Runs every Monday at 9:00 AM UTC - - cron: "*/5 * * * *" # Test by running every 5 minutes + - cron: '*/5 * * * *' # Test by running every 5 minutes workflow_dispatch: jobs: @@ -29,11 +29,11 @@ jobs: - name: Append data to Google Sheet if: success() - uses: jroehl/gcp-google-sheets-action@v2.0.0 + uses: jroehl/gsheet.action@v2.0.0 with: gcp_sa_key: ${{ secrets.GCP_SA_KEY }} spreadsheet_id: ${{ secrets.SPREADSHEET_ID }} - sheet_name: "Weekly Reports" # The name of the tab in your sheet + sheet_name: 'Weekly Reports' # The name of the tab in your sheet data: ${{ steps.report.outputs.csv_data }} - major_dimension: "ROWS" - value_input_option: "USER_ENTERED" + major_dimension: 'ROWS' + value_input_option: 'USER_ENTERED'