PowerShellForGitHub PowerShell 模块
目录
概述
这是一个 PowerShell 模块,提供无状态的命令行交互和自动化 GitHub v3 API。
充分利用 PowerShell 的优势,它完全支持管道,允许你将几乎任何命令的输出通过管道传递到模块内的任何其他命令。
新特性
查看 CHANGELOG.md 以了解当前版本以及所有过去版本的详细信息。
当前 API 支持
目前,此模块可以:
- 查询、创建、更新和删除 仓库,包括
- 查询、创建、编辑、锁定/解锁 问题 及其所有相关属性:
- 查询和创建 拉取请求
- 查询 协作者
- 查询 贡献者
- 查询 组织 及其成员。
- 查询和更新 用户
- 查询、创建、编辑和删除 团队,以及查询其成员。
- 查询、创建、编辑和删除 项目,以及 项目列 和 项目卡
- 查询、创建、编辑和删除 发布 及相关内容/资产。
- 查询、创建、编辑、删除、复刻和(取消)标星 gist,以及 gist 评论。
- 查询、编辑和删除问题和拉取请求上的 反应。
- 查询、创建、编辑和删除 部署环境
- 其他功能:
- 获取所有 行为准则 以及特定仓库的行为准则。
- 获取所有 GitHub 表情符号
- 获取 gitignore 模板
- 获取 常用许可证 以及特定仓库的许可证。
- 转换 markdown 为等效的 HTML
- 获取你当前的 API 使用 速率限制。
开发仍在进行中,目标是为整个 API 集添加广泛支持。
要全面了解还有哪些工作需要完成以实现 API 完整性,请参阅 Issue #70。
查看 示例 以了解如何使用该模块完成这些任务。
安装
你可以在 PowerShell Gallery 获取 PowerShellForGitHub 的最新版本
Install-Module -Name PowerShellForGitHub
配置
为避免 GitHub 严格的 API 速率限制,你应该使用自己的个人访问令牌配置模块。
- 通过访问 https://github.com/settings/tokens/new 创建新的 API 令牌(提供描述并选择任何适当的范围)
- 调用
Set-GitHubAuthentication
,输入任意用户名(用户名会被忽略,但弹出的对话框需要填写),并粘贴 API 令牌作为密码。这将安全地缓存到磁盘,并在所有未来的 PowerShell 会话中持续存在。 如果你将来想要清除它,只需调用Clear-GitHubAuthentication
)。
对于动态获取身份验证所需访问令牌的自动化场景(如GitHub Actions),请参考
Get-Help Set-GitHubAuthentication -Examples
中的示例2
,了解如何以无提示方式进行配置。另外,你_可以_通过设置
$PSDefaultParameterValues["*-GitHub*:AccessToken"] = "<访问令牌>"
来配置PowerShell本身,使其始终向任何命令传递明文访问令牌,但请注意这是不安全的(任何其他进程都可能访问这个明文值)。
这个模块还有许多额外的配置选项,可以通过Set-GitHubConfiguration
为当前会话或所有未来会话进行配置。要全面了解所有可能的配置,请运行以下命令:
Get-Help Set-GitHubConfiguration -ShowWindow
例如,如果你经常在同一个仓库上工作,可以通过配置默认的OwnerName和/或RepositoryName来节省大量输入。你始终可以在单个命令中通过显式提供参数值来覆盖这些默认值,但在常见场景中,你可以减少输入量。
Set-GitHubConfiguration -DefaultOwnerName PowerShell
Set-GitHubConfiguration -DefaultRepositoryName PowerShellForGitHub
请注意,某些命令中你可能只想提供OwnerName(比如当你调用
Get-GitHubRepository
并想查看特定用户拥有的所有仓库,而不是获取单个特定仓库时)。在这种情况下,如果你为这些值中的一个(或两个)设置了默认值,你需要显式传入$null
作为相关参数值,以暂时覆盖你的默认设置。
还有更多出色的配置选项可用。请查看该命令的帮助以获取最新的列表!
GitHub Enterprise
要将配置设置为使用GitHub Enterprise服务器而不是GitHub.com,只需使用ApiHostName
参数提供你的GitHub Enterprise服务器的主机名。
Set-GitHubConfiguration -ApiHostName "github.contoso.com"
使用方法
示例命令:
$issues = Get-GitHubIssue -Uri 'https://github.com/microsoft/PowerShellForGitHub'
更多示例命令,请参阅使用说明。
开发和贡献
请参阅贡献指南了解如何开发和贡献。
如果你遇到任何问题,请查看GitHub Issues以确认是否已经讨论过。
如果你没有看到你的问题,请提交反馈。
法律和许可
PowerShellForGitHub 使用 MIT 许可证授权。
治理
本项目的治理政策在此处描述。
行为准则
更多信息,请参阅行为准则。
报告安全问题
请参阅SECURITY.md。
隐私政策
更多信息,请参阅 Microsoft 的隐私政策。