此插件是针对JIRA以Jenkins的集成,主要是利用Jira的webhooks功能向jenkins发送相就通知,从而来触发jenkins的Job功能。
此插件是jenkins插件,需要安装在jenkins中。
此插件会有一下特性
- 接受任意http的请求,接收地址是:<J
ENKINS_URL>/generic-webhook-trigger/invoke
- 提供参数值
- 用这些值作为变量触发生成构建
只有当提供的正则表达式与提取的变量匹配时,才有触发作业的可选功能。下面是一个示例,假设内容如下所示:
{ "before": "1848f1236ae15769e6b31e9c4477d8150b018453", "after": "5cab18338eaa83240ab86c7b775a9b27b51ef11d", "ref": "refs/heads/develop" }
然后可以有一个变量,从post内容解析,名为ref,类型为JSONPath,表达式类似于$.ref。
可选的筛选文本可以设置为$ref,筛选regexp设置为^(refs/heads/develop | refs/heads/feature/+)$,以便仅为develop和feature分支触发生成。
触发特定的Job
在多个作业中使用该插件时,将具有相同的URL触发器所有作业。如果只想触发某个作业,则可以:
- 使用token参数可以为不同的作业使用不同的令牌。仅使用令牌意味着只有具有该确切令牌的作业才会对该请求可见。这将提高性能并减少每次调用的响应。
- 或者,添加一些请求参数(或Head,或post内容)并使用regexp筛选器仅在该参数具有特定值时触发。
Token参数
有一个特殊的token
标记参数。提供时,调用将仅触发具有该确切标记的作业。token
还允许在没有任何其他身份验证凭据的情况下调用。
Token可以根据位置不同有以下格式
The token can be supplied as a:
- Request parameter:
curl -vs http://localhost:8080/jenkins/generic-webhook-trigger/invoke?token=abc123 2>&1 |
---|
- Token header:
curl -vs -H "token: abc123" http://localhost:8080/jenkins/generic-webhook-trigger/invoke 2>&1 |
---|
- Authorization header of type Bearer :
|
---|
白名单
白名单可以在Jenkins全局配置页面中配置。白名单将阻止任何未在此列表中配置的对插件的请求。主机可以为空,以允许任何静态IP、CIDR或范围,规则可以如下:
|
---|
默认值
插件可以配置为默认值。如下所示:
但如果手动执行作业(或重播pipeline),则不会使用此默认值。因为插件根本不会被调用。您可以通过检查“this job is parametized”来解决这个问题,并添加一个与在插件中配置的参数同名的参数,如下所示:
现在,当您手动触发作业、重播pipeline以及使用插件触发作业时,都将使用此默认值!
预构建步骤
如果需要在预构建步骤(如git clone)中解析值,则需要添加与变量同名的参数。