PowerShellForGitHub icon indicating copy to clipboard operation
PowerShellForGitHub copied to clipboard

Default format

Open felixfbecker opened this issue 7 years ago • 4 comments

The current default format is pretty unreadable for use in the PowerShell REPL:

✔ ~
🍺  Get-GitHubIssueForRepository PowerShell/PowerShellForGitHub | Select-Object -First 1
Getting issues for repository PowerShell/PowerShellForGitHub
                                                                                                                                                                                                                                                                                                                                                                                  url                : https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/26                                                                                               repository_url     : https://api.github.com/repos/PowerShell/PowerShellForGitHub                                                                                                         
labels_url         : https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/26/labels{/name}
comments_url       : https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/26/comments
events_url         : https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/26/events
html_url           : https://github.com/PowerShell/PowerShellForGitHub/issues/26
id                 : 301194116
number             : 26
title              : Token in template file
user               : @{login=felixfbecker; id=10532611; avatar_url=https://avatars0.githubusercontent.com/u/10532611?v=4; gravatar_id=; url=https://api.github.com/users/felixfbecker; h
                     tml_url=https://github.com/felixfbecker; followers_url=https://api.github.com/users/felixfbecker/followers; following_url=https://api.github.com/users/felixfbecker
                     /following{/other_user}; gists_url=https://api.github.com/users/felixfbecker/gists{/gist_id}; starred_url=https://api.github.com/users/felixfbecker/starred{/owner}
                     {/repo}; subscriptions_url=https://api.github.com/users/felixfbecker/subscriptions; organizations_url=https://api.github.com/users/felixfbecker/orgs; repos_url=htt
                     ps://api.github.com/users/felixfbecker/repos; events_url=https://api.github.com/users/felixfbecker/events{/privacy}; received_events_url=https://api.github.com/use
                     rs/felixfbecker/received_events; type=User; site_admin=False}
labels             : {}
state              : open
locked             : False
assignee           : 
assignees          : {}
milestone          : 
comments           : 0
created_at         : 02/28/2018 21:41:52
updated_at         : 02/28/2018 21:41:52
closed_at          : 
author_association : NONE
body               : I find it weird having to rename a file in the module and setting the token there. Wouldn't this get overridden on updates? Why can't I just set the token in profi
                     le.ps1?
                     
                     And, shouldn't this be a secure string or credential object of some sort instead of a plain string?

Table format shows mostly unimportant data:

✔ ~
🍺  Get-GitHubIssueForRepository PowerShell/PowerShellForGitHub  | Format-Table
Getting issues for repository PowerShell/PowerShellForGitHub
                                                                                                                                                                                                                                                                                                      url                                                                   repository_url                                              labels_url                                                                          comments_url                                                                    ---                                                                   --------------                                              ----------                                                                          ------------                                                                    https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/26 https://api.github.com/repos/PowerShell/PowerShellForGitHub https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/26/labels{/name} https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/26/comments  
https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/24 https://api.github.com/repos/PowerShell/PowerShellForGitHub https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/24/labels{/name} https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/24/comments
https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/23 https://api.github.com/repos/PowerShell/PowerShellForGitHub https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/23/labels{/name} https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/23/comments
https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/21 https://api.github.com/repos/PowerShell/PowerShellForGitHub https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/21/labels{/name} https://api.github.com/repos/PowerShell/PowerShellForGitHub/issues/21/comments

I would propose to add ps1xml format files so that the default output format is a table that somewhat resembles the information GitHub shows on the issues page (title, author, closed/open, labels, ...).

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_format.ps1xml?view=powershell-6

felixfbecker avatar Feb 28 '18 21:02 felixfbecker

Thanks for the suggestion, Felix. Do you have any interest in authoring some ps1xml files for the module?

HowardWolosky avatar Nov 13 '18 09:11 HowardWolosky

I was having a look at this because I was looking for an easy way to help. I think that the PSCustomObjects that the cmdlets output need to be tagged for Format.ps1xml to be able to be applied. I'm happy to help with the XML wrangling if the objects are tagged.

wightsci avatar May 21 '20 18:05 wightsci

I've raised PR #205 which adds output types and views for the GitHubRepositories module. This should give you the pattern to add types and views to the other modules.

X-Guardian avatar May 31 '20 11:05 X-Guardian

I've since focused my efforts on PSGitHub instead, see the README for screenshots of the pretty formatting: https://github.com/pcgeek86/PSGitHub#pretty-formatting

felixfbecker avatar May 31 '20 11:05 felixfbecker