流水线上下文
流水线上下文存储了流水线运行的实例、变量、任务等信息,每个上下文都是一个包含各种属性的对象。流水线上下文主要包括以下四类:
上下文 |
类型 |
说明 |
---|---|---|
pipeline |
object |
流水线运行相关的信息。 |
sources |
object |
流水线运行的源相关的信息。 |
env |
object |
流水线运行的自定义参数相关的信息。 |
jobs |
object |
流水线运行的已执行完成的任务相关的信息。 |
流水线上下文引用形式
${{ <context>.<attribute_name> }}
其中,context表示流水线上下文,attribute_name表示属性。
流水线上下文属性介绍
上下文 |
属性 |
类型 |
说明 |
示例 |
---|---|---|---|---|
pipeline context |
pipeline |
object |
流水线运行相关的所有信息,此对象包含的属性包括:project_id、pipeline_id、run_number、timestamp、trigger_type和run_id。 |
|
pipeline.project_id |
string |
当前流水线所属项目ID,同现有流水线系统预定义参数PROJECT_ID。 |
||
pipeline.pipeline_id |
string |
当前流水线ID,同现有流水线系统预定义参数PIPELINE_ID。 |
||
pipeline.run_number |
string |
流水线执行编号,同现有流水线系统预定义参数PIPELINE_NUMBER。 |
||
pipeline.timestamp |
string |
流水线执行时间戳,同现有流水线系统预定义参数TIMESTAMP,格式为yyyyMMddHHmmss。如: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.<alias> |
object |
别名为alias对应的流水线源的所有信息,当流水线源定义别名时存在。 |
||
sources.<repo_name> |
object |
代码仓名称为repo_name的流水线代码源的所有信息,当代码源未定义别名时存在,包含属性同alias。 |
||
sources.<alias>.commit_id |
string |
流水线执行前最后一次代码提交的CommitID,同现有流水线系统预定义参数COMMIT_ID。 |
||
sources.<alias>.commit_id_short |
string |
流水线执行前最后一次代码提交的CommitID的前8位,同现有流水线系统预定义参数COMMIT_ID_SHORT。 |
||
sources.<alias>.commit_message |
string |
流水线执行前最后一次代码提交的提交信息。 |
||
sources.<alias>.repo_url |
string |
代码仓地址(HTTPS),同现有流水线系统预定义参数REPO_URL。 |
||
sources.<alias>.repo_type |
string |
代码仓类型。如:codehub、gitlab、github、gitee、general_git。 |
||
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 |
自定义参数名称。 |
|
value |
string |
自定义参数值。 |
||
jobs context |
jobs |
object |
流水线运行的任务相关的信息,此对象包含的属性包括: job_id、status、outputs、output_name、metrics、metric_name。 |
|
jobs.<job_id> |
object |
ID为job_id的任务包含的所有信息。 |
||
jobs.<job_id>.status |
string |
任务的运行结果,取值结果为:INIT(初始化)、QUEUED(排队中)、RUNNING(运行中)、CANCELED(已中止)、COMPLETED(成功)、FAILED(失败)、PAUSED(暂停)、IGNORED(忽略)、SUSPEND(挂起)或UNSELECTED(未选择)。 |
||
jobs.<job_id>.outputs |
object |
任务的运行一般输出,即键值对形式的数据输出。 |
||
jobs.<job_id>.outputs.<output_name> |
string |
任务的运行一般输出的数据名称。 |
||
jobs.<job_id>.metrics |
object |
任务的运行指标输出。如:代码检查问题数、测试通过率等指标项。 |
||
jobs.<job_id>.metrics.<metric_name> |
string |
任务的运行指标输出的名称。 |