{{ DESCRIPTION }}
项目描述
# datapackage-pipelines-github
为 `datapackage-pipelines` 提供从GitHub拉取内容的扩展。
- **管道和处理器代码** 将从特定分支中拉取
- **问题** 将以标题和描述的形式呈现,作为 '无法启动' 管道。
- **拉取请求** 将显示并执行,基于定义预定义策略的
- 是否应从PR中拉取管道规范
- 是否应从PR中拉取处理器代码
- 执行PR时允许运行哪些处理器
您可以为本地PR(来自同一分支)或远程PR(来自另一个分支)定义单独的策略
注意:当从PR中拉取代码时,我们只会拉取从管道规范中引用的
处理器,并位于与 `pipeline-spec.yaml` 文件相同的目录中。
## 源规范
在您的管道目录中放置名为 `github.source-spec.yaml` 的文件。
每个文件都应该具有以下形式
```yaml
<pipeline-id-prefix>
repository: <owner/repo>
base-path: <在哪里查找管道和代码。默认为 'pipelines/'>
code: <if not present, won't fetch code. set to {} to use the defaults>
ref: <which branch/commit to use to get code from. default is 'master>
issues: <if not present, won't fetch issues. set to {} to use the defaults>
closed: <boolean, should fetch closed issues? default is no>
pipeline-id-format: <string, see below>
pull-requests: <if not present, won't fetch prs. set to {} to use the defaults>
本地:<本地PR策略>
规格:<布尔值,是否拉取管道规格?默认为是>
代码:<布尔值,是否从PR中拉取代码?默认为是>
disallow-processors:<不允许在PR中运行的处理器?默认为 ["dump\..*"]>
- <处理器名称的正则表达式>
远程:<远程PR策略,与本地相同>
规格:<布尔值,是否拉取管道规格?默认为是>
代码:<布尔值,是否从PR中拉取代码?默认为否>
disallow-processors:<不允许在PR中运行的处理器?默认为 ["dump\..*"]>
- <处理器名称的正则表达式>
pipeline-id-format: <string, see below>
```
`pipeline-id-format` 是一个包含两个占位符的 Python 格式字符串
- `issue-id`:问题/PR编号
- `title-slug`:问题标题缩写
问题的默认格式为 "issue/{issue-id:03}_{title-slug}"
PR的默认格式为 "pr/{pr-id:03}_{title-slug}"
#### 示例
```yaml
dpp-github
仓库:firctionlessdata/datapackage-pipelines-github
代码
ref: master
PRs
本地
规格:是
代码:是
disallow-processors
- "dump\..*"
远程
规格:否
pipeline-id-format: "{title-slug}__{issue-id}"
问题
关闭:否
pipeline-id-format: "{title-slug}__{issue-id}"
```
为 `datapackage-pipelines` 提供从GitHub拉取内容的扩展。
- **管道和处理器代码** 将从特定分支中拉取
- **问题** 将以标题和描述的形式呈现,作为 '无法启动' 管道。
- **拉取请求** 将显示并执行,基于定义预定义策略的
- 是否应从PR中拉取管道规范
- 是否应从PR中拉取处理器代码
- 执行PR时允许运行哪些处理器
您可以为本地PR(来自同一分支)或远程PR(来自另一个分支)定义单独的策略
注意:当从PR中拉取代码时,我们只会拉取从管道规范中引用的
处理器,并位于与 `pipeline-spec.yaml` 文件相同的目录中。
## 源规范
在您的管道目录中放置名为 `github.source-spec.yaml` 的文件。
每个文件都应该具有以下形式
```yaml
<pipeline-id-prefix>
repository: <owner/repo>
base-path: <在哪里查找管道和代码。默认为 'pipelines/'>
code: <if not present, won't fetch code. set to {} to use the defaults>
ref: <which branch/commit to use to get code from. default is 'master>
issues: <if not present, won't fetch issues. set to {} to use the defaults>
closed: <boolean, should fetch closed issues? default is no>
pipeline-id-format: <string, see below>
pull-requests: <if not present, won't fetch prs. set to {} to use the defaults>
本地:<本地PR策略>
规格:<布尔值,是否拉取管道规格?默认为是>
代码:<布尔值,是否从PR中拉取代码?默认为是>
disallow-processors:<不允许在PR中运行的处理器?默认为 ["dump\..*"]>
- <处理器名称的正则表达式>
远程:<远程PR策略,与本地相同>
规格:<布尔值,是否拉取管道规格?默认为是>
代码:<布尔值,是否从PR中拉取代码?默认为否>
disallow-processors:<不允许在PR中运行的处理器?默认为 ["dump\..*"]>
- <处理器名称的正则表达式>
pipeline-id-format: <string, see below>
```
`pipeline-id-format` 是一个包含两个占位符的 Python 格式字符串
- `issue-id`:问题/PR编号
- `title-slug`:问题标题缩写
问题的默认格式为 "issue/{issue-id:03}_{title-slug}"
PR的默认格式为 "pr/{pr-id:03}_{title-slug}"
#### 示例
```yaml
dpp-github
仓库:firctionlessdata/datapackage-pipelines-github
代码
ref: master
PRs
本地
规格:是
代码:是
disallow-processors
- "dump\..*"
远程
规格:否
pipeline-id-format: "{title-slug}__{issue-id}"
问题
关闭:否
pipeline-id-format: "{title-slug}__{issue-id}"
```