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.
# 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 - 多分支管道分支
string. 当 isMultibranchJob = 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,并提取到此位置。 插件收集的每组结果类型将位于 team-results 目录下,即 $(Build.StagingDirectory)/jenkinsResults/Job Name/team-results/ResultType/。 这是下游任务(例如,发布测试结果和发布代码覆盖率结果)可以在其中发布生成结果的目录。

要求

要求 说明
管道类型 YAML,经典内部版本,经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置的变量 任意
代理版本 2.144.0 或更高版本
任务类别 构建
要求 说明
管道类型 YAML,经典内部版本,经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置的变量 任意
代理版本 所有支持的代理版本。
任务类别 构建