Báo cáo lỗi Slack thành Sửa lỗi GitHub

Mô tả một lỗi bằng ngôn ngữ đơn giản trong Slack. Okou viết vấn đề GitHub và gán nó, và khi nguyên nhân nằm trong một thành phần, nó sẽ mở một yêu cầu kéo với bản sửa lỗi và một bài kiểm tra hồi quy để bạn xem xét.

Okou kết nối:SlackGitHubLinear

Những gì Okou cung cấp: từ một tin nhắn Slack đến một bản sửa lỗi đang được xem xét

Một luồng thực tế từ kênh #bug-report của nhóm Okou, được ghi lại khi nó xảy ra. Một đồng đội đã dán báo cáo của khách hàng và yêu cầu sửa lỗi. Bốn phút sau, Okou đã tạo vấn đề GitHub với chẩn đoán. Mười bốn phút sau tin nhắn đầu tiên, nó đã mở yêu cầu kéo và đăng liên kết xem trước. Dưới đây là cả hai bản ghi: luồng mà nó bắt đầu và yêu cầu kéo mà Okou đã viết. Chúng công khai, vì vậy bạn có thể tự đọc vấn đề, sự khác biệt và đánh giá.

Okou · Luồng Slack đến yêu cầu kéoChạy thật

Điều gì đã xảy ra trong luồng

Một đồng đội đã báo cáo lỗi bố cục PWA của khách hàng trong #bug-report và đính kèm ảnh chụp màn hình. Okou đã đọc luồng, truy tìm nó đến một thanh trên cùng được hiển thị mà không có phần chèn vùng an toàn iOS, và đã tạo vấn đề #11708 với nhãn và lý do của nó. Khi luồng yêu cầu sửa lỗi, Okou đã thay đổi một tệp (chiều cao tối thiểu và phần đệm vùng an toàn trên thanh trên cùng của thiết bị di động), mở yêu cầu kéo #11709 với liên kết xem trước và dừng lại ở đó. Một người đã xem xét và hợp nhất nó.

Tin nhắn đến vấn đề đã được ghi nhận
4 phútsự cố #11708, được gắn nhãn lỗi và PWA
Tin nhắn để kéo yêu cầu
14 phútPR #11709 với liên kết xem trước
Các tệp đã thay đổi do sửa lỗi
1được hợp nhất bởi một người, không phải bởi Okou
Mở yêu cầu kéo #11709 trên GitHub

Tạo một vấn đề GitHub từ Slack có nghĩa là gì?

Tạo một vấn đề GitHub từ Slack có nghĩa là biến một lỗi mà ai đó mô tả trong một cuộc trò chuyện thành một vấn đề được cấu trúc đúng cách trong kho lưu trữ của bạn, mà không ai phải rời khỏi luồng để nhập lại. Phần khó khăn chưa bao giờ là cuộc gọi API; đó là viết một tiêu đề rõ ràng, tách các bước để tái tạo khỏi hành vi mong đợi, chọn nhãn, đặt mức độ ưu tiên và tìm đúng người chịu trách nhiệm. Okou thực hiện công việc đó. Nó đọc tin nhắn Slack và các câu trả lời xung quanh nó, viết nội dung vấn đề, áp dụng nhãn và mức độ ưu tiên mà nó có thể biện minh, giải quyết người được giao bằng cách khớp tên hiển thị Slack với tên người dùng GitHub, và đăng liên kết vấn đề trở lại trong cùng một luồng để người báo cáo có thể kiểm tra nó trong nháy mắt.

Tại sao báo cáo lỗi chết trong các luồng Slack

Ai đó phát hiện ra một lỗi trong quá trình demo, hoặc một khách hàng viết thư vào thứ Bảy. Con đường cũ rất dài: mở GitHub, tìm kho lưu trữ, viết một vấn đề được định dạng, giao cho ai đó, sau đó chờ người đó nhận, đọc mã và viết bản sửa lỗi. Một thay đổi mười phút biến thành một chuyến đi khứ hồi nhiều ngày qua ba người, và một nửa số báo cáo không bao giờ thoát khỏi chuỗi. Thay vào đó, bạn mô tả nó trong Slack. Okou lập hồ sơ vấn đề với các bước để tái tạo, nhãn và người chịu trách nhiệm, và nếu nguyên nhân được chứa đựng, nó sẽ tiếp tục mở một yêu cầu kéo với bản sửa lỗi và một bài kiểm tra. Bạn xem xét và xuất bản.

Cách Okou tạo một vấn đề GitHub từ Slack

