Cho trợ lý AI đọc và cập nhật bảng công việc của nhóm
Mình tạo ra Jira CLI để trợ lý AI lập trình, hay chính mình, đọc phiếu công việc trên Jira của nhóm ngay từ terminal và để lại cập nhật hữu ích, với các thay đổi mặc định chỉ hiện bản xem trước.
Tóm tắt
Sửa code xong mà ticket chưa được cập nhật thì người mở ticket sau vẫn chỉ thấy phần mô tả ban đầu. Mình tạo ra Jira CLI để mình, hoặc trợ lý AI làm cùng mình, đọc ticket trên Jira Server do nhóm tự vận hành ngay từ terminal và để lại cập nhật hữu ích, mặc định chỉ hiện bản xem trước cho đến khi bạn yêu cầu gửi. Bài viết có kèm hướng dẫn cài đặt và cách đính kèm ảnh chụp màn hình hoặc log.

Khi đã sửa xong code mà thông tin trên phiếu công việc (ticket) chưa được cập nhật, người mở ticket sau đó vẫn chỉ thấy phần mô tả ban đầu và phải hỏi lại chuyện gì đã thay đổi, dù ảnh chụp màn hình kết quả đã được lưu sẵn đâu đó. Khi một agent lập trình, tức trợ lý AI có thể đọc và sửa code, làm một phần công việc ấy, agent cũng cần để lại lời giải thích, nghĩa là phải vào được đúng hệ thống mà cả nhóm dùng để theo dõi công việc. Với những nhóm mình nghĩ đến khi làm công cụ này, hệ thống đó là Jira Server do nhóm tự vận hành.
Mình tạo ra Jira CLI để những thao tác thường ngày với ticket có thể làm ngay trong cửa sổ dòng lệnh (terminal), nơi việc sửa code vốn đang diễn ra. Có Jira CLI, mình hoặc agent làm cùng mình có thể đọc nội dung một công việc trên Jira (issue), xem issue đang ở trạng thái nào, rồi chuẩn bị bình luận hoặc đính kèm kết quả kiểm tra. Các lệnh trả về kết quả có cấu trúc để agent đọc được, và mỗi lệnh gọi thẳng đến Jira rồi thoát, nên agent dùng được ngay mà không phải khởi động trước một máy chủ MCP, tức tiến trình kết nối chạy riêng mà nhiều hệ thống agent vẫn dùng cho kiểu truy cập này.
Nói đơn giản, Jira CLI là một nhóm lệnh ngắn gọn cho việc xử lý ticket: mine tìm các issue của bạn, show mở nội dung một issue, còn comment chuẩn bị một cập nhật. Quanh mấy lệnh đó có vài phần hỗ trợ. Các hồ sơ kết nối (profile) có tên giữ thông tin cho từng kết nối, với thông tin đăng nhập mặc định nằm trong keychain của hệ điều hành; các thay đổi mặc định chỉ chạy thử, nên chưa có gì được ghi lên Jira cho đến khi bạn yêu cầu; và một bộ hướng dẫn tùy chọn cho agent (skill) giúp agent biết cách thiết lập và làm theo quy trình. Đây là dự án độc lập, dành cho các nhóm dùng Jira Server tự vận hành.
Lúc agent nhận ticket
Trước khi sửa code, agent cần đọc xem ticket yêu cầu gì. mine liệt kê các issue chưa được giải quyết của bạn, còn show mở nội dung một issue, nên agent nắm được việc cần làm trước khi đụng vào code hay ghi bất cứ điều gì lên Jira.

Lúc chuẩn bị gửi cập nhật
Sửa xong, agent soạn lời giải thích bằng comment. Vì các thay đổi mặc định chỉ chạy thử, lệnh này hiện bình luận ra cho bạn xem chứ chưa đăng lên, nhờ vậy bạn kiểm tra được đó có đúng issue cần cập nhật không và câu chữ có phản ánh đúng điều đã xảy ra không. Sau khi bạn kiểm tra bản xem trước và cho phép gửi, agent mới nên chạy lại lệnh với --perform-action để đăng bình luận. Nếu ảnh hoặc nhật ký giúp người khác lặp lại một bước kiểm tra, bạn có thể đặt chúng ngay cạnh lời giải thích, bằng cách chèn ảnh vào nội dung bình luận hoặc đính kèm dưới dạng tệp.

