24 lines
1015 B
Bash
24 lines
1015 B
Bash
#!/bin/bash
|
|
|
|
# --- Date Calculation ---
|
|
START_DATE=$(date -d "last Friday" +%Y-%m-%d)
|
|
END_DATE=$(date -d "last Thursday" +%Y-%m-%d)
|
|
DATE_RANGE="${START_DATE}..${END_DATE}"
|
|
|
|
# --- Report Generation ---
|
|
# 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
|
|
# 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')
|
|
|
|
# Print the data as a CSV row
|
|
echo "${START_DATE} to ${END_DATE},${USER},${PRS_SUBMITTED},${ISSUES_CLOSED}"
|
|
done
|