GitHub Issue Labeler 项目使用教程
1. 项目的目录结构及介绍
GitHub Issue Labeler 项目的目录结构如下:
.
├── __tests__
│ └── ...
├── lib
│ └── ...
├── src
│ └── ...
├── .gitignore
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── SECURITY.md
├── action.yml
├── jest.config.js
├── package.json
└── tsconfig.json
目录结构介绍
__tests__
: 包含项目的测试文件。lib
: 包含项目的库文件。src
: 包含项目的主要源代码文件。.gitignore
: 指定 Git 忽略的文件和目录。CODE_OF_CONDUCT.md
: 项目的代码行为准则。CONTRIBUTING.md
: 项目的贡献指南。LICENSE
: 项目的开源许可证。README.md
: 项目的介绍和使用说明。SECURITY.md
: 项目的安全政策。action.yml
: GitHub Actions 的工作流配置文件。jest.config.js
: Jest 测试框架的配置文件。package.json
: 项目的依赖管理文件。tsconfig.json
: TypeScript 的配置文件。
2. 项目的启动文件介绍
GitHub Issue Labeler 项目的启动文件是 action.yml
。这个文件定义了 GitHub Actions 的工作流配置,用于自动标记 GitHub 仓库中的问题。
action.yml
文件内容
name: "Issue Labeler"
on:
issues:
types: [opened, edited]
permissions:
issues: write
contents: read
jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: github/issue-labeler@v3.3
with:
configuration-path: .github/labeler.yml
not-before: 2020-01-15T02:54:32Z
enable-versioned-regex: 0
repo-token: $[[ github.token ]]
启动文件介绍
name
: 工作流的名称。on
: 定义触发工作流的事件,这里是issues
的opened
和edited
事件。permissions
: 定义工作流的权限,这里允许对issues
进行写操作,对contents
进行读操作。jobs
: 定义工作流的任务。triage
: 任务的名称。runs-on
: 指定任务运行的环境,这里是ubuntu-latest
。steps
: 定义任务的步骤。uses
: 使用github/issue-labeler
这个 Action。with
: 传递给 Action 的参数。configuration-path
: 配置文件的路径。not-before
: 忽略在此时间之前的问题。enable-versioned-regex
: 是否启用版本化的正则表达式。repo-token
: 仓库的访问令牌。
3. 项目的配置文件介绍
GitHub Issue Labeler 项目的配置文件是 .github/labeler.yml
。这个文件定义了如何根据问题内容自动标记问题。
.github/labeler.yml
文件内容
# 添加/移除 'critical' 标签,如果问题包含 'urgent' 或 'critical' 字样
critical:
- '(critical|urgent)'
# 为任何新打开的问题添加 'critical' 标签
critical:
- '.*'
配置文件介绍
critical
: 定义标签的名称。- '(critical|urgent)'
: 定义正则表达式,匹配问题内容中的critical
或urgent
字样时,添加critical
标签。- '.*'
: 定义正则表达式,匹配任何问题内容时,添加critical
标签。
通过这个配置文件,可以自定义标签的名称和匹配规则,实现自动标记问题的功能。