Lúc người tiếp theo mở ticket
Với người nhận bàn giao, biết có thể thử thay đổi ở đâu thường hữu ích hơn thêm một thông báo thành công ngắn, và bài viết về bàn giao đi sâu hơn vào chuyện một cập nhật như vậy nên có những gì.
Cách mình làm Jira CLI
Mình phụ trách chính việc phát triển Jira CLI và đặt ra quy trình agent phải theo: đọc ticket, xem trước cập nhật, rồi chỉ thực thi những thay đổi đã được người dùng cho phép. Agent lập trình đảm nhiệm một phần đáng kể việc triển khai, còn mình rà lại các chỉnh sửa trong code và tự chạy thử các lệnh để xem chúng có đi đúng quy trình đó không. Nếu bạn định làm một công cụ tương tự cho agent, mình nghĩ nên để mọi thao tác ghi mặc định chỉ là bản xem trước, còn việc gửi thật thì phải đi qua một cờ được ghi rõ.
Kết nối Jira CLI và chuẩn bị cập nhật
Thiết lập kết nối
Công cụ hướng đến Jira Server 7.x và REST API v2, và theo tài liệu thì môi trường chạy cần Node.js 18.17 trở lên. Bạn cũng cần một tài khoản trên máy chủ Jira Server muốn kết nối.
npm install -g @khanglvm/jira-cli
Hãy xem các profile hiện có trước khi tạo thêm. Với kết nối mới, đặt JIRA_USERNAME và JIRA_PASSWORD trên máy của bạn rồi dùng địa chỉ máy chủ của nhóm:
jira-cli profile add work \
--base-url https://jira.example.com \
--username "$JIRA_USERNAME" \
--password "$JIRA_PASSWORD" \
--default
Thông tin đăng nhập mặc định được lưu trong kho thông tin xác thực (keychain) của hệ điều hành, nên đừng đưa chúng vào cuộc trò chuyện hay file source code. Các profile có tên giúp tách riêng từng tài khoản hoặc không gian làm việc; bạn xem danh sách bằng jira-cli profile list và chọn một profile bằng jira-cli profile use work.
Đọc issue rồi chuẩn bị bình luận
Bắt đầu với các issue chưa được giải quyết:
jira-cli mine --max-results 10
Chọn một mã issue trong danh sách đó và thay cho PROJ-123:
jira-cli show PROJ-123
jira-cli comment PROJ-123 --body "Investigating the login issue."
Lệnh thứ hai chỉ cho xem trước bình luận. Sau khi kiểm tra, nếu cập nhật đã được cho phép thì thêm --perform-action:
jira-cli comment PROJ-123 \
--body "Investigating the login issue." \
--perform-action
Dùng --inline-image screenshot.png để tải ảnh lên và chèn vào nội dung, hoặc --attach notes.txt để đính kèm tệp. Dù cách nào, tệp đính kèm cũng cần có thật và giúp người đọc đối chiếu điều được mô tả.
Tìm kiếm, chuyển trạng thái và hướng dẫn cho agent
Tìm kiếm nhận JQL hoặc các bộ lọc thông dụng:
jira-cli search --reported --order-by "priority DESC"
Giao diện lệnh còn hỗ trợ truy vấn bảng công việc, nhật ký công việc và liên kết giữa các issue. Trước khi chuyển trạng thái một issue, hãy xem dự án cho phép những bước chuyển nào, và nhớ rằng loại issue như Bug (lỗi) với trạng thái như In Progress (đang thực hiện) là hai thông tin khác nhau, còn tài khoản được cấu hình thì cần có quyền thực hiện thay đổi được yêu cầu.
Bạn có thể cài thêm skill để agent biết cách thiết lập và sử dụng công cụ:
npx skills add khanglvm/jira-cli --skill jira-cli -y
Cài xong, bạn có thể nhờ agent kiểm tra profile, đọc issue và xem trước cập nhật đề xuất. Agent chỉ nên dùng --perform-action cho thay đổi đã được cho phép, sau đó báo lại mã issue và kết quả. jira-cli easy có sẵn các ví dụ lệnh, hướng dẫn sử dụng trình bày việc chuyển trạng thái và phân công, còn gói được phát hành trên npm.
