From 2497c2874127154f961aff69ca702e75037a0de5 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Sun, 1 Oct 2023 22:51:18 +0200 Subject: [PATCH 1/7] Fix Assert commands --- .../Assert-GitHubOrganizationBlockedUser.ps1 | 16 ++++++++-------- ...ser copy.ps1 => Assert-GitHubBlockedUser.ps1} | 10 +++++++++- 2 files changed, 17 insertions(+), 9 deletions(-) rename src/GitHub/public/Users/Blocking/{Get-GitHubBlockedUser copy.ps1 => Assert-GitHubBlockedUser.ps1} (80%) diff --git a/src/GitHub/public/Organization/Blocking/Assert-GitHubOrganizationBlockedUser.ps1 b/src/GitHub/public/Organization/Blocking/Assert-GitHubOrganizationBlockedUser.ps1 index 67219e3e8..9e2a73803 100644 --- a/src/GitHub/public/Organization/Blocking/Assert-GitHubOrganizationBlockedUser.ps1 +++ b/src/GitHub/public/Organization/Blocking/Assert-GitHubOrganizationBlockedUser.ps1 @@ -43,13 +43,13 @@ Method = 'GET' } - $statusCode = (Invoke-GitHubAPI @inputObject -ErrorAction SilentlyContinue).StatusCode - - if ($statusCode -eq 204) { - return $true - } elseif ($statusCode -eq 404) { - return $false - } else { - throw "Unexpected status code: $statusCode" + try { + (Invoke-GitHubAPI @inputObject).StatusCode -eq 204 + } catch { + if ($_.Exception.Response.StatusCode.Value__ -eq 404) { + return $false + } else { + throw $_ + } } } diff --git a/src/GitHub/public/Users/Blocking/Get-GitHubBlockedUser copy.ps1 b/src/GitHub/public/Users/Blocking/Assert-GitHubBlockedUser.ps1 similarity index 80% rename from src/GitHub/public/Users/Blocking/Get-GitHubBlockedUser copy.ps1 rename to src/GitHub/public/Users/Blocking/Assert-GitHubBlockedUser.ps1 index 2b55d0370..9bf24e819 100644 --- a/src/GitHub/public/Users/Blocking/Get-GitHubBlockedUser copy.ps1 +++ b/src/GitHub/public/Users/Blocking/Assert-GitHubBlockedUser.ps1 @@ -27,6 +27,14 @@ Body = $body } - (Invoke-GitHubAPI @inputObject).Response + try { + (Invoke-GitHubAPI @inputObject).StatusCode -eq 204 + } catch { + if ($_.Exception.Response.StatusCode.Value__ -eq 404) { + return $false + } else { + throw $_ + } + } } From 28b5650c9b626230cd938260b830f8605d79bcee Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Mon, 2 Oct 2023 08:40:08 +0200 Subject: [PATCH 2/7] Fix login loop when token is not user token --- .../Test-GitHubAccessTokenRefreshRequired.ps1 | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/GitHub/private/Auth/DeviceFlow/Test-GitHubAccessTokenRefreshRequired.ps1 b/src/GitHub/private/Auth/DeviceFlow/Test-GitHubAccessTokenRefreshRequired.ps1 index 5d16cf56e..1606c6630 100644 --- a/src/GitHub/private/Auth/DeviceFlow/Test-GitHubAccessTokenRefreshRequired.ps1 +++ b/src/GitHub/private/Auth/DeviceFlow/Test-GitHubAccessTokenRefreshRequired.ps1 @@ -14,15 +14,16 @@ [CmdletBinding()] param() - $tokenExpirationDate = Get-GitHubConfig -Name 'AccessTokenExpirationDate' -ErrorAction SilentlyContinue - if (-not $tokenExpirationDate) { + $tokenType = Get-GitHubConfig -Name 'AccessTokenType' -ErrorAction SilentlyContinue + if ($tokenType -ne 'ghu_*') { + Write-Verbose "The access token is not a user token. No need to refresh." return $false } - $currentDateTime = Get-Date - # Calulate the remaining time in hours - $remainindDuration = [datetime]$tokenExpirationDate - $currentDateTime + $tokenExpirationDate = Get-GitHubConfig -Name 'AccessTokenExpirationDate' -ErrorAction SilentlyContinue + $currentDateTime = Get-Date + $remainingDuration = [datetime]$tokenExpirationDate - $currentDateTime # If the remaining time is less that $script:Auth.AccessTokenGracePeriodInHours then the token should be refreshed - $remainindDuration.TotalHours -lt $script:Auth.AccessTokenGracePeriodInHours + $remainingDuration.TotalHours -lt $script:Auth.AccessTokenGracePeriodInHours } From fbfdc1b0549861c6de43b6cdaf37915f5ac3603d Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Mon, 2 Oct 2023 08:40:18 +0200 Subject: [PATCH 3/7] Add aliases in connect-github --- src/GitHub/public/Auth/Connect-GitHubAccount.ps1 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/GitHub/public/Auth/Connect-GitHubAccount.ps1 b/src/GitHub/public/Auth/Connect-GitHubAccount.ps1 index 441952710..64b771674 100644 --- a/src/GitHub/public/Auth/Connect-GitHubAccount.ps1 +++ b/src/GitHub/public/Auth/Connect-GitHubAccount.ps1 @@ -62,18 +62,26 @@ Mandatory, ParameterSetName = 'PAT' )] + [Alias('Token')] + [Alias('PAT')] [switch] $AccessToken, # Set the default owner to use in commands. [Parameter()] + [Alias('Organization')] + [Alias('Org')] [string] $Owner, # Set the default repository to use in commands. [Parameter()] + [Alias('Repository')] [string] $Repo, # Suppresses the output of the function. [Parameter()] + [Alias('Quiet')] + [Alias('q')] + [Alias('s')] [switch] $Silent ) From 2a54488d1d9e0ec645027a5473c4f9883c4588af Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Mon, 2 Oct 2023 09:10:40 +0200 Subject: [PATCH 4/7] Update readme --- README.md | 82 +++++++++++++++++++++++++------ tools/utilities/Local-Testing.ps1 | 3 ++ 2 files changed, 71 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 988e606df..feadd6941 100644 --- a/README.md +++ b/README.md @@ -29,21 +29,77 @@ To dive into the world of GitHub automation with PowerShell, follow these steps: ``` 1. **Authentication**: Authenticate using your GitHub credentials or access tokens to begin executing commands. + Tokens and other configuration details are stored encrypted on the system using the PowerShell modules + [SecretManagement and SecretStore Overview](https://learn.microsoft.com/en-us/powershell/utility-modules/secretmanagement/overview?view=ps-modules), + for more info on the implementation, see the section on [storing configuration](#storing-configuration). -Logging in using device flow: -```powershell -Connect-GitHubAccount + - **Device flow**: This is the recommended method for authentication due to access tokens being short lived. + It opens a browser window and prompts you to log in to GitHub. Once you log in, you will be provided with + a code that you need to paste into the PowerShell console. It uses a GitHub App to authenticate, which is + more secure than using a personal access token. The GitHub App is only granted access to the repositories + you add it to. Visit the [GitHub Apps documentation](https://docs.github.com/en/developers/apps/about-apps) + to read more about GitHub Apps. -Please visit: https://github.com/login/device -and enter code: ABCD-1234 -Successfully authenticated! -``` + ```powershell + Connect-GitHubAccount + + ! We added the code to your clipboard: [AB55-FA2E] + Press Enter to open github.com in your browser...: #-> Press enter and paste the code in the browser window + ✓ Logged in as MariusStorhaug! + ``` + + After this you will need to install the GitHub App on the repos you want to manage. You can do this by visiting the + [PowerShell for GitHub](https://github.com/apps/powershell-for-github) App page. + + > Info: We will be looking to include this as a check in the module in the future. So it becomes a part of the regular sign in process. + + + + Consecutive runs of the `Connect-GitHubAccount` will not require you to paste the code again, unless you revoke the token, + it expires or you change the type of authentication you want to use. Instead, the module will use the refresh token to get + a new access token if the refresh token is expired. + + ```powershell + Connect-GitHubAccount + ✓ Access token is still valid for 05:30:41 ... + ✓ Logged in as MariusStorhaug! + ``` + + This is also happening automatically when you run a command that requires authentication. The validity of the token is checked before the command is executed. + If it is no longer valid, the token is refreshed and the command is executed. + + - **Device Flow with OAuth app**: This uses the same flow as above, but instead of using the GitHub App, it uses an OAuth app with long lived tokens. + During the signing you can also authorize the app to access your private repositories. + Visit the [OAuth apps documentation](https://docs.github.com/en/developers/apps/about-apps) to read more about OAuth apps on GitHub. -Logging in using PAT token: -```powershell ->_ Connect-GitHubAccount -AccessToken 'ghp_abcdefghklmnopqrstuvwxyz123456789123' ->_ -``` + ```powershell + Connect-GitHubAccount -Mode OAuth + + ! We added the code to your clipboard: [AB55-FA2E] + Press Enter to open github.com in your browser...: + ✓ Logged in as MariusStorhaug! + ``` + + - **Personal access token**: This is the least secure method of authentication, but it is also the simplest. + Running the `Connect-GitHubAccount` command with the `-AccessToken` parameter will send you to the GitHub + website where you can create a new personal access token. Give it the access you need and paste it into the terminal. + + ```powershell + Connect-GitHubAccount -AccessToken + ! Enter your personal access token: **************************************** + ✓ Logged in as MariusStorhaug! + ``` + + - **System Access Token**: The module also detects the presence of a system access token and uses that if it is present. + This is useful if you are running the module in a CI/CD pipeline or in a scheduled task. + The function looks for the `GH_TOKEN` and `GITHUB_TOKEN` environment variables (in order). + + ```powershell + Connect-GitHubAccount + ✓ Logged in as system! + ``` 2. **Command Exploration**: Familiarize yourself with the available cmdlets using the module's comprehensive documentation or inline help. @@ -85,7 +141,6 @@ For a detailed understanding of the framework, [read more about PSModule here](h - [Generic HTTP Status Codes (MDN)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) ### Tools Planned for Development: -- [Microsoft.PowerShell.SecretManagement](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.secretmanagement/?view=ps-modules) - [Azure AutoRest (OpenAPI Specification Code Generator)](https://github.com/Azure/autorest) ### Inspiration Behind the Project: @@ -95,7 +150,6 @@ For a detailed understanding of the framework, [read more about PSModule here](h - [libsodium NuGet Package](https://www.nuget.org/packages/Sodium.Core/) ### Authentication and Login: -- [SecretManagement and SecretStore Overview](https://learn.microsoft.com/en-us/powershell/utility-modules/secretmanagement/overview?view=ps-modules) - [PowerShell for GitHub on GitHub Marketplace](https://github.com/apps/powershell-for-github) - [Building a CLI with a GitHub App](https://docs.github.com/en/apps/creating-github-apps/writing-code-for-a-github-app/building-a-cli-with-a-github-app) diff --git a/tools/utilities/Local-Testing.ps1 b/tools/utilities/Local-Testing.ps1 index dd395151d..cc9a1aa28 100644 --- a/tools/utilities/Local-Testing.ps1 +++ b/tools/utilities/Local-Testing.ps1 @@ -1,6 +1,9 @@ ##### +Get-Module -Name GitHub -ListAvailable Get-Module -Name GitHub* -ListAvailable | Remove-Module -Force Get-Module -Name GitHub* -ListAvailable | Uninstall-Module -Force -AllVersions +Get-Module -Name GitHub -ListAvailable + Get-SecretVault | Unregister-SecretVault Get-SecretVault From 9a954b799543b3fad7e5d7ea1b299fdd98defbe8 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Mon, 2 Oct 2023 09:24:19 +0200 Subject: [PATCH 5/7] Update --- README.md | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index feadd6941..f4d93ec6e 100644 --- a/README.md +++ b/README.md @@ -22,22 +22,25 @@ The **GitHub PowerShell** module serves as a convenient API wrapper around [GitH To dive into the world of GitHub automation with PowerShell, follow these steps: -1. **Installation**: Download and install the GitHub PowerShell module from the provided link or the PowerShell Gallery. +### Installing the module + +Download and install the GitHub PowerShell module from the PowerShell Gallery with the following command: ```powershell Install-Module -Name GitHub -Force -AllowClobber ``` -1. **Authentication**: Authenticate using your GitHub credentials or access tokens to begin executing commands. - Tokens and other configuration details are stored encrypted on the system using the PowerShell modules - [SecretManagement and SecretStore Overview](https://learn.microsoft.com/en-us/powershell/utility-modules/secretmanagement/overview?view=ps-modules), - for more info on the implementation, see the section on [storing configuration](#storing-configuration). +### Logging on +Authenticate using your GitHub credentials or access tokens to begin executing commands. Tokens and other +configuration details are stored encrypted on the system using the PowerShell modules [SecretManagement and SecretStore Overview](https://learn.microsoft.com/en-us/powershell/utility-modules/secretmanagement/overview?view=ps-modules), +for more info on the implementation, see the section on [storing configuration](#storing-configuration). - - **Device flow**: This is the recommended method for authentication due to access tokens being short lived. + - **Device flow**: + This is the recommended method for authentication due to access tokens being short lived. It opens a browser window and prompts you to log in to GitHub. Once you log in, you will be provided with - a code that you need to paste into the PowerShell console. It uses a GitHub App to authenticate, which is - more secure than using a personal access token. The GitHub App is only granted access to the repositories - you add it to. Visit the [GitHub Apps documentation](https://docs.github.com/en/developers/apps/about-apps) + a code that you need to paste into the PowerShell console. The command already puts the code in your clipboard. + It uses a GitHub App to authenticate, which is more secure than using a personal access token. The GitHub App + is only granted access to the repositories you add it to. Visit the [GitHub Apps documentation](https://docs.github.com/en/developers/apps/about-apps) to read more about GitHub Apps. ```powershell @@ -45,11 +48,11 @@ To dive into the world of GitHub automation with PowerShell, follow these steps: ! We added the code to your clipboard: [AB55-FA2E] Press Enter to open github.com in your browser...: #-> Press enter and paste the code in the browser window - ✓ Logged in as MariusStorhaug! + ✓ Logged in as octocat! ``` After this you will need to install the GitHub App on the repos you want to manage. You can do this by visiting the - [PowerShell for GitHub](https://github.com/apps/powershell-for-github) App page. + [PowerShell for GitHub](https://github.com/apps/powershell-for-github) app page. > Info: We will be looking to include this as a check in the module in the future. So it becomes a part of the regular sign in process. @@ -57,14 +60,14 @@ To dive into the world of GitHub automation with PowerShell, follow these steps: Install-GitHubApp -Owner 'PSModule' -Repo 'GitHub' ``` --> - Consecutive runs of the `Connect-GitHubAccount` will not require you to paste the code again, unless you revoke the token, - it expires or you change the type of authentication you want to use. Instead, the module will use the refresh token to get - a new access token if the refresh token is expired. + Consecutive runs of the `Connect-GitHubAccount` will not require you to paste the code again unless you revoke the token + or you change the type of authentication you want to use. Instead, it checks the remaining duration of the access token and + uses the refresh token to get a new access token if its less than 4 hours remaining. ```powershell Connect-GitHubAccount ✓ Access token is still valid for 05:30:41 ... - ✓ Logged in as MariusStorhaug! + ✓ Logged in as octocat! ``` This is also happening automatically when you run a command that requires authentication. The validity of the token is checked before the command is executed. @@ -79,7 +82,7 @@ To dive into the world of GitHub automation with PowerShell, follow these steps: ! We added the code to your clipboard: [AB55-FA2E] Press Enter to open github.com in your browser...: - ✓ Logged in as MariusStorhaug! + ✓ Logged in as octocat! ``` - **Personal access token**: This is the least secure method of authentication, but it is also the simplest. @@ -89,7 +92,7 @@ To dive into the world of GitHub automation with PowerShell, follow these steps: ```powershell Connect-GitHubAccount -AccessToken ! Enter your personal access token: **************************************** - ✓ Logged in as MariusStorhaug! + ✓ Logged in as octocat! ``` - **System Access Token**: The module also detects the presence of a system access token and uses that if it is present. @@ -101,13 +104,13 @@ To dive into the world of GitHub automation with PowerShell, follow these steps: ✓ Logged in as system! ``` -2. **Command Exploration**: Familiarize yourself with the available cmdlets using the module's comprehensive documentation or inline help. +1. **Command Exploration**: Familiarize yourself with the available cmdlets using the module's comprehensive documentation or inline help. ```powershell Get-Command -Module GitHub ``` -3. **Sample Scripts**: Check out sample scripts and usage patterns to jumpstart your automation tasks on GitHub. +2. **Sample Scripts**: Check out sample scripts and usage patterns to jumpstart your automation tasks on GitHub. ## More Information & Resources From 852445a90aac9cce594cd700558dae3dbc1ddb36 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Mon, 2 Oct 2023 09:27:59 +0200 Subject: [PATCH 6/7] structure --- README.md | 133 +++++++++++++++++++++++++++++------------------------- 1 file changed, 71 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index f4d93ec6e..300790566 100644 --- a/README.md +++ b/README.md @@ -20,97 +20,106 @@ The **GitHub PowerShell** module serves as a convenient API wrapper around [GitH ## Getting Started with GitHub PowerShell -To dive into the world of GitHub automation with PowerShell, follow these steps: +To dive into the world of GitHub automation with PowerShell, follow the sections below. ### Installing the module Download and install the GitHub PowerShell module from the PowerShell Gallery with the following command: - ```powershell - Install-Module -Name GitHub -Force -AllowClobber - ``` +```powershell +Install-Module -Name GitHub -Force -AllowClobber +``` ### Logging on + Authenticate using your GitHub credentials or access tokens to begin executing commands. Tokens and other configuration details are stored encrypted on the system using the PowerShell modules [SecretManagement and SecretStore Overview](https://learn.microsoft.com/en-us/powershell/utility-modules/secretmanagement/overview?view=ps-modules), for more info on the implementation, see the section on [storing configuration](#storing-configuration). - - **Device flow**: - This is the recommended method for authentication due to access tokens being short lived. - It opens a browser window and prompts you to log in to GitHub. Once you log in, you will be provided with - a code that you need to paste into the PowerShell console. The command already puts the code in your clipboard. - It uses a GitHub App to authenticate, which is more secure than using a personal access token. The GitHub App - is only granted access to the repositories you add it to. Visit the [GitHub Apps documentation](https://docs.github.com/en/developers/apps/about-apps) - to read more about GitHub Apps. +#### Device flow + +This is the recommended method for authentication due to access tokens being short lived. +It opens a browser window and prompts you to log in to GitHub. Once you log in, you will be provided with +a code that you need to paste into the PowerShell console. The command already puts the code in your clipboard. +It uses a GitHub App to authenticate, which is more secure than using a personal access token. The GitHub App +is only granted access to the repositories you add it to. Visit the [GitHub Apps documentation](https://docs.github.com/en/developers/apps/about-apps) +to read more about GitHub Apps. + +```powershell +Connect-GitHubAccount + +! We added the code to your clipboard: [AB55-FA2E] +Press Enter to open github.com in your browser...: #-> Press enter and paste the code in the browser window +✓ Logged in as octocat! +``` - ```powershell - Connect-GitHubAccount +After this you will need to install the GitHub App on the repos you want to manage. You can do this by visiting the +[PowerShell for GitHub](https://github.com/apps/powershell-for-github) app page. - ! We added the code to your clipboard: [AB55-FA2E] - Press Enter to open github.com in your browser...: #-> Press enter and paste the code in the browser window - ✓ Logged in as octocat! - ``` +> Info: We will be looking to include this as a check in the module in the future. So it becomes a part of the regular sign in process. - After this you will need to install the GitHub App on the repos you want to manage. You can do this by visiting the - [PowerShell for GitHub](https://github.com/apps/powershell-for-github) app page. + - > Info: We will be looking to include this as a check in the module in the future. So it becomes a part of the regular sign in process. +Consecutive runs of the `Connect-GitHubAccount` will not require you to paste the code again unless you revoke the token +or you change the type of authentication you want to use. Instead, it checks the remaining duration of the access token and +uses the refresh token to get a new access token if its less than 4 hours remaining. - +```powershell +Connect-GitHubAccount +✓ Access token is still valid for 05:30:41 ... +✓ Logged in as octocat! +``` - Consecutive runs of the `Connect-GitHubAccount` will not require you to paste the code again unless you revoke the token - or you change the type of authentication you want to use. Instead, it checks the remaining duration of the access token and - uses the refresh token to get a new access token if its less than 4 hours remaining. +This is also happening automatically when you run a command that requires authentication. The validity of the token is checked before the command is executed. +If it is no longer valid, the token is refreshed and the command is executed. - ```powershell - Connect-GitHubAccount - ✓ Access token is still valid for 05:30:41 ... - ✓ Logged in as octocat! - ``` +#### Device Flow with OAuth app - This is also happening automatically when you run a command that requires authentication. The validity of the token is checked before the command is executed. - If it is no longer valid, the token is refreshed and the command is executed. +This uses the same flow as above, but instead of using the GitHub App, it uses an OAuth app with long lived tokens. +During the signing you can also authorize the app to access your private repositories. +Visit the [OAuth apps documentation](https://docs.github.com/en/developers/apps/about-apps) to read more about OAuth apps on GitHub. - - **Device Flow with OAuth app**: This uses the same flow as above, but instead of using the GitHub App, it uses an OAuth app with long lived tokens. - During the signing you can also authorize the app to access your private repositories. - Visit the [OAuth apps documentation](https://docs.github.com/en/developers/apps/about-apps) to read more about OAuth apps on GitHub. +```powershell +Connect-GitHubAccount -Mode OAuth - ```powershell - Connect-GitHubAccount -Mode OAuth +! We added the code to your clipboard: [AB55-FA2E] +Press Enter to open github.com in your browser...: +✓ Logged in as octocat! +``` - ! We added the code to your clipboard: [AB55-FA2E] - Press Enter to open github.com in your browser...: - ✓ Logged in as octocat! - ``` +#### Personal access token +This is the least secure method of authentication, but it is also the simplest. Running the `Connect-GitHubAccount` command +with the `-AccessToken` parameter will send you to the GitHub website where you can create a new personal access token. +Give it the access you need and paste it into the terminal. - - **Personal access token**: This is the least secure method of authentication, but it is also the simplest. - Running the `Connect-GitHubAccount` command with the `-AccessToken` parameter will send you to the GitHub - website where you can create a new personal access token. Give it the access you need and paste it into the terminal. +```powershell +Connect-GitHubAccount -AccessToken +! Enter your personal access token: **************************************** +✓ Logged in as octocat! +``` - ```powershell - Connect-GitHubAccount -AccessToken - ! Enter your personal access token: **************************************** - ✓ Logged in as octocat! - ``` +#### System Access Token +The module also detects the presence of a system access token and uses that if it is present. +This is useful if you are running the module in a CI/CD pipeline or in a scheduled task. +The function looks for the `GH_TOKEN` and `GITHUB_TOKEN` environment variables (in order). - - **System Access Token**: The module also detects the presence of a system access token and uses that if it is present. - This is useful if you are running the module in a CI/CD pipeline or in a scheduled task. - The function looks for the `GH_TOKEN` and `GITHUB_TOKEN` environment variables (in order). +```powershell +Connect-GitHubAccount +✓ Logged in as system! +``` - ```powershell - Connect-GitHubAccount - ✓ Logged in as system! - ``` +### Command Exploration +Familiarize yourself with the available cmdlets using the module's comprehensive documentation or inline help. -1. **Command Exploration**: Familiarize yourself with the available cmdlets using the module's comprehensive documentation or inline help. +```powershell +Get-Command -Module GitHub +``` - ```powershell - Get-Command -Module GitHub - ``` +### Sample Scripts -2. **Sample Scripts**: Check out sample scripts and usage patterns to jumpstart your automation tasks on GitHub. +To be added: Sample scripts demonstrating the module's capabilities. ## More Information & Resources From 6235ccbfac8dba663237fd4c9c39edc8cd19e5a6 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Mon, 2 Oct 2023 09:30:35 +0200 Subject: [PATCH 7/7] fix --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 300790566..6b7b037dd 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,6 @@ to read more about GitHub Apps. ```powershell Connect-GitHubAccount - ! We added the code to your clipboard: [AB55-FA2E] Press Enter to open github.com in your browser...: #-> Press enter and paste the code in the browser window ✓ Logged in as octocat!