上一篇已经介绍了工程和脚本.下面我们将以具体的功能作为着手点, 展开对 project.yml 工程配置文件的讲解.

赘述 project.yml 使用周期

  • 文件来源: 运行跟目录下的 scanner.bat/sh 生成的.

  • 文件位置: .github\project.yml

  • 如何生效:

    • 1.更改 project.yml 中的节点配置.
    • 2.重新运行 scanner.bat/sh 使其生效.

issue 管道功能

1. issue 模板

在第一篇的介绍文章中我们已经看到了在提交 issue 是 github 提供了一个真实的 web 表单而非 markdown, 这些模板存放在 .github\NMS_TEMPLATE\ 下.
包括: bug.issue.template / feature.issue.template / feedback.issue.template.
如果您想魔改模板可以更改模板里的内容, 然后执行 scanner.bat/sh 使其生效, 脚本自动根据 .issue.template 生成真正生效的 yml 文件. 基于 issue.template 的操作是灵活的, 提供了几个变量可以基于 project.yml 文件进行修改,配置如下:

issues_template_configs:
- panel_name: " \U0001F41E 上报 BUG (Report bug)"
  file_name: bug
  panel_description: 烦请您帮助我们进步(Create a report to help us improve).
  pull_request_prefix: '[Bug]: '
  pull_request_labels:
  - name: bug
    description: Something isn't working.
    color: d73a4a
- panel_name: " \U0001F4A1 新的想法 (Feature request)"
  file_name: feature
  panel_description: 我知道您有一个比较赞的想法想和我说 (Suggest an idea for this project).
  pull_request_prefix: '[Feature]:'
  pull_request_labels:
  - name: enhancement
    description: New feature or request.
    color: a2eeef

这里单独说明以下 :

  • file_name : xxx, 这表明在模板目录下存在一个 xxx.issue.template 模板等待您配置. 也就是说 issues_template_configs 配置下的节点增加和删除依赖于 .github\NMS_TEMPLATE\ 文件夹下有多少个 xxx.issue.template 模板.

  • pull_request_prefix: '[Feature]:', 当您进入ISSUE 编辑页面时, 会在标题栏填充 [Feature]: 字符串作为前缀.

  • pull_request_labels: 故名思意, 在完成 issue 填写后, 为其打上什么标签.

其他配置对照两图可以看到每个变量控制的是什么地方, 变量名也很清除的表达了其配置含义.
更改之后请运行 scanner.bat/sh 使其生效, 然后提交代码到主分支.

注意: 当 project.yml 提交到主分支后,管道会启用 label 初始化功能, 配置文件中所有的 label 将被扫描.
如果已存在的 label 的值发生变化,则将更新此 label, 不存在的 label 将被创建.
因此您看到配置文件中的 label 都是完整信息的, 包括颜色/描述/名称, 有了这些信息方便创建和更新.

2. issue 推荐

该配置文件不在脚本配置范围内, 其文件地址为: .github\workflows\issue_recommend.yml, 所有推荐功能均使用 python 脚本, 原理是简单的分词余弦比对.

其中您可以更改的配置选项为:

ISSUE_STATUS:

  • ALL, 推荐源将从 关闭和打开状态的 issue 中寻找相似的推荐.
  • OPEN, 推荐源将从 打开状态的 issue 中寻找相似的推荐.
  • CLOSED, 推荐源将从 已关闭的 issue 中寻找相似的推荐.

USE_PADDLE:

配置为 "TRUE", 分词将使用 paddle 模式.

取值配置是写死在 Runner 项目中:

{ (1,0.98,1.01) },
{ (3,0.70,0.98) },
{ (2,0.55,0.70) },
{ (1,0.40,0.55) }
//解释:
//相似度区间在 (0.98 到 1] 取 1 条.
//相似度区间在 (0.70 到 0.98] 取 3 条...

3. issue 拉黑用户

该配置文件不在脚本配置范围内,其文件地址为: .github\workflows\block_user.yml, 无需配置.

学习与使用

1. 将项目 fork 到你的仓库中, 然后 Setting 作为模板.

2. 文章导航