Project Icon

PowerShellForGitHub

PowerShell模块实现GitHub API命令行交互和自动化

PowerShellForGitHub是一个用于GitHub v3 API的PowerShell模块,提供命令行交互和自动化功能。该模块支持完整的管道操作,可在命令间传递数据。它涵盖广泛的GitHub API功能,包括仓库管理、问题跟踪和拉取请求处理。模块安装配置简便,适用于个人和企业用户,可高效执行GitHub自动化任务。

PowerShellForGitHub PowerShell 模块

[GitHub 版本] powershellgallery 下载量 GitHub 代码大小(字节) 下载量 CII 最佳实践 推文
构建状态 Azure DevOps 测试 Azure DevOps 覆盖率
需要帮助的问题 GitHub 最后提交

目录


概述

这是一个 PowerShell 模块,提供无状态的命令行交互和自动化 GitHub v3 API

充分利用 PowerShell 的优势,它完全支持管道,允许你将几乎任何命令的输出通过管道传递到模块内的任何其他命令。


新特性

查看 CHANGELOG.md 以了解当前版本以及所有过去版本的详细信息。


当前 API 支持

目前,此模块可以:

  • 查询、创建、更新和删除 仓库,包括
    • 查询、创建和删除 分支,以及相关的分支保护规则。
    • 查询和创建新的 复刻
    • 查询和创建仓库中的 内容
    • 查询仓库中的语言和标签,以及查询/更新其主题。
    • 更改仓库所有权。
    • 查询、启用和禁用安全和漏洞警报。
    • 查询和设置 GitHub Actions 权限。
    • 查询、设置和移除团队权限。
    • 查询各种 流量报告,包括引荐来源和路径、页面浏览量和克隆次数。
  • 查询、创建、编辑、锁定/解锁 问题 及其所有相关属性:
  • 查询和创建 拉取请求
  • 查询 协作者
  • 查询 贡献者
  • 查询 组织 及其成员。
  • 查询和更新 用户
  • 查询、创建、编辑和删除 团队,以及查询其成员。
  • 查询、创建、编辑和删除 项目,以及 项目列项目卡
  • 查询、创建、编辑和删除 发布 及相关内容/资产。
  • 查询、创建、编辑、删除、复刻和(取消)标星 gist,以及 gist 评论。
  • 查询、编辑和删除问题和拉取请求上的 反应
  • 查询、创建、编辑和删除 部署环境
  • 其他功能:

开发仍在进行中,目标是为整个 API 集添加广泛支持。

要全面了解还有哪些工作需要完成以实现 API 完整性,请参阅 Issue #70

查看 示例 以了解如何使用该模块完成这些任务。


安装

你可以在 PowerShell Gallery 获取 PowerShellForGitHub 的最新版本

Install-Module -Name PowerShellForGitHub

配置

为避免 GitHub 严格的 API 速率限制,你应该使用自己的个人访问令牌配置模块。

  1. 通过访问 https://github.com/settings/tokens/new 创建新的 API 令牌(提供描述并选择任何适当的范围)
  2. 调用 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 的隐私政策

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号