
# 配置事件触发
YAML流水线事件触发有两种配置方式：一种是[流水线源仅包含一个代码源]，另一种是[流水线源包含多个代码源]。这两种方式在层级上有所不同，但除此之外没有其他差别。
 #### 流水线源仅包含一个代码源
流水线源仅包含一个代码源时，不需要指定具体代码仓，默认关联到唯一的代码源。并且可以直接在on.merge_requests、on.push、on.tag_push中配置事件触发。
```
on:
    merge_requests:                               #MR事件触发
      types: [ merge, open, reopen, update ] 
      branches: [ 'master' ]
      branches-ignore: [ 'test' ] 
      paths: [ 'test' ] 
      paths-ignore: [ 'test2' ] 
      code-update: true  
    push:                                         #代码提交事件触发
      branches: [ 'master' ]
      branches-ignore: [ 'test' ] 
      paths: [ 'test' ]
      paths-ignore: [ 'test2' ] 
      tags: [ 'master' ]                          #创建Tag触发
      tags-ignore: [ 'test' ]
```
表1参数解释 
| 参数名             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|
| merge_requests  | 定义合并请求事件触发配置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| branches        | 分支包含。branches和branches-ignore的总数不能超过32个，且单个长度不得超过1024个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| branches-ignore | 分支排除。branches和branches-ignore的总数不能超过32个，且单个长度不得超过1024个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| paths           | 路径包含。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| paths-ignore    | 路径排除。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| types           | 事件触发类型，共包含以下五种。 - open：新建，合并请求创建时触发。  - merge：合并，合并请求合入时触发，该事件会同时触发代码提交事件。  - reopen：重新打开，合并请求重新打开时触发。  - update：更新，合并请求内容更新、设置更新或者源代码更新时触发。 - code-update：仅代码更新时触发，types选择update时生效。true表示只有代码变更会触发；false表示任何变更会触发。     |
| push            | 定义代码提交事件触发。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| tags            | 创建Tag触发。Tag包含。tags和tags-ignore的总数不能超过32个，且单个长度不得超过1024个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| tags-ignore     | 创建Tag触发。Tag排除。tags和tags-ignore的总数不能超过32个，且单个长度不得超过1024个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   
 #### 流水线源包含多个代码源
流水线源包含多个代码源时，需要在on.sources_identifier下配置。identifier为源的唯一标识。
```
on:
  sources: 
    phonix_sample:                                      #源唯一标识
      merge_requests:                                   #MR事件触发
        types: [ merge, open, reopen, update ] 
        branches: [ 'master' ]
        branches-ignore: [ 'test' ] 
        paths-ignore: [ 'test2' ] 
      push:                                             #代码提交事件触发
        branches: [ 'master' ]
        branches-ignore: [ 'test' ] 
        paths-ignore: [ 'test2' ] 
        tags: [ 'master' ]                              #创建Tag触发
        tags-ignore: [ 'test' ]
```
表2参数解释 
| 参数名             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|
| sources         | 多代码源场景下事件触发的配置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| phonix_sample   | 流水线源唯一标识，和sources下配置的代码源映射，不可配置产物源。仅支持大小写英文字母、数字、下划线，长度不超过128个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| merge_requests  | 定义合并请求事件触发配置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| branches        | 分支包含。branches和branches-ignore的总数不能超过32个，且单个长度不得超过1024个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| branches-ignore | 分支排除。branches和branches-ignore的总数不能超过32个，且单个长度不得超过1024个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| paths           | 路径包含。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| paths-ignore    | 路径排除。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| types           | 事件触发类型，共包含以下五种。 - open：新建，合并请求创建时触发。  - merge：合并，合并请求合入时触发，该事件会同时触发代码提交事件。  - reopen：重新打开，合并请求重新打开时触发。  - update：更新，合并请求内容更新、设置更新或者源代码更新时触发。 - code-update：仅代码更新时触发，types选择update时生效。true表示只有代码变更会触发；false表示任何变更会触发。     |
| push            | 定义代码提交事件触发。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| tag_push        | 定义创建Tag触发。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| tags            | 创建Tag触发。Tag包含。tags和tags-ignore的总数不能超过32个，且单个长度不得超过1024个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| tags-ignore     | 创建Tag触发。Tag排除。tags和tags-ignore的总数不能超过32个，且单个长度不得超过1024个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
