]> us-delaporte.pagekite.me Git - dotfiles.git/blobdiff - psmodules/dash.psm1
Go language path
[dotfiles.git] / psmodules / dash.psm1
index 7e32ac4aa2487f28b83cddb1ca68b9b1f2489543..291127f27303ef69e68b1b859579056d0aba6f67 100644 (file)
@@ -4,19 +4,58 @@ function Get-JournalAgenda() {
 
 function Measure-JournalTodos() {
        $todocount = todolist | Measure-Object -Line
 
 function Measure-JournalTodos() {
        $todocount = todolist | Measure-Object -Line
+       if(Test-Path $env:todohist) {
+               $env:todocount = Get-Content -Path $env:todohist
+       }
        $env:todocount += '|'
        $env:todocount += $todocount.lines
        $env:todocount += '|'
        $env:todocount += $todocount.lines
+       $env:todocount | Out-File -Path $env:todohist
 }
 
 }
 
+
+<#
+
+.EXAMPLE
+
+Show-GitRevList -From 2023.01.01
+
+#>
+function Show-GitRevList() {
+       param(
+               [string]$from
+       )
+       Invoke-AgileCmd "git rev-list HEAD --count --since=$from"
+}
+
+Export-ModuleMember -Function Show-GitRevList
+
+
+
+<#
+
+.SYNOPSIS
+
+Show a text dashboard.
+
+.EXAMPLE
+
+Include `Todo` list.
+Show-MyDashboard -todo
+
+#>
 function Show-MyDashBoard() {
        param(
                # [switch]$todocount=$true,
 function Show-MyDashBoard() {
        param(
                # [switch]$todocount=$true,
-               [switch]$agenda=$true,
-               [switch]$gitHub=$false,
-               [switch]$bugs=$false,
-               [switch]$todo=$false,
-               [switch]$pr=$false,
-               [switch]$orphans=$false
+               # [switch]$agenda,
+               [switch]$blocked,
+               [switch]$bugs,
+               [switch]$gitHub,
+               [switch]$help,
+               [switch]$leeroy,
+               [switch]$orphans,
+               [switch]$pr,
+               [switch]$requested,
+               [switch]$todo
        )
        $todocount = $true
        if($todocount){
        )
        $todocount = $true
        if($todocount){
@@ -25,45 +64,72 @@ function Show-MyDashBoard() {
                Write-Host "## Todo items for today: $env:todocount" 
                chart -var todocount
        }
                Write-Host "## Todo items for today: $env:todocount" 
                chart -var todocount
        }
+       $agenda = $true
        if($agenda){
                Write-Host ""
                Write-Host "## Agenda for today:"
                Get-JournalAgenda
        }
        if($agenda){
                Write-Host ""
                Write-Host "## Agenda for today:"
                Get-JournalAgenda
        }
-       if($github) {
+       if($blocked){
                Write-Host ""
                Write-Host ""
-               Write-Host "## GitHub Status (gh status)"
-               Invoke-Expression "gh status"
+               Write-Host "## Blocked & Blocker Issues:"
+               $blockerQuery = "label:blocker,blight,bug,blocked"
+               Invoke-AgileCmd "gh issue list -S '$blockerQuery'"
+               Write-Host ""
+               Write-Host "## Open Questions"
+               $questionQuery = 'label:"phone a friend",question,"needs context"'
+               Invoke-AgileCmd "gh issue list -S '$questionQuery'"
+
        }
        if($bugs) {
                Write-Host ""
                Write-Host "## Known Bugs"
                Invoke-AgileCmd "gh issue list -S 'label:bug'"
        }
        }
        if($bugs) {
                Write-Host ""
                Write-Host "## Known Bugs"
                Invoke-AgileCmd "gh issue list -S 'label:bug'"
        }
-       if($todo) {
+       if($github) {
                Write-Host ""
                Write-Host ""
-               Write-Host "## Todo List" 
-               todolist
+               Write-Host "## GitHub Status (gh status)"
+               Invoke-Expression "gh status"
        }
        }
-       if($pr) {
+       if($help) {
+               Write-Host "## Dasbhoard Help"
+               Get-Help Show-MyDashboard
+       }
+       if($leeroy){
                Write-Host ""
                Write-Host ""
-               Write-Host "## Open Pull Requests"
-               Invoke-AgileCmd "gh pr list"
+               Write-Host "## Leeroy Jenkins!:"
+               Invoke-AgileCmd "gh issue list -l 'leeroy jenkins'"
        }
        if($orphans) {
                Write-Host ""
                Write-Host "## Issues with No Milestone" 
                Invoke-AgileCmd "gh issue list -S 'is:open is:issue no:milestone'"
        }
        }
        if($orphans) {
                Write-Host ""
                Write-Host "## Issues with No Milestone" 
                Invoke-AgileCmd "gh issue list -S 'is:open is:issue no:milestone'"
        }
+       if($pr) {
+               Write-Host ""
+               Write-Host "## Open Pull Requests"
+               Invoke-AgileCmd "gh pr list"
+       }
+       if($requested){
+               Write-Host ""
+               Write-Host "## Open Stakeholder Requests"
+               invoke-agilecmd "gh issue list -S 'label:requested'"
+       }
+       if($todo) {
+               Write-Host ""
+               Write-Host "## Journal Todo Items" 
+               todolist
+               Write-Host ""
+               Write-Host "## Todo.txt File" 
+               todotxt
+       }
 }
 
 }
 
-function Show-MyTeamWork() {
-       $team = @('ddriddle', 'zcarrington', 'tzturner', 'mpitcel', 'edthedev')
-       $team | ForEach-Object {
-               "## $_ - Issues Assigned"
-               Get-AgileQuery -Assignee $_ | Invoke-AgileQuery | Show-MarkdownFromGitHub
-       }
+function Write-AgileClosedData() {
+       $gh_cmd = 'gh issue list --state closed --json title,closedAt,milestone,url'
+       Write-AgileToFile -gh_command $gh_cmd
 }
 
 }
 
+Export-ModuleMember -Function Write-AgileClosedData
 Export-ModuleMember -Function Show-MyDashboard
 Export-ModuleMember -Function Show-MyTeamWork
\ No newline at end of file
 Export-ModuleMember -Function Show-MyDashboard
 Export-ModuleMember -Function Show-MyTeamWork
\ No newline at end of file