todo-to-issue-action 项目使用教程
1. 项目的目录结构及介绍
todo-to-issue-action/
├── .github/
│ └── workflows/
│ └── main.yml
├── .gitignore
├── LICENSE
├── README.md
├── action.yml
├── dist/
│ └── index.js
├── src/
│ ├── index.ts
│ ├── main.ts
│ └── utils.ts
└── tsconfig.json
目录结构介绍
- .github/workflows/: 包含GitHub Actions的工作流配置文件,用于定义项目的CI/CD流程。
- .gitignore: 指定Git版本控制系统忽略的文件和目录。
- LICENSE: 项目的开源许可证文件。
- README.md: 项目的说明文档,通常包含项目的简介、安装和使用说明。
- action.yml: GitHub Actions的配置文件,定义了Action的输入、输出和运行环境。
- dist/: 编译后的JavaScript文件,包含Action的实际执行代码。
- src/: 源代码目录,包含TypeScript文件,定义了Action的主要逻辑。
- tsconfig.json: TypeScript的配置文件,定义了编译选项和项目结构。
2. 项目的启动文件介绍
项目的启动文件是 src/index.ts
,它是整个Action的入口文件。该文件负责初始化Action的配置,并调用其他模块来执行具体的任务。
主要功能
- 初始化配置: 从GitHub Actions的输入参数中读取配置,并进行初始化。
- 执行任务: 根据配置,调用
main.ts
中的逻辑来处理TODO注释并生成GitHub Issues。
3. 项目的配置文件介绍
项目的配置文件主要包括 .github/workflows/main.yml
和 action.yml
。
.github/workflows/main.yml
该文件定义了GitHub Actions的工作流,指定了在什么情况下触发Action,以及如何执行Action。
name: "Run TODO to Issue"
on: [push]
jobs:
build:
runs-on: "ubuntu-latest"
steps:
- uses: "actions/checkout@v3"
- name: "TODO to Issue"
uses: "alstr/todo-to-issue-action@v4"
with:
AUTO_ASSIGN: true
action.yml
该文件定义了Action的输入、输出和运行环境。
name: 'TODO to Issue'
description: 'Converts TODO comments to GitHub issues on push'
inputs:
AUTO_ASSIGN:
description: 'Automatically assign a user to the new issue'
required: false
default: 'true'
runs:
using: 'node16'
main: 'dist/index.js'
配置说明
- AUTO_ASSIGN: 是否自动分配用户到新创建的Issue。默认值为
true
,表示自动分配。 - runs: 指定Action的运行环境为
node16
,并指定主执行文件为dist/index.js
。
通过以上配置,项目可以在每次代码推送时自动检测TODO注释并生成相应的GitHub Issues。