Conversation
Full readme and gh workflow for autorun
There was a problem hiding this comment.
Pull Request Overview
This PR adds automated monthly reporting capabilities to the Azure DevOps CLI tool through GitHub Actions, along with documentation and configuration updates. The changes enable scheduled and on-demand report generation with configurable developer lists.
Key Changes:
- Added GitHub Actions workflow for automated monthly developer reports with scheduled and manual execution
- Introduced
default_developersconfiguration in the JSON config for default report targets - Created comprehensive documentation for the workflow setup and the main tool
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
config/azure_devops_config.json |
Added default_developers list to define default team members for automated reports |
README.md |
New comprehensive documentation covering features, installation, usage, and scoring system |
OPTIMIZED_USAGE_EXAMPLES.md |
Fixed incomplete developer name "Dan" to "Daniel Reyes" |
.github/workflows/monthly-developer-report.yml |
New GitHub Actions workflow for automated monthly report generation |
.github/workflows/README.md |
Complete workflow documentation including setup, usage, and troubleshooting |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ### Setup | ||
|
|
||
| 1. **Clone the repository** | ||
| ```bash |
There was a problem hiding this comment.
Step 1 mentions 'Clone the repository' but only shows a cd command. Add the git clone command before the cd command, for example: git clone <repository-url> followed by cd /path/to/project.
| ```bash | |
| ```bash | |
| git clone <repository-url> |
| # Build the command | ||
| CMD="python run.py --query-work-items \ | ||
| --start-date ${{ steps.dates.outputs.start_date }} \ | ||
| --end-date ${{ steps.dates.outputs.end_date }} \ | ||
| --optimized \ | ||
| --export-csv developer_report_${{ steps.dates.outputs.filename_suffix }}.csv" | ||
|
|
||
| # Add assigned_to parameter | ||
| if [ -n "${DEVELOPERS}" ]; then | ||
| CMD="${CMD} --assigned-to \"${DEVELOPERS}\"" | ||
| fi | ||
|
|
||
| # Execute the command | ||
| eval $CMD | ||
|
|
There was a problem hiding this comment.
The command construction using string concatenation with eval can fail if developer names contain special characters or quotes. The double quotes around ${DEVELOPERS} in the CMD string will be escaped incorrectly when eval executes. Consider using an array-based approach or pass the assigned-to parameter directly without building it into CMD as a string.
| # Build the command | |
| CMD="python run.py --query-work-items \ | |
| --start-date ${{ steps.dates.outputs.start_date }} \ | |
| --end-date ${{ steps.dates.outputs.end_date }} \ | |
| --optimized \ | |
| --export-csv developer_report_${{ steps.dates.outputs.filename_suffix }}.csv" | |
| # Add assigned_to parameter | |
| if [ -n "${DEVELOPERS}" ]; then | |
| CMD="${CMD} --assigned-to \"${DEVELOPERS}\"" | |
| fi | |
| # Execute the command | |
| eval $CMD | |
| # Build and run the command directly, safely handling arguments | |
| if [ -n "${DEVELOPERS}" ]; then | |
| python run.py --query-work-items \ | |
| --start-date "${{ steps.dates.outputs.start_date }}" \ | |
| --end-date "${{ steps.dates.outputs.end_date }}" \ | |
| --optimized \ | |
| --export-csv "developer_report_${{ steps.dates.outputs.filename_suffix }}.csv" \ | |
| --assigned-to "${DEVELOPERS}" | |
| else | |
| python run.py --query-work-items \ | |
| --start-date "${{ steps.dates.outputs.start_date }}" \ | |
| --end-date "${{ steps.dates.outputs.end_date }}" \ | |
| --optimized \ | |
| --export-csv "developer_report_${{ steps.dates.outputs.filename_suffix }}.csv" | |
| fi |
No description provided.