Bước 1: Kết nối các công cụ của bạn

GitHub
GitHub
Bắt buộc
Kết nối OAuth với GitHub. Okou cần quyền đọc/ghi để tạo vấn đề và, khi có bản sửa lỗi, để đẩy một nhánh và mở một yêu cầu kéo.
Kết nối
Slack
Slack
Bắt buộc
Okou đọc tin nhắn của bạn và trả lời trong cùng một chuỗi.
Kết nối

Bước 2: Hỏi Okou

Okou tạo vấn đề: nhấn ESC trong hộp thoại lịch trình sẽ đóng ngay lập tức ngay cả khi có các chỉnh sửa chưa lưu. Nên hỏi xác nhận trước. Giao cho Lancy. Gắn nhãn là lỗi, nền tảng. Ưu tiên trung bình.
Okou đọc luồng
Okou đọc tin nhắn của bạn và các câu trả lời xung quanh nó, vì vậy ngữ cảnh đến ba tin nhắn sau vẫn được tính. Nó xác định người được giao và suy ra nhãn và mức độ ưu tiên từ những gì mọi người thực sự nói.
Vấn đề được gửi trên GitHub
Một tiêu đề được viết, một mô tả, các bước để tái tạo được tách biệt khỏi hành vi mong đợi, khu vực bị ảnh hưởng, nhãn và một chủ sở hữu khớp với tên hiển thị Slack. Okou kiểm tra các vấn đề đang mở trước và bình luận về một bản sao thay vì tạo một bản thứ hai.
Okou tìm ra nguyên nhân và mở một yêu cầu kéo
Khi luồng hoặc mã chỉ vào một thành phần duy nhất và một thử nghiệm thất bại có thể được viết trước, Okou sẽ viết bản sửa lỗi và thử nghiệm đó, liên kết yêu cầu kéo với vấn đề và để CI chạy. Khi không thể, nó dừng lại ở vấn đề và nói lý do trong luồng.
Bạn xem xét và gửi đi
Okou trả lời trong cùng một luồng với vấn đề, yêu cầu kéo và một liên kết xem trước, đồng thời yêu cầu chủ sở hữu xem xét. Không có gì tự động hợp nhất; bản sửa lỗi chờ bạn.

Bước 3: Phát triển thêm

Yêu cầu sửa lỗi
Vượt qua vé để tạo yêu cầu kéo
Okou sửa #6260 và mở một PR với một thử nghiệm hồi quy. Liên kết nó với vấn đề và đăng liên kết xem trước trong luồng này.
Thêm chi tiết
Đính kèm ảnh chụp màn hình hoặc các bước để tái tạo
Okou thêm vào #6260: các bước để tái tạo. 1. Mở hộp thoại lịch trình 2. Gõ một cái gì đó 3. Nhấn ESC. Dự kiến: hộp thoại xác nhận.
Vấn đề tệp hàng loạt
Tạo nhiều vấn đề cùng một lúc
Okou tạo 3 vấn đề từ các lỗi này: 1. Đóng hộp thoại ESC (Lancy) 2. Bộ chọn ngày lệch một ngày (James) 3. Tải lên ảnh đại diện không thành công trên Safari (Yuma)
Tự động phân loại
Tự động tạo vấn đề từ một kênh
Okou theo dõi #bugs, khi ai đó đăng một tin nhắn bắt đầu bằng "bug:", tự động tạo một vấn đề GitHub và trả lời bằng liên kết.

Các tích hợp Slack và GitHub đằng sau quy trình làm việc

Đây là một tích hợp Slack GitHub với một tác nhân ở giữa: Okou đọc cuộc trò chuyện trong Slack và ghi lại trong GitHub. Mỗi trình kết nối được cấp riêng và giới hạn trong những gì quy trình làm việc thực sự sử dụng, vì vậy việc đọc một kênh không bao giờ ngụ ý quyền ghi vào kho lưu trữ của bạn.

Slack

Tích hợp Slack: cuộc trò chuyện Okou đọc

Bắt buộc

Okou đọc tin nhắn bạn chỉ vào và các câu trả lời xung quanh nó, vì vậy ngữ cảnh đến ba tin nhắn sau vẫn được đưa vào vấn đề. Nó lấy các ảnh chụp màn hình đính kèm và chuyển chúng đi, đọc tên hiển thị của người báo cáo để giải quyết người được giao, và giữ liên kết vĩnh viễn của tin nhắn để mọi vấn đề đều liên kết trở lại nơi báo cáo bắt đầu. Việc viết chỉ có một điều: một câu trả lời trong cùng một luồng với số vấn đề và liên kết. Okou không đăng lên các kênh khác, gửi tin nhắn trực tiếp hoặc chỉnh sửa tin nhắn của bất kỳ ai.

