pipeline context |
pipeline |
object |
流水线运行相关的所有信息,此对象包含的属性包括:project_id、pipeline_id、run_number、timestamp、trigger_type和run_id。 |
- 内容示例
如下示例为一次手动运行的流水线包含的pipeline context信息。 {
"project_id": "6428c2e2b4b64affa14ec80896695c49",
"pipeline_id": "f9981060660249a3856f46c2c402f244",
"run_number": "168",
"timestamp": "20231016000004",
"trigger_type": "Manual",
"run_id": "c2f507f93510459190b543e47f6c9bec"
}
- 使用示例
如需在某个任务的输入中获取本次流水线运行的触发方式,可使用如下语法来获取。 ${{ pipeline.trigger_type }}
|
pipeline.project_id |
string |
当前流水线所属项目ID,同现有系统预定义参数PROJECT_ID。 |
pipeline.pipeline_id |
string |
当前流水线ID,同现有系统预定义参数PIPELINE_ID。 |
pipeline.run_number |
string |
流水线执行编号,同现有系统预定义参数PIPELINE_NUMBER。 |
pipeline.timestamp |
string |
流水线执行时间戳,同现有系统预定义参数TIMESTAMP。如:20211222124301。 |
pipeline.trigger_type |
string |
流水线触发类型,同现有系统预定义参数PIPELINE_TRIGGER_TYPE。 |
pipeline.run_id |
string |
流水线执行ID,同现有系统预定义参数PIPELINE_RUN_ID。 |
sources context |
sources |
object |
流水线运行的源相关的所有信息,此对象包含的属性包括:alias、repo_name、commit_id、commit_id_short、commit_message、repo_url、repo_type、repo_name、ssh_repo_url、tag、merge_id、source_branch和target_branch。 |
- 内容示例
如下示例为单代码源的流水线一次手动运行所包含的sources context信息,其中代码源别名为“my_repo”。 {
"my_repo": {
"commit_id": "dedb73bb9abfdaab7d810f2616bae9d2b6632ecc",
"commit_id_short": "dedb73bb",
"commit_message": "maven0529 更新 pipeline0615.yml",
"repo_url": "https://example.com/clsyz00001/maven0529.git",
"repo_type": "codehub",
"repo_name": "maven0529",
"ssh_repo_url": "git@example.com:clsyz00001/maven0529.git",
"target_branch": "master"
}
}
- 使用示例
如需在某个任务的输入中获取本次流水线运行的运行分支,可使用如下语法来获取。 ${{ sources.my_repo.target_branch }}
|
sources.<alias> |
object |
别名为alias对应的流水线源的所有信息,当流水线源定义别名时存在。 |
sources.<repo_name> |
object |
代码仓名称为repo_name的流水线代码源的所有信息,当代码源未定义别名时存在,包含属性同alias。 |
sources.<alias>.commit_id |
string |
执行时代码最后一次提交的ID,同现有系统预定义参数COMMIT_ID。 |
sources.<alias>.commit_id_short |
string |
执行时代码最后一次提交的短ID,同现有系统预定义参数COMMIT_ID_SHORT。 |
sources.<alias>.commit_message |
string |
执行时代码最后一次提交的message。 |
sources.<alias>.repo_url |
string |
代码仓地址(HTTPS),同现有系统预定义参数REPO_URL。 |
sources.<alias>.repo_type |
string |
代码仓类型。 |
sources.<alias>.repo_name |
string |
代码仓名称。 |
sources.<alias>.ssh_repo_url |
string |
代码仓地址(SSH)。 |
sources.<alias>.tag |
string |
标签触发时的标签名称。 |
sources.<alias>.merge_id |
string |
合并请求触发时的合并请求ID。 |
sources.<alias>.source_branch |
string |
合并请求触发时的源分支名称。 |
sources.<alias>.target_branch |
string |
MR时代表目标分支名称,否则代表运行分支名称。 |
env context |
name |
string |
自定义参数名称。 |
- 内容示例
如下示例为流水线一次运行包含的env context信息,包含了两个自定义参数。 {
"var_1": "val1",
"var_2": "val2"
}
- 使用示例
如需要在某个任务的输入中获取本次流水线运行的自定义参数“var_1”的值,可使用如下语法来获取。 ${{ env.var_1 }}
|
value |
string |
自定义参数值。 |
jobs context |
jobs |
object |
流水线运行的任务相关的信息,此对象包含的属性包括: job_id、status、outputs、output_name、metrics、metric_name。 |
- 内容示例
如下示例为流水线一次运行对应的jobs context信息,包含两个执行成功的任务,ID为“check_job”的任务的输出为两项指标,ID为“demo_job”的任务的输出为两项一般输出。 {
"check_job": {
"status": "COMPLETED",
"metrics": {
"critical": "0",
"major": "0"
}
},
"demo_job": {
"status": "COMPLETED",
"outputs": {
"output1": "val1",
"output2": "val2"
}
}
}
- 使用示例
如需要在后续任务的输入中获取本次运行的“demo_job”的输出“output1”的值,可使用如下语法来获取。 ${{ jobs.demo_job.outputs.output1 }}
|
jobs.<job_id> |
object |
ID为job_id的任务包含的所有信息。 |
jobs.<job_id>.status |
string |
任务的运行结果,取值结果为:INIT、QUEUED、RUNNING、CANCELED、COMPLETED、FAILED、PAUSED、IGNORED或UNSELECTED。 |
jobs.<job_id>.outputs |
object |
任务的运行一般输出。 |
jobs.<job_id>.outputs.<output_name> |
string |
任务的运行一般输出中output_name对应的值。 |
jobs.<job_id>.metrics |
object |
任务的运行指标输出。 |
jobs.<job_id>.metrics.<metric_name> |
string |
任务的运行指标输出中metric_name对应的值。 |