Danh mục:
Hướng dẫn này giải thích cách đọc các bảng được định nghĩa trong file Markdown và tự động đăng ký mỗi hàng thành một GitHub Issue.
Cấu trúc dự án
project/ ├─ .env # Lưu trữ GitHub Access Token ├─ example.md # Bảng Markdown chứa các issue cần đăng ký ├─ markdown-table-parser.js # Lớp phân tích bảng (Parser) ├─ markdown-issue-mapper.js # Bộ chuyển đổi hàng -> GitHub Issue ├─ github-issue-client.js # Client giao tiếp với GitHub API ├─ dry-run-issue-preview.js # Chế độ chạy thử (Dry-run) để xem trước ├─ mark-down-github-issue-register.js # Lớp tích hợp đăng ký tổng thể └─ run-markdown-to-issues.js # Điểm bắt đầu thực thi (Entry point)
Chuẩn bị trước
1. Cấp GitHub Access Token
- Truy cập https://github.com/settings/tokens.
- Chọn
Generate new token (classic). - Tích chọn quyền:
repo(Để tạo Issue). - Sau khi cấp, thêm vào
file .env:
snippet GITHUB_TOKEN=ghp_... GITHUB_USER_NAME=tên_người_dùng GITHUB_REPO_NAME=tên_kho_chứa
⚠️ Đảm bảo đã thêm
.env vào file .gitignore.Cấu trúc file Markdown
Ví dụ:
example.md## Research | Category | Type | Summary | Description | Priority | Status | Comments | |----------|---------|------------------------------|------------------------------|----------|--------|----------| | AI | Prompting | Nghiên cứu và viết mẫu | Mô tả thử nghiệm | High | Open | Mục quan trọng | | API | Weather API | Kiểm tra và kết nối API thời tiết | Mô tả thử nghiệm | Medi
Cách thực hiện
✅ Chạy cơ bản
node run-markdown-to-issues.js
✅ Chỉ định file/section cụ thể
node run-markdown-to-issues.js --file ./example.md --section "## Research"
✅ Chế độ Dry-run (Chỉ kiểm tra, không đăng ký)
node run-markdown-to-issues.js --file ./example.md --section "## Research" --dry-run
Kết quả thực hiện
- Phân tích bảng trong section được chỉ định.
- Chuyển đổi mỗi hàng thành một đối tượng GitHub Issue.
- Đăng ký Issue lên GitHub (Tự động bỏ qua nếu trùng tiêu đề).
Các hạng mục có thể tùy chỉnh

Mẹo kiểm thử và Debug
- Sử dụng tùy chọn
dry-runđể kiểm tra kết quả đầu ra mà không thực sự tạo Issue trên GitHub. - Sử dụng
fetchIssues()để kiểm tra danh sách các Issue hiện có. - Chỉ cần sửa đổi MarkdownIssueMapper để thay đổi toàn bộ định dạng của Issue.
Tóm tắt các lớp chính

Tính năng mở rộng đề xuất
- Tự động hóa thông qua GitHub Actions.
- Mapping thêm các trường
Assignee,Milestone. - Thiết lập động
--owner,--repotừ giao diện dòng lệnh (CLI). - Tùy chọn xuất ra
file .jsonhoặc.csv.
Nguồn bài viết ryukato.github.io