使用github cli与终端中的github操作一起工作

2021-04-16 00:51:22

GH通过帮助开发人员管理拉动请求,问题,GIST等,将Github带到命令行。截至1.9.0,您的终端提供了更多GitHub:GitHub操作。

由于在他最近的博客文章中,它已经可以从GitHub操作中使用GH的伟大事项。现在,您可以使用两个新的顶级命令,从您自己的本地终端的舒适度获得工作流程和文件的洞察:GH运行和GH工作流程。

尽管我们努力编写良好和真实的代码,但建立有时会失败。可以快速地了解使用GH PR检查可能对打开的拉拔请求失败的内容,但这没有帮助了解工作流程在整个存储库中运行。使用新的GH运行列表,您会收到所有类型的工作流程概述,无论是通过推动,拉拔请求,WEBHOOK或手动事件触发它们。

我们更容易留在进步的过程中,使用GH运行手表运行,您可以用来遵循,因为工作流程运行执行或与其他工具合并以提醒您运行完成时。将GH运行手表与Ubuntu一起组合,如notify-send这样的命令意味着更多的时间从键盘上徘徊,并在宠物一只猫或凝视植物时做点什么。

要深入了解单个运行的细节,您可以使用GH运行视图,可选地作为作业的各个步骤进行详细信息。例如,您可能想知道Linter在某些代码上失败的原因:

对于更神秘的失败,您可以将一个工具与GH Run View --log相结合,以在运行的整个日志输出中搜索。这可以帮助您在构建矩阵上调试失败。例如,我可以在这里看到恐慌是在Ubuntu和MacoS上发生的,但不是在Windows上:

如果--log是太多的信息,GH运行--Log-失败将仅输出失败的单个步骤的日志行。这对于实现失败的步伐来说,这很好而不是必须自己运行grep。为了说明,在这里我使用--log-deply-deply才能看到日志输出失败而不是每一步的日志输出:

GH运行还知道工作流程运行期间生成的工件,并可以帮助发现和检索它们。

要下载工件,您可以通过GH运行下载-N TPS-Report或通过交互式选择器来选择它们:

最后,如果你怀疑一个跑步可能间歇性或只是真正喜欢观看事情失败,你现在可以重新运行而不离开你的终端使用gh运行rerun:

GitHub操作中的运行由yaml格式的工作流文件定义,其存储库中的Github / Workflows。工作流文件描述了工作流的名称,行为,以及事件类型的事件会导致运行的工作流程。

使用GH Workflow View,您可以获得最近运行的工作流程摘要,以帮助确保它正在做您想要的。要提醒自己的工作流程,GH工作流程视图--yaml将打印出来,用漂亮的颜色。

有时工作流程被打破或正在进行中。为了方便地管理它们而无需完全从存储库中删除,您现在可以使用GH工作流使能和GH工作流禁用:

虽然通过拉请求或推送分支触发许多工作流程运行,但是可以使用WorkFlow_Dispatch事件在命令上运行工作流文件。

您可能希望在命令中运行工作流,以在存储库中执行清理任务,或者您可能会设置手动调度的工作流程,而仍然是一项正在进行的工作。支持此事件的工作流程现在可以使用GH Workflow运行从命令行触发,使其与脚本工作流程更方便,并脚本工作流程工作流程。

要了解GHOWORFLIM运行如何帮助工作流文件开发,我将展示它如何适应工具链的示例。我想在输入的拉拔请求上运行一些自动化,以确保它们符合某些标准。这是一个名为pr-check.yml的工作流文件,检查传入的拉请求是否有一个主体:

姓名:拉请求核心核:Workflow_dispatch:输入:Body:Default:""测试:默认:"假" pull_request_target:作业:check-body-length:runs-on:ubuntu-lestal步骤: - 名称:check env:prnum:$ {{github.event.pull_request.number}} prbody:$ {github.event.pull_request。 Body}}验证组:$ {{github.event.inputs.body}} test:$ {github.event.inputs.test}}运行:|如果[" $ test" ="真" ] prbody = $ testbody fi注释:{如果[" $ test" ="真" ]然后回声"会发表评论:' $ {1}'"否则gh pr评论$ prnum -b" $ {1}" fi}如果[" $ prbody" ="" ]然后评论"谢谢!请添加一个正文,以便我们更好地审查您的贡献。" FI.

它响应Pull_Request_target和Workflow_Dispatch,这意味着只要在我的存储库上打开拉动请求或手动调用它时,它将运行。

手动调用时,它接受一个允许检查模拟拉动请求体的测试输入。我可以像这样运行它:

我可以检查GH Run View --log的输出,以确保代码表现正常。由于我在命令行上,这个过程可以进一步脚本或简化与别名。

能够在我的终端开始以编程方式运行此工作流程,因为我的工作让我感觉更好地修改if [$ prbody = true]条件,以做更多复杂的事情。

让我们知道在我们的讨论论坛中使用GH运行和GH工作流程! 我们很高兴能够迭代这一新的一体化,并渴望反馈。 你是GitHub Cli的新手吗? 今天安装它。 在未来,我们希望使其更加容易作者和部署工作流文件,但是现在我们希望您希望您在GitHub 1.9.0中享受新的一切。