GitHub

Tích hợp GitHub: các vấn đề mà Okou đã gửi

Bắt buộc

Okou tạo vấn đề trong kho lưu trữ bạn đặt tên, với tiêu đề được viết từ báo cáo thay vì bản sao của tin nhắn thô, mô tả, các bước để tái tạo, hành vi mong đợi và khu vực bị ảnh hưởng khi luồng đặt tên một. Nó áp dụng các nhãn bạn chỉ định hoặc suy luận chúng từ cách diễn đạt, đặt mức độ ưu tiên mà nó giải thích và chỉ định chủ sở hữu. Trước khi nộp, nó tìm kiếm các vấn đề đang mở có cùng triệu chứng và bình luận về vấn đề hiện có thay vào đó khi tìm thấy sự trùng khớp. Khi nó cũng có thể sửa lỗi, nó đẩy một nhánh và mở một yêu cầu kéo đóng vấn đề và yêu cầu xem xét. Quyền ghi được giới hạn trong các kho lưu trữ bạn cấp, và đó là toàn bộ bề mặt: các vấn đề, bình luận và yêu cầu kéo được mở để xem xét. Okou không hợp nhất, không đẩy mạnh hoặc chạm vào cài đặt kho lưu trữ.

Okou so với ứng dụng GitHub cho Slack so với trình xây dựng tự động hóa

Đưa một lỗi từ tin nhắn Slack vào GitHub có ba phần: nắm bắt báo cáo, viết một vấn đề có thể sử dụng được và chuyển nó cho chủ sở hữu. Các tùy chọn hiện có mỗi tùy chọn giải quyết một trong số đó.

Ứng dụng GitHub cho Slack

Gõ /github sẽ mở một hộp thoại nơi bạn tự điền tiêu đề, nội dung, nhãn và người được giao. Nó giúp bạn không phải truy cập trình duyệt, nhưng bạn vẫn là người viết vấn đề, và một biểu mẫu ở giữa cuộc trò chuyện chính là sự cản trở khiến mọi người nói "Tôi sẽ nộp sau."

Trình tạo tự động hóa

Một trình tạo không mã có thể sao chép một tin nhắn Slack vào một vấn đề mới khi có kích hoạt. Những gì nó sao chép là tin nhắn thô, vì vậy vấn đề sẽ kế thừa bất cứ điều gì người báo cáo đã nhập, và các quy tắc cho nhãn, mức độ ưu tiên, phân công và trùng lặp là những gì bạn phải xác định và duy trì cho mỗi kênh.

Quy trình làm việc Slack-to-GitHub của Okou

Okou đọc luồng và viết vấn đề: một tiêu đề thực, các bước tái tạo được tách biệt khỏi hành vi mong đợi, nhãn và mức độ ưu tiên có thể biện minh, và một người được giao được khớp từ tên hiển thị của người báo cáo. Khi nguyên nhân được giới hạn trong một thành phần, nó tiếp tục và mở một yêu cầu kéo với bản sửa lỗi và một thử nghiệm hồi quy, được liên kết với vấn đề và chờ bạn xem xét. Nó kiểm tra các vấn đề đang mở trước và bình luận về một bản trùng lặp thay vì tạo một bản mới, và nó trả lời trong luồng với liên kết.

Mẹo để có kết quả tốt hơn

Bao gồm tên người được giao. Okou khớp tên hiển thị Slack với tên người dùng GitHub.
Đề cập rõ ràng các nhãn nếu bạn muốn các nhãn cụ thể, nếu không Okou sẽ suy luận từ ngữ cảnh.
Cũng hoạt động cho các yêu cầu tính năng, chỉ cần nói "yêu cầu tính năng" thay vì "lỗi".
Nói "và mở một PR" khi bạn muốn sửa lỗi, không chỉ là vé. Okou sẽ cho bạn biết trong luồng nếu nguyên nhân quá rộng để thay đổi an toàn.

Các câu hỏi thường gặp

Làm cách nào để bạn tạo một vấn đề GitHub từ một tin nhắn Slack?

Kết nối Slack và GitHub với Okou, sau đó mô tả lỗi trong kênh và đề cập đến Okou. Nó đọc tin nhắn và các phản hồi xung quanh, viết một vấn đề với tiêu đề, các bước để tái tạo, hành vi mong đợi, nhãn và mức độ ưu tiên, tạo nó trong kho lưu trữ bạn đã đặt tên, gán một chủ sở hữu và trả lời trong chuỗi với số vấn đề và liên kết. Bạn không điền vào biểu mẫu.

