Skip to content

Module restructure to v0.2.0 #39

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 13, 2018

Conversation

HowardWolosky
Copy link
Member

Features:

  • Significant restructing and refactoring of entire module to make future expansion easier.
  • Significant documentation updates (CHANGELOG, CONTRIBUTING.md,
    GOVERNANCE.md, README.md, USAGE.md)
  • Added Set-GitHubAuthentication (and related methods) for securely caching the Access Token
  • Added Set-GitHubConfiguration (and related methods) to enable short and long-term configuration
    of the module.
  • Added ability to asynchronously see status update of REST requests.
  • Added logging and telemetry to the module (each can be disabled if desired).
  • Tests now auto-configure themselves across whatever account information is supplied in
    Tests/Config/Settings.ps1
  • Added support for a number of additional GitHub API's:
    • All Miscellaneous API's
    • Ability to fully query, update, remove, lock, and unlock Issues.
    • Enhanced pull request querying support
    • Ability tofully query, create, and remove Repositories, as well as transfer ownership,
      get tags, get/set topic and current used programming languages.
    • Enhanced user query support as well as being able update information for the current user.

Fixes:

  • Made parameter ordering consistent across all functions (OwnerName is now first, then RepositoryName)
  • Normalized all parameters to use SentenceCase
  • All functions that can take a Uri or OwnerName/RepositoryName now support both options.
  • Made all parameter names consistent across functions:
    • GitHubAccessToken -> AccessToken
    • RepositoryUrl -> Uri
    • Organization -> OrganizationName
    • Repository -> RepositoryName
    • Owner -> OwnerName
  • Normalized usage of Verbose, Info and Error streams

Functionality Modified from 0.1.0:

  • New-GitHubLabels was renamed to Set-GitHubLabel and can now optionally take in the labels
    to apply to the Repository.
  • Get-GitHubIssueForRepository has been removed and replaced with Get-GitHubIssue.
    The key difference between these two is that it no longer accepts multiple repositories as single
    input, and filtering on creation/closed date can be done after the fact piping the results into
    Where-Object now that the returned objects from Get-GitHubIssue have actual [DateTime] values
    for the date properties. For an updated example of doing this, refer to example usage.
  • Get-GitHubWeeklyIssueForRepository has been removed and functionally replaced by Group-GitHubIssue.
    For an updated example of using it, refer to example usage
  • Get-GitHubTopIssueRepository has been removed. We have updated examples
    for how to accomplish the same scenario.
  • Get-GitHubPullRequestForRepository has been removed and replaced with Get-GitHubPullRequest.
    The key difference between these two is that it no longer accepts multiple repositories as single
    input, and filtering on creation/merged date can be done after the fact piping the results into
    Where-Object now that the returned objects from Get-GitHubPullRequest have actual [DateTime] values
    for the date properties. For an updated example of doing this, refer to example usage.
  • Get-GitHubWeeklyPullRequestForRepository has been removed and functionally replaced by Group-GitHubPullRequest.
    For an updated example of using it, refer to example usage
  • Get-GitHubTopPullRequestRepository has been removed. We have updated examples
    for how to accomplish the same scenario.
  • Get-GitHubRepositoryNameFromUrl and GitHubRepositoryOwnerFromUrl have been removed and
    functionally replaced by Split-GitHubUri
  • Get-GitHubRepositoryUniqueContributor has been removed. We have an
    updated example for how to accomplish the same scenario.
  • GitHubOrganizationRepository has been removed. You can now retrieve repositories for an
    organization via Get-GitHubRepository -OrganizationName <name>.
  • Get-GitHubAuthenticatedUser has been replaced with Get-GitHubUser -Current.

Fixes Issue #34: Warning output on import is being written out twice
Fixes Issue #33: TLS error in Get-GitHubIssueForRepository : Failed to execute query with exception
Fixes Issue #26: Token in template file
Fixes Issue #24: Add a command for configuration

+ Significant restructing and refactoring of entire module to make future expansion easier.
+ Significant documentation updates ([CHANGELOG](./CHANGELOG.md), [CONTRIBUTING.md](./CONTRIBUTING.md),
  [GOVERNANCE.md](./GOVERNANCE.md), [README.md](./README.md), [USAGE.md](./USAGE.md))
+ Added `Set-GitHubAuthentication` (and related methods) for securely caching the Access Token
+ Added `Set-GitHubConfiguration` (and related methods) to enable short and long-term configuration
  of the module.
