{"id":18817042,"url":"https://github.com/microsoft/powershellforgithub","last_synced_at":"2025-05-16T15:09:51.792Z","repository":{"id":10065423,"uuid":"54234233","full_name":"microsoft/PowerShellForGitHub","owner":"microsoft","description":"Microsoft PowerShell wrapper for GitHub API","archived":false,"fork":false,"pushed_at":"2024-05-19T20:11:03.000Z","size":1192,"stargazers_count":623,"open_issues_count":52,"forks_count":191,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-05-15T00:08:35.364Z","etag":null,"topics":["api","azure-pipelines","best-practices","github","module","powershell"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-03-18T22:05:41.000Z","updated_at":"2025-05-07T17:55:15.000Z","dependencies_parsed_at":"2023-11-21T01:40:29.700Z","dependency_job_id":"18cf2714-72cc-47b1-8070-ec1071458f68","html_url":"https://github.com/microsoft/PowerShellForGitHub","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FPowerShellForGitHub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FPowerShellForGitHub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FPowerShellForGitHub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FPowerShellForGitHub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/PowerShellForGitHub/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254554016,"owners_count":22090418,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","azure-pipelines","best-practices","github","module","powershell"],"created_at":"2024-11-08T00:08:50.173Z","updated_at":"2025-05-16T15:09:46.782Z","avatar_url":"https://github.com/microsoft.png","language":"PowerShell","readme":"# PowerShellForGitHub PowerShell Module\n\n[![[GitHub version]](https://badge.fury.io/gh/microsoft%2FPowerShellForGitHub.svg)](https://github.com/microsoft/PowerShellForGitHub/releases)\n[![powershellgallery](https://img.shields.io/powershellgallery/v/PowerShellForGitHub)](https://www.powershellgallery.com/packages/PowerShellForGitHub)\n[![downloads](https://img.shields.io/powershellgallery/dt/PowerShellForGitHub.svg?label=downloads)](https://www.powershellgallery.com/packages/PowerShellForGitHub)\n[![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/microsoft/PowerShellForGitHub)](https://github.com/microsoft/PowerShellForGitHub)\n[![downloads](https://img.shields.io/badge/license-MIT-green)](https://github.com/microsoft/PowerShellForGitHub/blob/master/LICENSE)\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3990/badge)](https://bestpractices.coreinfrastructure.org/projects/3990)\n[![tweet](https://img.shields.io/twitter/url?url=https%3A%2F%2Ftwitter.com%2FQuackFu)](https://twitter.com/intent/tweet?text=%23PowerShellForGitHub%20%40QuackFu%20\u0026original_referer=https://github.com/microsoft/PowerShellForGitHub)\n\u003cbr /\u003e\n[![Build status](https://dev.azure.com/ms/PowerShellForGitHub/_apis/build/status/PowerShellForGitHub-CI?branchName=master)](https://dev.azure.com/ms/PowerShellForGitHub/_build/latest?definitionId=109\u0026branchName=master)\n[![Azure DevOps tests](https://img.shields.io/azure-devops/tests/ms/PowerShellForGitHub/109/master)](https://dev.azure.com/ms/PowerShellForGitHub/_build/latest?definitionId=109\u0026branchName=master)\n[![Azure DevOps coverage](https://img.shields.io/azure-devops/coverage/ms/PowerShellForGitHub/109/master)](https://dev.azure.com/ms/PowerShellForGitHub/_build/latest?definitionId=109\u0026branchName=master)\n\u003cbr /\u003e\n[![Help Wanted Issues](https://img.shields.io/github/issues/microsoft/PowerShellForGitHub/help%20wanted)](https://github.com/microsoft/PowerShellForGitHub/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)\n[![GitHub last commit](https://img.shields.io/github/last-commit/microsoft/PowerShellForGitHub)](https://github.com/microsoft/PowerShellForGitHub/commits/master)\n\n#### Table of Contents\n\n*   [Overview](#overview)\n*   [What's New](#whats-new)\n*   [Current API Support](#current-api-support)\n*   [Installation](#installation)\n*   [Configuration](#configuration)\n*   [Usage](#usage)\n*   [Developing and Contributing](#developing-and-contributing)\n*   [Legal and Licensing](#legal-and-licensing)\n*   [Governance](#governance)\n*   [Code of Conduct](#code-of-conduct)\n*   [Reporting Security Issues](#reporting-security-issues)\n*   [Privacy Policy](#privacy-policy)\n\n----------\n\n## Overview\n\nThis is a [PowerShell](https://microsoft.com/powershell) [module](https://technet.microsoft.com/en-us/library/dd901839.aspx)\nthat provides stateless command-line interaction and automation for the\n[GitHub v3 API](https://developer.github.com/v3/).\n\n**Embracing the benefits of PowerShell, it has\n[full support for pipelining](./USAGE.md#embracing-the-pipeline), allowing you pipe the output of\nvirtually any command into any other command within the module.**\n\n----------\n\n## What's New\n\nCheck out [CHANGELOG.md](./CHANGELOG.md) to review the details of the current release as well as\nall past releases.\n\n----------\n\n## Current API Support\n\nAt present, this module can:\n * Query, create, update and remove [Repositories](https://developer.github.com/v3/repos/) including\n      * Query, create and remove [Branches](https://developer.github.com/v3/repos/branches/), as well\n        as the associated branch protection rules.\n      * Query and create new [Forks](https://developer.github.com/v3/repos/forks/)\n      * Query and create [Content](https://developer.github.com/v3/repos/contents/) in a repo.\n      * Query the languages and tags in a repository, and and query/update its topics.\n      * Change repository ownership.\n      * Query, enable and disable security and vulnerability alerts.\n      * Query and set GitHub Actions permission.\n      * Query, set and remove team permissions.\n      * Query various [traffic reports](https://developer.github.com/v3/repos/traffic/) including\n        referral sources and paths, page views and clones.\n * Query, create, edit, lock/unlock [Issues](https://developer.github.com/v3/issues/) and\n   all of their related properties:\n      * Query, check, add and remove [Assignees](https://developer.github.com/v3/issues/assignees/)\n      * Query, create, edit and remove [Issue Comments](https://developer.github.com/v3/issues/comments/)\n      * Query, create, edit and remove [Labels](https://developer.github.com/v3/issues/labels/)\n      * Query [Events](https://developer.github.com/v3/issues/events/) and the\n        [timeline](https://developer.github.com/v3/issues/timeline/)\n      * Query, create, edit and remove [Milestones](https://developer.github.com/v3/issues/milestones/)\n * Query and create [Pull Requests](https://developer.github.com/v3/pulls/)\n * Query [collaborators](https://developer.github.com/v3/repos/collaborators/)\n * Query [contributors](https://developer.github.com/v3/repos/statistics/)\n * Query [organizations](https://developer.github.com/v3/orgs/) and their members.\n * Query and update [Users](https://developer.github.com/v3/users/)\n * Query, create, edit and remove [Teams](https://developer.github.com/v3/teams/),\n   and Query their members.\n * Query, create, edit and remove [Projects](https://developer.github.com/v3/projects/), along with\n   [Project Columns](https://developer.github.com/v3/projects/columns/) and\n   [Project Cards](https://developer.github.com/v3/projects/cards/)\n * Query, create, edit and remove [Releases](https://developer.github.com/v3/repos/releases/) and\n   associated content/assets.\n * Query, create, edit, remove, fork, and (un)star [gists](https://developer.github.com/v3/gists/),\n   as well as gist comments.\n * Query, edit and remove [reactions](https://developer.github.com/v3/reactions/) on Issues and\n   Pull Requests.\n* Query, create, edit and remove [Deployment Environments](https://docs.github.com/en/rest/deployments/environments)\n * Miscellaneous functionality:\n      * Get all [Codes of Conduct](https://developer.github.com/v3/codes_of_conduct/) as well as that\n        of a specific repo.\n      * Get all [GitHub emojis](https://developer.github.com/v3/emojis/)\n      * Get [gitignore templates](https://developer.github.com/v3/gitignore/)\n      * Get [commonly used licenses](https://developer.github.com/v3/licenses/) as well as that for\n        a specific repository.\n      * [Convert markdown](https://developer.github.com/v3/markdown/) to the equivalent HTML\n      * Get your current [rate limit](https://developer.github.com/v3/rate_limit/) for API usage.\n\nDevelopment is ongoing, with the goal to add broad support for the entire API set.\n\nFor a comprehensive look at what work is remaining to be API Complete, refer to\n[Issue #70](https://github.com/microsoft/PowerShellForGitHub/issues/70).\n\nReview [examples](USAGE.md#examples) to see how the module can be used to accomplish some of these tasks.\n\n----------\n\n## Installation\n\nYou can get latest release of the PowerShellForGitHub on the [PowerShell Gallery](https://www.powershellgallery.com/packages/PowerShellForGitHub)\n\n```PowerShell\nInstall-Module -Name PowerShellForGitHub\n```\n\n----------\n\n## Configuration\n\nTo avoid severe API rate limiting by GitHub, you should configure the module with your own personal\naccess token.\n\n1) Create a new API token by going to https://github.com/settings/tokens/new (provide a description\n   and check any appropriate scopes)\n2) Call `Set-GitHubAuthentication`, enter anything as the username (the username is ignored but\n   required by the dialog that pops up), and paste in the API token as the password.  That will be\n   securely cached to disk and will persist across all future PowerShell sessions.\nIf you ever wish to clear it in the future, just call `Clear-GitHubAuthentication`).\n\n\u003e For automated scenarios (like GithHub Actions) where you are dynamically getting the access token\n\u003e needed for authentication, refer to `Example 2` in `Get-Help Set-GitHubAuthentication -Examples`\n\u003e for how to configure in a promptless fashion.\n\u003e\n\u003e Alternatively, you _could_ configure PowerShell itself to always pass in a plain-text access token\n\u003e to any command (by setting `$PSDefaultParameterValues[\"*-GitHub*:AccessToken\"] = \"\u003caccess token\u003e\"`),\n\u003e although keep in mind that this is insecure (any other process could access this plain-text value).\n\nA number of additional configuration options exist with this module, and they can be configured\nfor just the current session or to persist across all future sessions with `Set-GitHubConfiguration`.\nFor a full explanation of all possible configurations, run the following:\n\n ```powershell\nGet-Help Set-GitHubConfiguration -ShowWindow\n```\n\nFor example, if you tend to work on the same repository, you can save yourself a lot of typing\nby configuring the default OwnerName and/or RepositoryName that you work with.  You can always\noverride these values by explicitly providing a value for the parameter in an individual command,\nbut for the common scenario, you'd have less typing to do.\n\n ```powershell\nSet-GitHubConfiguration -DefaultOwnerName PowerShell\nSet-GitHubConfiguration -DefaultRepositoryName PowerShellForGitHub\n```\n\n\u003e Be warned that there are some commands where you may want to only ever supply the OwnerName\n\u003e (like if you're calling `Get-GitHubRepository` and want to see all the repositories owned\n\u003e by a particular user, as opposed to getting a single, specific repository).  In cases like that,\n\u003e you'll need to explicitly pass in `$null` as the relevant parameter value as a temporary override\n\u003e for your default if you've set a default for one (or both) of these values.\n\nThere are more great configuration options available.  Just review the help for that command for\nthe most up-to-date list!\n\n### GitHub Enterprise\n\nTo set the configuration to use a GitHub Enterprise server instead of GitHub.com, simply supply\nthe `ApiHostName` parameter with the hostname of your GitHub Enterprise server.\n\n ```powershell\nSet-GitHubConfiguration -ApiHostName \"github.contoso.com\"\n```\n\n----------\n\n## Usage\n\nExample command:\n\n```powershell\n$issues = Get-GitHubIssue -Uri 'https://github.com/microsoft/PowerShellForGitHub'\n```\n\nFor more example commands, please refer to [USAGE](USAGE.md#examples).\n\n----------\n\n## Developing and Contributing\n\nPlease see the [Contribution Guide](CONTRIBUTING.md) for information on how to develop and\ncontribute.\n\nIf you have any problems, please consult [GitHub Issues](https://github.com/microsoft/PowerShellForGitHub/issues)\nto see if has already been discussed.\n\nIf you do not see your problem captured, please file [feedback](CONTRIBUTING.md#feedback).\n\n----------\n\n## Legal and Licensing\n\nPowerShellForGitHub is licensed under the [MIT license](LICENSE).\n\n----------\n\n## Governance\n\nGovernance policy for this project is described [here](GOVERNANCE.md).\n\n----------\n\n## Code of Conduct\n\nFor more info, see [CODE_OF_CONDUCT](CODE_OF_CONDUCT.md)\n\n----------\n\n## Reporting Security Issues\n\nPlease refer to [SECURITY.md](./SECURITY.md).\n\n----------\n\n## Privacy Policy\n\nFor more information, refer to Microsoft's [Privacy Policy](https://go.microsoft.com/fwlink/?LinkID=521839).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fpowershellforgithub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fpowershellforgithub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fpowershellforgithub/lists"}