从CloudBees/Jenkins处获取拉取请求编号

从CloudBees/Jenkins处获取拉取请求编号,jenkins,cloudbees,Jenkins,Cloudbees,我在CloudBees有一份工作 向存储库生成拉取请求 它工作得很好,但我真正需要的是能够获取触发构建的pull请求号,以便在executeshell命令字段中使用。我确信CloudBees/Jenkins知道这一点,因为它在控制台输出中打印的第一行是 GitHub拉取请求#4给所有者/回购 但我还没能找到一种方法来轻松访问它。我找不到控制台日志的存储位置,而且它似乎也不是环境变量。我试着在ExecuteShellCommands字段中执行一个“env”,但它不在任何地方 如何从CloudBee

我在CloudBees有一份工作

向存储库生成拉取请求

它工作得很好,但我真正需要的是能够获取触发构建的pull请求号,以便在executeshell命令字段中使用。我确信CloudBees/Jenkins知道这一点,因为它在控制台输出中打印的第一行是

GitHub拉取请求#4给所有者/回购

但我还没能找到一种方法来轻松访问它。我找不到控制台日志的存储位置,而且它似乎也不是环境变量。我试着在ExecuteShellCommands字段中执行一个“env”,但它不在任何地方


如何从CloudBees/Jenkins获取pull请求号,以便在execute shell commands字段中使用?

假设您正在使用,您可以从构建原因(com.CloudBees.Jenkins.plugins.github#pull.GitHubPullRequestCause#number)中检索pull请求号。

我目前看不到好的方法。你可以试试

PR=$(curl -s "${BUILD_URL}api/xml?tree=description" | perl -n -e 'print("$1\n") if m{pull/(\d+)"}')

1.0-beta-3,刚刚发布到更新中心,为此定义了
$GIT\u PR\u NUMBER
(以及其他变量)。

并没有真正回答前面提到的问题。那么我如何在执行shell命令中实际使用它呢?我在上搜索了CloudBees文档,可以找到关于如何使用GitHubPullRequestCause的任何参考资料。这就是我到目前为止一直在做的事情
curl-sO$BUILD\uURL/consoleText;PR=$(head-1 consoleText | sed's/*pull request#\([0-9]*\)to.*/\1/');echo“恶心”
据我所知,目前没有更好的方法。我向CloudBees添加了一个功能请求。你能在这里补充一点细节吗。插件的名称。可能是如何安装它的链接。如何访问环境变量。那么我肯定会接受这个答案。谢谢这是添加到Jenkins插件还是CloudBees的东西?它在Jenkins插件中,但是一个专有插件,安装在DEV@cloudJenkins Enterprise用户也可以使用这些机器。