]> apps.delaporte.us Git - dotfiles.git/blobdiff - psmodules/dash.psm1
Add --help to `Show-MyDashboard`
[dotfiles.git] / psmodules / dash.psm1
index 88cd721a5efaa52f6f22efa179d95df6d4de6c37..4f5abe05cd3e4530fa6b5788b0d2b4c725738b9b 100644 (file)
@@ -1,18 +1,92 @@
+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 Show-MyDashBoard() {
+       param(
+               # [switch]$todocount=$true,
+               [switch]$agenda=$true,
+               [switch]$gitHub=$false,
+               [switch]$help,
+               [switch]$bugs=$false,
+               [switch]$todo=$false,
+               [switch]$pr=$false,
+               [switch]$requested=$false,
+               [switch]$orphans=$false
+       )
+       $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($github) {
+               Write-Host ""
+               Write-Host "## GitHub Status (gh status)"
+               Invoke-Expression "gh status"
+       }
+       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 Get-MyDashBoard() {
-       Write-Host "## Todo items for today:"
-       Measure-JournalTodos
-       chart
-       Get-JournalTodayTodos
-       Write-Host "## Agenda for today:"
-       Get-JournalAgenda
-       Write-Host "## GitHub Issues Assigned (Show-AgileMine)"
-       Show-AgileMine -DaysAgo 6
-       Write-Host "## GitHub Issues with no milestone. (Show-AgileNoMilestone)"
-       Get-AgileNoMilestone -repository SecOps-Tools | Measure-Object -Property updated_at -Min -Max
-       Write-Host "Use command 'todo' to list more tasks."
-       Write-Host "Use command 'chart' to show todo item progress."
-       Write-Host "Use command 'agenda' to list the plan for today."
+function Show-MyTeamWork() {
+       $team = @('ddriddle', 'zcarrington', 'tzturner', 'mpitcel', 'edthedev')
+       $team | ForEach-Object {
+               "## $_ - Issues Assigned"
+               Get-AgileQuery -Assignee $_ | Invoke-AgileQuery | Show-MarkdownFromGitHub
+       }
 }
 
-Export-ModuleMember -Function Get-MyDashboard
\ No newline at end of file
+Export-ModuleMember -Function Show-MyDashboard
+Export-ModuleMember -Function Show-MyTeamWork
\ No newline at end of file