+ Added ability to asynchronously see status update of REST requests.
+ Added logging and telemetry to the module (each can be disabled if desired).
+ Tests now auto-configure themselves across whatever account information is supplied in
  [Tests/Config/Settings.ps1](./Tests/Config/Settings.ps1)
+ Added support for a number of additional GitHub API's:
  + All [Miscellaneous API's](https://developer.github.com./v3/misc/)
  + Ability to fully query, update, remove, lock, and unlock Issues.
  + Enhanced pull request querying support
  + Ability tofully query, create, and remove Repositories, as well as transfer ownership,
    get tags, get/set topic and current used programming languages.
  + Enhanced user query support as well as being able update information for the current user.

* Made parameter ordering consistent across all functions (OwnerName is now first, then RepositoryName)
* Normalized all parameters to use SentenceCase
* All functions that can take a Uri or OwnerName/RepositoryName now support both options.
* Made all parameter names consistent across functions:
  * `GitHubAccessToken` -> `AccessToken`
  * `RepositoryUrl` -> `Uri`
  * `Organization` -> `OrganizationName`
  * `Repository` -> `RepositoryName`
  * `Owner` -> `OwnerName`
* Normalized usage of Verbose, Info and Error streams

- `New-GitHubLabels` was renamed to `Set-GitHubLabel` and can now optionally take in the labels
  to apply to the Repository.
- `Get-GitHubIssueForRepository` has been removed and replaced with `Get-GitHubIssue`.
  The key difference between these two is that it no longer accepts multiple repositories as single
  input, and filtering on creation/closed date can be done after the fact piping the results into
  `Where-Object` now that the returned objects from `Get-GitHubIssue` have actual `[DateTime]` values
  for the date properties.  For an updated example of doing this, refer to [example usage](USAGE.md#querying-issues).
- `Get-GitHubWeeklyIssueForRepository` has been removed and functionally replaced by `Group-GitHubIssue`.
  For an updated example of using it, refer to [example usage](USAGE.md#querying-issues)
- `Get-GitHubTopIssueRepository` has been removed.  We have [updated examples](USAGE.md#querying-issues)
  for how to accomplish the same scenario.
- `Get-GitHubPullRequestForRepository` has been removed and replaced with `Get-GitHubPullRequest`.
  The key difference between these two is that it no longer accepts multiple repositories as single
  input, and filtering on creation/merged date can be done after the fact piping the results into
  `Where-Object` now that the returned objects from `Get-GitHubPullRequest` have actual `[DateTime]` values
  for the date properties.  For an updated example of doing this, refer to [example usage](USAGE.md#querying-pull-requests).
- `Get-GitHubWeeklyPullRequestForRepository` has been removed and functionally replaced by `Group-GitHubPullRequest`.
  For an updated example of using it, refer to [example usage](USAGE.md#querying-pull-requests)
- `Get-GitHubTopPullRequestRepository` has been removed.  We have [updated examples](USAGE.md#querying-pull-requests)
  for how to accomplish the same scenario.
- `Get-GitHubRepositoryNameFromUrl` and `GitHubRepositoryOwnerFromUrl` have been removed and
  functionally replaced by `Split-GitHubUri`
- `Get-GitHubRepositoryUniqueContributor` has been removed.  We have an
  [updated example](USAGE.md#querying-contributors) for how to accomplish the same scenario.
- `GitHubOrganizationRepository` has been removed.  You can now retrieve repositories for an
  organization via `Get-GitHubRepository -OrganizationName <name>`.
- `Get-GitHubAuthenticatedUser` has been replaced with `Get-GitHubUser -Current`.

Fixes Issue microsoft#34: Warning output on import is being written out twice
Fixes Issue microsoft#33: TLS error in Get-GitHubIssueForRepository : Failed to execute query with exception
Fixes Issue microsoft#26: Token in template file
Fixes Issue microsoft#24: Add a command for configuration
@HowardWolosky
Copy link
Member Author

The CI failed because it's still working with the old credentials. Once this change comes in, it will work against the new credentials.

@HowardWolosky HowardWolosky merged commit eb33688 into microsoft:master Nov 13, 2018
@HowardWolosky HowardWolosky deleted the restructure branch November 13, 2018 09:49
@HowardWolosky HowardWolosky added the enhancement An issue or pull request introducing new functionality to the project. label Jun 10, 2020
@HowardWolosky HowardWolosky self-assigned this Jun 10, 2020
@HowardWolosky HowardWolosky requested a review from a team June 10, 2020 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement An issue or pull request introducing new functionality to the project.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant