trigger
coding-ci:trigger
在当前仓库中,触发另外一个仓库的自定义事件流水线。
# 适用事件
all
# 参数
# token
- type:
String
- required:
是
个人访问令牌。
判断有无目标仓库权限
# slug
- type:
String
- required:
是
目标仓库的完整路径,如:team/group/repo
。
# event
- type:
String
- required:
是
触发的自定义事件名,必须是 api_trigger
或 以api_trigger_
开头。
需要目标仓库配置了对应事件的流水线,才可以触发。
# branch
- type:
String
- required:
否
触发分支。默认为默认分支。
# env
- type: TriggerEnv
- required:
否
触发目标仓库流水线时的环境变量。
默认值中有如下环境变量,用户无法覆盖:
API_TRIGGER_REPO_SLUG
,含义同 CI 默认环境变量中的CODING_REPO_SLUG
API_TRIGGER_REPO_ID
,含义同 CI 默认环境变量中的CODING_REPO_ID
API_TRIGGER_USER
,含义同 CI 默认环境变量中的CODING_BUILD_USER
API_TRIGGER_BRANCH
,含义同 CI 默认环境变量中的CODING_BRANCH
API_TRIGGER_COMMIT
,含义同 CI 默认环境变量中的CODING_COMMIT
API_TRIGGER_COMMIT_SHORT
,含义同 CI 默认环境变量中的CODING_COMMIT_SHORT
# sync
- type:
Boolean
- required:
否
- default:
false
是否同步执行,同步模式下会等待本次 trigger
流水线执行成功后,再执行下一个任务。
# continueOnBuildError
- type:
Boolean
- required:
否
- default:
false
同步模式下,触发的流水线构建失败时,是否继续执行下个任务。
类型定义
TriggerEnv
{
[key: string]: string
}
# 输出结果
{
"code": 0,
"success": true, // 是否成功触发构建
"message": "success",
"data": {
"sn": "coding-ci-60-1547175336738"
},
"buildSuccess": true, // 触发的构建是否成功,此key仅在同步模式下存在
"lastJobExports": {}, // 触发的流水线最后一个job导出的环境变量
}
# 配置样例
# 基本使用
在当前仓库触发一个仓库 master
分支的事件名为 api_trigger_test
的流水线。
该流水线配置文件使用仓库 master
分支的 .coding-ci.yml
文件。
使用访问令牌 $TOKEN
查询用户是否有仓库权限。
master:
push:
- stages:
- name: trigger
type: coding-ci:trigger
imports: https://xxx/envs.yml
options:
token: $TOKEN
slug: a/b
branch: master
event: api_trigger_test