All Projects → microsoft → Powershellforgithub

microsoft / Powershellforgithub

Licence: other
Microsoft PowerShell wrapper for GitHub API

Programming Languages

powershell
5483 projects

Projects that are alternatives of or similar to Powershellforgithub

Golang Gin Realworld Example App
Exemplary real world application built with Golang + Gin
Stars: ✭ 1,780 (+428.19%)
Mutual labels:  api, best-practices
Laravel Blog
Laravel 8.0 blog application with Vue.js, Homestead, Horizon, Telescope and Pusher
Stars: ✭ 1,248 (+270.33%)
Mutual labels:  api, best-practices
Go Api Boilerplate
Go Server/API boilerplate using best practices DDD CQRS ES gRPC
Stars: ✭ 373 (+10.68%)
Mutual labels:  api, best-practices
Lumen Api Starter
Lumen 8 基础上扩展出的API 启动项目,精心设计的目录结构,规范统一的响应数据格式,Repository 模式架构的最佳实践。
Stars: ✭ 197 (-41.54%)
Mutual labels:  api, best-practices
Guides
Design and development guides
Stars: ✭ 1,880 (+457.86%)
Mutual labels:  api, best-practices
Ipfs Mini
A super tiny module for querying IPFS that works in the browser and node.
Stars: ✭ 115 (-65.88%)
Mutual labels:  api, module
Currencyviewer
Short python framework that dynamically displays and converts the cryptocurrencies in your Kraken wallet into equivalents fiat money.
Stars: ✭ 13 (-96.14%)
Mutual labels:  api, module
Mis
模块接口服务,如何在一个模块内维护其对外暴露的接口(包括打包发布),而不是把接口和接口实现分离到两个不同的模块?
Stars: ✭ 124 (-63.2%)
Mutual labels:  api, module
The Rest Architectural Style
An article on the REST architecture style.
Stars: ✭ 168 (-50.15%)
Mutual labels:  api, best-practices
Api on rails
Learn best practices to build an API using Ruby on Rails 5/6
Stars: ✭ 236 (-29.97%)
Mutual labels:  api, best-practices
Airtable Python Wrapper
Python Airtable Client Wrapper
Stars: ✭ 328 (-2.67%)
Mutual labels:  api
The Seo Framework
The SEO Framework WordPress plugin.
Stars: ✭ 329 (-2.37%)
Mutual labels:  api
Beeva Best Practices
Best Practices and Style Guides in BEEVA
Stars: ✭ 335 (-0.59%)
Mutual labels:  best-practices
Tensorflow Project Template
A best practice for tensorflow project template architecture.
Stars: ✭ 3,466 (+928.49%)
Mutual labels:  best-practices
Seat
🌀✳️ SeAT: A Simple, EVE Online API Tool and Corporation Manager
Stars: ✭ 324 (-3.86%)
Mutual labels:  api
Laravel Api
Laravel API starter Kit will provide you with the tools for making API's that everyone will love
Stars: ✭ 334 (-0.89%)
Mutual labels:  api
Ccxt
A JavaScript / Python / PHP cryptocurrency trading API with support for more than 100 bitcoin/altcoin exchanges
Stars: ✭ 22,501 (+6576.85%)
Mutual labels:  api
Api Guidelines
Microsoft REST API Guidelines
Stars: ✭ 17,897 (+5210.68%)
Mutual labels:  api
Wp Graphql Woocommerce
Add WooCommerce support and functionality to your WPGraphQL server
Stars: ✭ 318 (-5.64%)
Mutual labels:  api
Microservices Book
"Microservices Architecture for eCommerce" is an Open Source Book on Microservices and Headless eCommerce. Feel invited to contribute! Read online or download a PDF
Stars: ✭ 337 (+0%)
Mutual labels:  best-practices

PowerShellForGitHub PowerShell Module

[GitHub version] powershellgallery downloads GitHub code size in bytes downloads CII Best Practices tweet
Build status Azure DevOps tests Azure DevOps coverage
Help Wanted Issues GitHub last commit

Table of Contents


Overview

This is a PowerShell module that provides stateless command-line interaction and automation for the GitHub v3 API.

Embracing the benefits of PowerShell, it has full support for pipelining, allowing you pipe the output of virtually any command into any other command within the module.


What's New

Check out CHANGELOG.md to review the details of the current release as well as all past releases.


Current API Support

At present, this module can:

Development is ongoing, with the goal to add broad support for the entire API set.

For a comprehensive look at what work is remaining to be API Complete, refer to Issue #70.

Review examples to see how the module can be used to accomplish some of these tasks.


Installation

You can get latest release of the PowerShellForGitHub on the PowerShell Gallery

Install-Module -Name PowerShellForGitHub

Configuration

To avoid severe API rate limiting by GitHub, you should configure the module with your own personal access token.

  1. Create a new API token by going to https://github.com/settings/tokens/new (provide a description and check any appropriate scopes)
  2. Call Set-GitHubAuthentication, enter anything as the username (the username is ignored but required by the dialog that pops up), and paste in the API token as the password. That will be securely cached to disk and will persist across all future PowerShell sessions. If you ever wish to clear it in the future, just call Clear-GitHubAuthentication).

For automated scenarios (like GithHub Actions) where you are dynamically getting the access token needed for authentication, refer to Example 2 in Get-Help Set-GitHubAuthentication -Examples for how to configure in a promptless fashion.

Alternatively, you could configure PowerShell itself to always pass in a plain-text access token to any command (by setting $PSDefaultParameterValues["*-GitHub*:AccessToken"] = "<access token>"), although keep in mind that this is insecure (any other process could access this plain-text value).

A number of additional configuration options exist with this module, and they can be configured for just the current session or to persist across all future sessions with Set-GitHubConfiguration. For a full explanation of all possible configurations, run the following:

Get-Help Set-GitHubConfiguration -ShowWindow

For example, if you tend to work on the same repository, you can save yourself a lot of typing by configuring the default OwnerName and/or RepositoryName that you work with. You can always override these values by explicitly providing a value for the parameter in an individual command, but for the common scenario, you'd have less typing to do.

Set-GitHubConfiguration -DefaultOwnerName PowerShell
Set-GitHubConfiguration -DefaultRepositoryName PowerShellForGitHub

Be warned that there are some commands where you may want to only ever supply the OwnerName (like if you're calling Get-GitHubRepository and want to see all the repositories owned by a particular user, as opposed to getting a single, specific repository). In cases like that, you'll need to explicitly pass in $null as the relevant parameter value as a temporary override for your default if you've set a default for one (or both) of these values.

There are more great configuration options available. Just review the help for that command for the most up-to-date list!

GitHub Enterprise

To set the configuration to use a GitHub Enterprise server instead of GitHub.com, simply supply the ApiHostName parameter with the hostname of your GitHub Enterprise server.

Set-GitHubConfiguration -ApiHostName "github.contoso.com"

Usage

Example command:

$issues = Get-GitHubIssue -Uri 'https://github.com/microsoft/PowerShellForGitHub'

For more example commands, please refer to USAGE.


Developing and Contributing

Please see the Contribution Guide for information on how to develop and contribute.

If you have any problems, please consult GitHub Issues to see if has already been discussed.

If you do not see your problem captured, please file feedback.


Legal and Licensing

PowerShellForGitHub is licensed under the MIT license.


Governance

Governance policy for this project is described here.


Code of Conduct

For more info, see CODE_OF_CONDUCT


Reporting Security Issues

Please refer to SECURITY.md.


Privacy Policy

For more information, refer to Microsoft's Privacy Policy.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].