Điều này khác với ứng dụng GitHub cho Slack như thế nào?

Ứng dụng GitHub cung cấp cho bạn một hộp thoại để điền vào: bạn vẫn viết tiêu đề, nội dung, nhãn và người được giao. Okou viết chúng từ cuộc trò chuyện, kiểm tra một vấn đề hiện có với cùng triệu chứng trước khi nộp, và có thể chạy trên toàn bộ kênh theo lịch trình thay vì từng tin nhắn một.

Okou chỉ ghi lại vấn đề, hay nó có thể sửa lỗi?

Cả hai, và nó cho bạn biết nó đã làm cái nào và tại sao. Okou luôn tạo vấn đề. Khi luồng hoặc mã chỉ ra một thành phần duy nhất, hành vi mong đợi là rõ ràng và một thử nghiệm thất bại có thể được viết trước, nó cũng mở một yêu cầu kéo với bản sửa lỗi và thử nghiệm đó, liên kết nó với vấn đề và yêu cầu xem xét. Các tiện ích dùng chung, mã thông báo thiết kế và bất cứ thứ gì cần quyết định sản phẩm đều được tạo thay vì thay đổi. Okou không bao giờ hợp nhất; mọi bản sửa lỗi đều đến dưới dạng yêu cầu kéo mà bạn xem xét.

Okou có thể tự động gán vấn đề cho đúng người không?

Có. Okou khớp tên bạn đề cập, hoặc tên hiển thị Slack của người báo cáo, với các xử lý GitHub trong kho lưu trữ và gán vấn đề. Đặt tên người được gán trong tin nhắn của bạn là cách đáng tin cậy nhất; khi không có ai được đặt tên, Okou sẽ quay lại chủ sở hữu của khu vực mà luồng chỉ vào và nói trong vấn đề cách nó đã quyết định.

Okou tránh lập hồ sơ các vấn đề GitHub trùng lặp như thế nào?

Trước khi tạo bất cứ điều gì, Okou tìm kiếm các vấn đề đang mở có cùng triệu chứng, khu vực bị ảnh hưởng và cách diễn đạt. Khi tìm thấy một kết quả phù hợp, nó sẽ thêm luồng Slack mới làm bình luận vào vấn đề đó, với người báo cáo và dấu thời gian, và trả lời trong Slack bằng liên kết vấn đề hiện có thay vì mở một vấn đề thứ hai.

Điều gì xảy ra khi một báo cáo lỗi không có các bước để tái tạo?

Okou vẫn tạo vấn đề để báo cáo không bị mất, gắn nhãn là cần các bước tái tạo và trả lời trong luồng Slack yêu cầu người báo cáo cung cấp chúng. Câu trả lời sau đó sẽ xuất hiện trong luồng đã được liên kết từ vấn đề.

Okou có thể gửi lỗi từ toàn bộ kênh theo lịch trình không?

Có. Hướng Okou đến một hoặc nhiều kênh và cung cấp cho nó một lịch trình, ví dụ: mỗi thứ Sáu lúc 4 giờ chiều. Nó đọc các tin nhắn trong tuần, tạo một vấn đề cho mỗi tin nhắn mô tả một lỗi, bình luận về các bản sao, bỏ qua các yêu cầu tính năng và câu hỏi, và báo cáo những gì nó đã làm.

Điều này có hoạt động với Linear hoặc Jira thay vì GitHub không?

Hình dạng quy trình làm việc tương tự áp dụng cho bất kỳ trình theo dõi Okou nào được kết nối; trang này bao gồm đường dẫn GitHub, sử dụng trình kết nối GitHub. Linear được kết nối theo cùng một cách, và bạn đặt tên trình theo dõi trong hướng dẫn.

Gửi lỗi tiếp theo của bạn mà không cần rời khỏi Slack

Kết nối Slack và GitHub, mô tả lỗi theo cách bạn sẽ nói với đồng đội, và để Okou viết vấn đề và gán nó. Khi nguyên nhân được khắc phục, yêu cầu kéo cũng đang chờ bạn.

Okou tạo vấn đề: nhấn ESC trong hộp thoại lịch trình sẽ đóng ngay lập tức ngay cả khi có các chỉnh sửa chưa lưu. Nên hỏi xác nhận trước. Giao cho Lancy. Gắn nhãn là lỗi, nền tảng. Ưu tiên trung bình.