如何通过 jenkins 使用集线器自动创建 git 拉取请求?

How to automate creating a git pull-request using hub through jenkins?

我正在尝试设置一个 Jenkins 作业,它可以自动执行使用集线器创建拉取请求的作业。当我从终端 运行 命令时,我能够创建拉取请求,但是当我从我的 Jenkins Job

执行它时,它失败了

我在这里尝试实现的要点来自 Jenkins Job,我应该能够创建一个新分支,对该分支进行一些更改,将其推回回购,然后提出 PR 和使用 Pull-request URL.

向所有审阅者发送邮件

我发现 hub(git wrapper) 可以帮我解决这个问题,我将它安装在我的 CentOS 上并进行了所有必需的配置更改以使 hub 正常工作。当我从我的命令行执行命令时,它的工作就像一个魅力但是当我从我的 Jenkins 作业中 运行 它失败并出现禁止错误

HUB_VERBOSE=1 hub pull-request -m "<commit-msg>" -b "<master>" -h "<my-branch>" -r <reviewer>

预期:https://git.xxxx.com/<org>/<repo>/pull/34 但我得到

Authorization: token [REDACTED]
Accept: application/vnd.github.v3+json;charset=utf-8
Error getting current user: Get https://git.xxxx.com/api/v3/user: Forbidden

我能够通过取消设置我们的组织防火墙以及使用集线器命令的绝对路径来修复该解决方案