【问题标题】:How to capture github-cli pr list如何捕获 github-cli pr 列表
【发布时间】:2021-11-05 09:49:30
【问题描述】:

我想在一个 shell 脚本中捕获结果

output=$(gh pr list --search "review:required user-review-requested:@me")
echo "output : $output"

不幸的是输出是空的。

我尝试设置寻呼机但未能正确设置。

gh config set pager more
gh config set pager cat
gh config set pager ''

你有什么线索吗?

【问题讨论】:

    标签: github-cli


    【解决方案1】:

    您是否正在尝试查询您在本地克隆的 repo?

    如果是这样

    output=$(gh pr list --search "review-requested:@me")
    echo ${output}
    ...lists prs requested from me...
    

    (该查询源自 UI 中列出的 https://github.com/pulls/review-requested 查询)

    还是整个 github?

    如果尝试在所有 github 中列出,您需要做一些稍微不同的事情,因为上面的 API 是特定于 repo 的

    如果您想获取所有存储库中的拉取请求列表,您可以直接使用gh api,这实际上提供了帮助 以search/issues 为例。 GH 命名法中的拉取请求是特定类型的问题(问题和 PR 编号来自同一个枚举)。

    从您的问题中没有完全理解您想要列出的关于 PR 的内容。

    转储json中的所有数据:

    gh api -X GET search/issues -f q='review:required user-review-requested:@me'
    

    如果您想将其缩小到 PR URL 列表,您可以添加一个 `jq 表达式:

    gh api -X GET search/issues \
        -f q='review:required user-review-requested:@me' \
        --jq '.items[].html_url'
    

    [澄清问题后,可以继续讨论您想在output 中看到的具体内容]

    【讨论】:

    • 使用以下命令行(在 zsh 上)output=$(gh pr list --search "review-requested:@me") && echo "--${output}--" 我得到了----
    • 顺便说一句,您的最后一个解决方案运行良好?output=$(gh api -X GET search/issues -f q='review:required user-review-requested:@me') && echo "$output" 让我{"total_count":0,"incomplete_results":false,"items":[]} 所以?
    • @Tyteck 如果您尝试获取某个特定 repo 或跨 github 的结果,我仍然没有关注。
    • 我想获得所有回购的所有 PR。最终我想在github.com/pulls/review-requested 上获得与您相同级别的信息。
    • 所以是的,在这种情况下,我认为唯一的选择是我的答案的第二部分中的 REST API 位作为gh pr(如果不是所有子命令除了api)似乎是代表具体的。
    猜你喜欢
    • 2021-12-13
    • 1970-01-01
    • 2022-01-19
    • 2022-11-11
    • 2021-06-06
    • 1970-01-01
    • 2019-01-27
    • 2020-04-10
    • 1970-01-01
    相关资源
    最近更新 更多