JenkinsQueueJob@2 - Jenkins 队列作业 v2 任务

使用此任务在 Jenkins 服务器上对作业进行排队。

语法

# Jenkins queue job v2
# Queue a job on a Jenkins server.
- task: JenkinsQueueJob@2
  inputs:
    serverEndpoint: # string. Required. Jenkins service connection. 
    jobName: # string. Required. Job name. 
    #isMultibranchJob: false # boolean. Job is of multibranch pipeline type. Default: false.
    #multibranchPipelineBranch: # string. Required when isMultibranchJob = true. Multibranch pipeline branch. 
    #captureConsole: true # boolean. Capture console output and wait for completion. Default: true.
    #capturePipeline: true # boolean. Optional. Use when captureConsole = true. Capture pipeline output and wait for pipeline completion. Default: true.
  # Advanced
    #isParameterizedJob: false # boolean. Alias: parameterizedJob. Parameterized job. Default: false.
    #jobParameters: # string. Optional. Use when parameterizedJob = true. Job parameters. 
    #failOnUnstableResult: false # boolean. Fail on unstable result. Default: false.
    #retryCount: '3' # string. Number of retries for failed connection. Default: 3.
    #delayBetweenRetries: '60' # string. Time between retries. Default: 60.
# Jenkins queue job v2
# Queue a job on a Jenkins server.
- task: JenkinsQueueJob@2
  inputs:
    serverEndpoint: # string. Required. Jenkins service connection. 
    jobName: # string. Required. Job name. 
    #isMultibranchJob: false # boolean. Job is of multibranch pipeline type. Default: false.
    #multibranchPipelineBranch: # string. Required when isMultibranchJob = true. Multibranch pipeline branch. 
    #captureConsole: true # boolean. Capture console output and wait for completion. Default: true.
    #capturePipeline: true # boolean. Optional. Use when captureConsole = true. Capture pipeline output and wait for pipeline completion. Default: true.
  # Advanced
    #isParameterizedJob: false # boolean. Alias: parameterizedJob. Parameterized job. Default: false.
    #jobParameters: # string. Optional. Use when parameterizedJob = true. Job parameters.

输入

serverEndpoint - Jenkins 服务连接
string。 必填。

指定 Jenkins 实例的服务连接。 单击“管理”链接创建新的 Jenkins 服务连接。


jobName - 作业名称
string。 必填。

要排队的 Jenkins 作业的名称。 这必须与 Jenkins 服务器上的作业名称完全匹配。


isMultibranchJob - 作业是多台管道类型
boolean。 默认值:false

此作业是多台管道。 如果指定,请添加相应的分支名称。 此输入需要适用于 Jenkins v5.3.4 或更高版本的 Team Foundation Server 插件。


multibranchPipelineBranch - 多分支管道分支
stringisMultibranchJob = true时是必需的。

将此多分支管道作业排在指定的分支上。 此输入需要适用于 Jenkins v5.3.4 或更高版本的 Team Foundation Server 插件。


captureConsole - 捕获控制台输出并等待完成
boolean。 默认值:true

如果指定,此输入将捕获 Jenkins 生成控制台输出,等待 Jenkins 生成完成,并基于 Jenkins 生成结果成功/失败。 否则,一旦 Jenkins 作业排队,此任务就会成功完成,而无需等待 Jenkins 生成运行。


capturePipeline - 捕获管道输出并等待管道完成
boolean。 可选。 当 captureConsole = true时使用。 默认值:true

如果指定,此任务将捕获完整的 Jenkins 生成管道控制台输出,等待完整的 Jenkins 生成管道完成,并根据 Jenkins 生成管道结果成功/失败。 否则,一旦第一个 Jenkins 作业完成,此任务就会成功完成,而无需等待完整的 Jenkins 生成管道运行。


isParameterizedJob - 参数化作业
输入别名:parameterizedJobboolean。 默认值:false

指定 Jenkins 作业是否接受参数。 即使使用所有默认参数值且实际未指定任何参数,也使用此输入。


jobParameters - 作业参数
string。 可选。 当 parameterizedJob = true时使用。

<parameterName>=<parameterValue>格式指定每行一行的作业参数。

若要将参数设置为空值,这对于重写默认值很有用,请保留参数值。 例如,指定 parameterName=

支持变量。 若要将 commitId 参数值设置为生成的 Git 提交 ID,例如,可以使用:commitId=$(Build.SourceVersion)。 有关详细信息,请参阅有关变量 文档。

支持的 Jenkins 参数类型包括:

  • Boolean
  • Choice
  • Password
  • String

failOnUnstableResult - 在不稳定的结果 失败
boolean。 默认值:false

指定成功定义的严格性,或者是否将不稳定视为失败。 false 值为非严格版本,true 用于严格版本。 如果设置为 true,则不稳定生成结果被视为失败。 否则,不稳定的结果被视为成功。


retryCount - 失败的连接重试次数
string。 默认值:3

指定发生连接失败或错误时的连接重试次数。


重试之间的 delayBetweenRetries - 时间
string。 默认值:60

指定发生错误时连接重试之间的时间量。 以秒为单位指定此值。


任务控制选项

除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 控件选项和常见任务属性

输出变量

此任务定义以下 输出变量,可以在下游步骤、作业和阶段中使用。

JENKINS_JOB_ID
此任务排队的 Jenkins 作业实例的 ID。 在 Jenkins 下载项目任务中使用此变量下载此特定作业实例的项目。

注解

使用此任务在 Jenkins 服务器上对作业进行排队。

Team Foundation Server 插件

可以使用 Team Foundation Server 插件(版本 5.2.0 或更高版本)自动从 Jenkins 工作区收集文件并将其下载到生成中。

设置它:

  1. 在 Jenkins 服务器上安装 Team Foundation Server 插件

  2. 在 Jenkins 服务器上,对于要从中收集结果的每个作业,请添加 收集 Azure Pipelines/TFS 的结果 生成后作,然后使用一个或多个结果类型对对其进行配置,并包括文件模式。

  3. 在 Jenkins 队列作业上,生成任务启用 捕获控制台输出,并等待完成 从根级别作业收集结果,或 捕获管道输出并等待管道完成 从所有管道作业收集结果。

结果将下载到 $(Build.StagingDirectory)/jenkinsResults/Job Name/team-results.zip 并提取到此位置。 插件收集的每个结果类型都将位于团队结果目录下,$(Build.StagingDirectory)/jenkinsResults/Job Name/team-results/ResultType/。 这是下游任务(例如发布测试结果和发布代码覆盖率结果)可以发布的生成结果的目录。

要求

要求 说明
管道类型 YAML,经典版本,经典版本
运行时间 代理,DeploymentGroup
需求 没有
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任何
Settable 变量 任何
代理版本 2.144.0 或更高版本
任务类别 建造
要求 说明
管道类型 YAML,经典版本,经典版本
运行时间 代理,DeploymentGroup
需求 没有
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任何
Settable 变量 任何
代理版本 所有支持的代理版本。
任务类别 建造