Skip to content

Commit

Permalink
Adding the Issue Metrics Action to generate metrics on how we manage …
Browse files Browse the repository at this point in the history
…issues (#15041)

Co-authored-by: Hisham Bin Ateya <hishamco_2007@yahoo.com>
  • Loading branch information
Piedone and hishamco authored Jan 30, 2024
1 parent 7fbf4a5 commit 2905658
Showing 1 changed file with 81 additions and 0 deletions.
81 changes: 81 additions & 0 deletions .github/workflows/issue-metrics.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Monthly Issue and Pull Request Metrics
on:
workflow_dispatch:
schedule:
# Run on the first day of every month at 2:19 AM UTC.
- cron: '19 2 1 * *'

permissions:
issues: write
pull-requests: read

jobs:
build:
name: Generate Issue and Pull Request Metrics
runs-on: ubuntu-latest
steps:
- name: Get Dates For Last Month
shell: pwsh
run: |
# Calculate the first day of the previous month.
$firstDay = (Get-Date).AddMonths(-1).ToString("yyyy-MM-01")
# Calculate the last day of the previous month.
$lastDay = (Get-Date $firstDay).AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd")

# Set an environment variable with the date range.
Write-Output "$firstDay..$lastDay"
Write-Output "LAST_MONTH=$firstDay..$lastDay" >> $env:GITHUB_ENV

- name: Compute Issue Metrics
uses: github/issue-metrics@v2
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SEARCH_QUERY: 'repo:OrchardCMS/OrchardCore is:issue created:${{ env.LAST_MONTH }} -reason:"not planned" -label:"community metrics"'
HIDE_TIME_TO_ANSWER: true

- name: Rename Issue Metrics File
shell: pwsh
run: |
# Renaming the file wouldn't work since other scripts will be denied access to it for some reason.
Add-Content -Path ./community_metrics.md -Value (Get-Content -Path ./issue_metrics.md -Raw)
- name: Compute Pull Request Metrics
uses: github/issue-metrics@v2
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SEARCH_QUERY: 'repo:OrchardCMS/OrchardCore is:pr created:${{ env.LAST_MONTH }} -label:dontmerge -label:notready -is:draft'
HIDE_TIME_TO_ANSWER: true

- name: Concatenate Issue and Pull Request Metrics
shell: pwsh
run: |
$content = (Get-Content -Path ./issue_metrics.md -Raw) -replace '# Issue Metrics', '# Pull Request Metrics'
Add-Content -Path ./community_metrics.md -Value ([Environment]::NewLine + $content)
- name: Compute Q&A Discussion Request Metrics
uses: github/issue-metrics@v2
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SEARCH_QUERY: 'repo:OrchardCMS/OrchardCore type:discussions created:${{ env.LAST_MONTH }} category:Q&A'
HIDE_TIME_TO_CLOSE: true

- name: Concatenate Issue/PR and Discussion Metrics
shell: pwsh
run: |
$content = (Get-Content -Path ./issue_metrics.md -Raw) -replace '# Issue Metrics', '# Discussion Metrics'
Add-Content -Path ./community_metrics.md -Value ([Environment]::NewLine + $content)
- name: Display Issue Metrics in Summary
shell: pwsh
run: |
Get-Content ./community_metrics.md >> $env:GITHUB_STEP_SUMMARY
- name: Create Issue
# v4.0.1
uses: peter-evans/create-issue-from-file@433e51abf769039ee20ba1293a088ca19d573b7f
with:
title: Monthly community metrics report for ${{ env.LAST_MONTH }}
token: ${{ secrets.GITHUB_TOKEN }}
content-filepath: ./community_metrics.md
labels: community metrics

0 comments on commit 2905658

Please sign in to comment.