我正在编写一个持续集成步骤,在允许它们合并之前检查我们的拉取请求的标题以获取正确的标签和格式。
为此,我需要在给出PR编号时回显Pull Request的标题。有没有办法在命令行中执行此操作?
答案 0 :(得分:3)
建立@ Simon-Warta的答案,你可以做到以下几点:
git clone https://github.com/user_org/project.git
pushd project
for pr in $(git log --pretty="%s" --merges | grep pull | sed -e "s/.*#\([0-9]\+\).*/\1/g" | sort -rn | uniq); do
curl https://api.github.com/repos/user_org/project/pulls/${pr} 2>/dev/null | jq '.title';
done
popd
您的计算机上需要curl
和jq
,但如果您有合理的Linux发行版,这不应该很难。
答案 1 :(得分:1)
如果您使用的是github:
在.git/config
文件中找到github遥控器的部分。它看起来像这样:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@github.com:a.git
现在将行fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
添加到此部分。显然,更改github url以匹配项目的URL。最终看起来像这样:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@github.com:a.git
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
现在获取所有拉取请求:
$ git fetch origin
From github.com:ja
* [new ref] refs/pull/1000/head -> origin/pr/1000
* [new ref] refs/pull/1002/head -> origin/pr/1002
* [new ref] refs/pull/1004/head -> origin/pr/1004
* [new ref] refs/pull/1009/head -> origin/pr/1009
检查特定的提款请求:
$ git checkout pr/999
Branch pr/999 set up to track remote branch pr/999 from origin.
Switched to a new branch 'pr/999'
答案 2 :(得分:1)
对于拉取请求,请使用
https://api.github.com/repos/randombit/botan/pulls/359
对于拉取请求中的修补程序,请在Subject:
网址中搜索.patch
:
https://github.com/randombit/botan/pull/359.patch
请注意,您只能在Github API上执行60 request per hour and IP。
答案 3 :(得分:1)
使用Github的新官方CLI(命令行界面):
gh pr view 3 --repo OWNER/REPO | head -n 1
其中:
3
是PR号gh pr view [options]
显示标题(第一行),正文和有关PR的其他信息head -n 1
仅保留gh pr view
输出的第一行,以便仅获取标题