-
Notifications
You must be signed in to change notification settings - Fork 119
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Create GH Workflow to generate Metrics Reports (#452)
* chore: create metrics.yml * chore: upload an artifact instead of creating an issue * chore: accept manually input dates
- Loading branch information
Gui ⚡️ Guilherme Ferreira
authored
Oct 25, 2023
1 parent
a1ebbd7
commit 994af73
Showing
1 changed file
with
89 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
name: Monthly Metrics | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
dates: | ||
required: false | ||
schedule: | ||
- cron: '3 2 1 * *' | ||
|
||
permissions: | ||
issues: write | ||
pull-requests: read | ||
|
||
jobs: | ||
run: | ||
name: Calculate Metrics | ||
runs-on: ubuntu-latest | ||
steps: | ||
|
||
- name: Get dates for last month | ||
id: get-dates | ||
shell: bash | ||
run: | | ||
# Calculate the first day of the previous month | ||
first_day=$(date -d "last month" +%Y-%m-01) | ||
# Calculate the last day of the previous month | ||
last_day=$(date -d "$first_day +1 month -1 day" +%Y-%m-%d) | ||
#Set an environment variable with the date range | ||
echo "$first_day..$last_day" | ||
echo "last_month=$first_day..$last_day" >> "$GITHUB_ENV" | ||
- name: Use input dates | ||
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.dates != '' }} | ||
shell: bash | ||
run: | | ||
echo "${{github.event.inputs.dates}}" | ||
echo "last_month=${{github.event.inputs.dates}}" >> "$GITHUB_ENV" | ||
- name: Run issue-metrics tool for items opened last month | ||
id: opened-metrics | ||
uses: github/issue-metrics@v2 | ||
env: | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
SEARCH_QUERY: 'repo:farfetch/kafkaflow created:${{ env.last_month }} -reason:"not planned"' | ||
|
||
- name: Upload for opened items | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: items-opened | ||
path: ./issue_metrics.md | ||
|
||
- name: Run issue-metrics tool for items closed last month | ||
id: closed-metrics | ||
uses: github/issue-metrics@v2 | ||
env: | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
SEARCH_QUERY: 'repo:farfetch/kafkaflow closed:${{ env.last_month }} -reason:"not planned"' | ||
|
||
- name: Upload for closed items | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: items-closed | ||
path: ./issue_metrics.md | ||
|
||
- name: Run issue-metrics tool for discussions opened last month | ||
id: opened-discussions-metrics | ||
uses: github/issue-metrics@v2 | ||
env: | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
SEARCH_QUERY: 'repo:farfetch/kafkaflow type:discussions created:${{ env.last_month }} -reason:"not planned"' | ||
|
||
- name: Upload for opened discussions | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: discussions-opened | ||
path: ./issue_metrics.md | ||
|
||
- name: Run issue-metrics tool for discussions closed last month | ||
id: closed-discussions-metrics | ||
uses: github/issue-metrics@v2 | ||
env: | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
SEARCH_QUERY: 'repo:farfetch/kafkaflow type:discussions closed:${{ env.last_month }} -reason:"not planned"' | ||
|
||
- name: Upload for closed discussions | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: discussions-closed | ||
path: ./issue_metrics.md |