X-Git-Url: https://apps.delaporte.us/gitweb/dotfiles.git/blobdiff_plain/79bacfc9724b7583b890f3d9388985a0e6343184..0bbce37d4aae3d99d4053673754415f0699d416e:/psmodules/dash.psm1 diff --git a/psmodules/dash.psm1 b/psmodules/dash.psm1 index 560f729..b38e7ca 100644 --- a/psmodules/dash.psm1 +++ b/psmodules/dash.psm1 @@ -1,19 +1,104 @@ +function Get-JournalAgenda() { + agenda.exe -path "$HOME/Journal/{YYYY}/{MM}-{DD}.md" +} + +function Measure-JournalTodos() { + $todocount = todolist | Measure-Object -Line + $env:todocount += '|' + $env:todocount += $todocount.lines +} + +<# + +.SYNOPSIS + +Show a text dashboard. + +.EXAMPLE + +Include `Todo` list. +Show-MyDashboard -todo -function Get-MyDashboard() { - $MyDashboard = New-UDDashboard -Title "Hello, World" -Content { - New-UDCard -Title "Hello, Universal Dashboard" -Content { - New-UDParagraph -Text 'I am a very simple card. I am good at containing small bits of information. I am convenient because I require little markup to use effectively.' - } -Links @( - New-UDLink -Text 'This is a link' -Url '#!' - New-UDLink -Text 'This is a link' -Url '#!' - ) -Size 'small' - } - return $MyDashboard +#> +function Show-MyDashBoard() { + param( + # [switch]$todocount=$true, + [switch]$agenda=$true, + [switch]$blocked, + [switch]$gitHub, + [switch]$help, + [switch]$leeroy, + [switch]$bugs, + [switch]$todo, + [switch]$pr, + [switch]$requested, + [switch]$orphans + ) + $todocount = $true + if($todocount){ + Measure-JournalTodos + Write-Host "" + Write-Host "## Todo items for today: $env:todocount" + chart -var todocount + } + if($agenda){ + Write-Host "" + Write-Host "## Agenda for today:" + Get-JournalAgenda + } + if($blocked){ + Write-Host "" + Write-Host "## Blocked Issues:" + Invoke-AgileCmd "gh issue list -l 'blocked'" + } + if($github) { + Write-Host "" + Write-Host "## GitHub Status (gh status)" + Invoke-Expression "gh status" + } + if($leeroy){ + Write-Host "" + Write-Host "## Leeroy Jenkins!:" + Invoke-AgileCmd "gh issue list -l 'leeroy jenkins'" + } + if($bugs) { + Write-Host "" + Write-Host "## Known Bugs" + Invoke-AgileCmd "gh issue list -S 'label:bug'" + } + if($todo) { + Write-Host "" + Write-Host "## Todo List" + todolist + } + if($requested){ + Write-Host "" + Write-Host "## Open Stakeholder Requests" + invoke-agilecmd "gh issue list -S 'label:requested'" + } + if($pr) { + Write-Host "" + Write-Host "## Open Pull Requests" + Invoke-AgileCmd "gh pr list" + } + if($orphans) { + Write-Host "" + Write-Host "## Issues with No Milestone" + Invoke-AgileCmd "gh issue list -S 'is:open is:issue no:milestone'" + } + if($help) { + Write-Host "## Dasbhoard Help" + Get-Help Show-MyDashboard + } } -function Inovke-MyDashboard() { - Start-UDDashboard -Port 1000 -Dashboard Get-MyDashboard - Write-Host "http://localhost:1000" +function Show-MyTeamWork() { + $team = @('ddriddle', 'zcarrington', 'tzturner', 'mpitcel', 'edthedev') + $team | ForEach-Object { + "## $_ - Issues Assigned" + Get-AgileQuery -Assignee $_ | Invoke-AgileQuery | Show-MarkdownFromGitHub + } } -Export-ModuleMember -Function Invoke-MyDashboard \ No newline at end of file +Export-ModuleMember -Function Show-MyDashboard +Export-ModuleMember -Function Show-MyTeamWork \ No newline at end of file