PR引发时触发jenkins构建

问题描述 投票:0回答:1

当在github中引发PR时,我已经经历了许多关于触发Jenkins构建的帖子。

我已经检查了jenkins工作中的Git hub Pull Request Builder选项,还提供了${sha1}作为分支。除此之外,我在我的回购中添加了webhook和jenkins Github插件作为服务。

这里还有其他任何错过的东西。当PR被提升时,我没有看到构建被触发。

github jenkins-plugins webhooks pull-request
1个回答
2
投票

你可以使用Generic Webhook Trigger Plugin来做到这一点。

在GitHub中设置webhook。 enter image description here

使用表达式$ .action配置带有变量操作的Generic Webhook Trigger Plugin

将过滤器文本配置为$ action,将过滤器regexp配置为:^(打开|重新打开|同步)$

现在,只要打开PR,重新打开或推送新提交,此任务就会运行。

您还可以从webhook中选择其他值,例如:

  | variable        | expression                       | expressionType  | defaultValue | regexpFilter  |
  | action          | $.action                         | JSONPath        |              |               |
  | pr_id           | $.pull_request.id                | JSONPath        |              |               |
  | pr_state        | $.pull_request.state             | JSONPath        |              |               |
  | pr_title        | $.pull_request.title             | JSONPath        |              |               |
  | pr_from_ref     | $.pull_request.head.ref          | JSONPath        |              |               |
  | pr_from_sha     | $.pull_request.head.sha          | JSONPath        |              |               |
  | pr_from_git_url | $.pull_request.head.repo.git_url | JSONPath        |              |               |
  | pr_to_ref       | $.pull_request.base.ref          | JSONPath        |              |               |
  | pr_to_sha       | $.pull_request.base.sha          | JSONPath        |              |               |
  | pr_to_git_url   | $.pull_request.base.repo.git_url | JSONPath        |              |               |
  | repo_git_url    | $.repository.git_url             | JSONPath        |              |               |

这里有一个显示此功能的测试用例:https://github.com/jenkinsci/generic-webhook-trigger-plugin/blob/master/src/test/resources/org/jenkinsci/plugins/gwt/bdd/github/github-pull-request.feature

© www.soinside.com 2019 - 2024. All rights reserved.