Cách tích hợp GitHub với Slack bằng API Slack
Tích hợp GitHub với Slack sẽ giúp bạn hợp lý hóa hoạt động giao tiếp của nhóm bằng cách thông báo cho họ về các sự kiện kho lưu trữ theo thời gian thực. Sự tích hợp này giúp cộng tác hiệu quả hơn, thảo luận về các thay đổi trong ngữ cảnh của cơ sở mã và nhanh chóng giải quyết mọi lo ngại có thể phát sinh trong quá trình phát triển.
Ngoài ra, việc tích hợp GitHub với Slack cho phép bạn tùy chỉnh thông báo cho phù hợp với quy trình làm việc riêng của nhóm. Điều này giảm thiểu phiền nhiễu và tập trung vào những gì thực sự quan trọng. Cách tiếp cận giao tiếp phù hợp này trao quyền cho nhóm của bạn đưa ra quyết định sáng suốt và thực hiện các hành động kịp thời, đảm bảo đầu ra có chất lượng cao nhất.
Mục Lục
Bước 1: Tạo ứng dụng Slack mới
Để làm theo, bạn sẽ cảm thấy thoải mái khi sử dụng nền tảng Slack. Bạn cũng nên làm quen với GitHub.
Bước đầu tiên của quá trình tích hợp là tạo một ứng dụng Slack mới. Ứng dụng này sẽ chịu trách nhiệm đăng tin nhắn trên kênh Slack đã chọn khi xảy ra sự kiện kho lưu trữ. Để tạo một ứng dụng mới, hãy điều hướng đến trang web Slack và đăng nhập vào tài khoản của bạn. Sau đó, tạo một không gian làm việc mới. Bạn sẽ sử dụng không gian làm việc này để kiểm tra ứng dụng của mình trước khi cài đặt ứng dụng đó trong không gian làm việc của nhóm.
Điều hướng đến trang web API Slack trong tab trình duyệt mới.
Bấm vào ứng dụng của bạn cái nút. Trên trang hiện ra, nhấp vào Tạo ứng dụng mới cái nút.
Chọn tùy chọn để tạo ứng dụng từ đầu. Sau đó, đặt tên cho ứng dụng của bạn và chọn không gian làm việc mà bạn muốn cài đặt ứng dụng.
bấm vào Tạo ứng dụng cái nút. Hành động này sẽ tạo ứng dụng Slack mới của bạn và chuyển hướng bạn đến trang tổng quan của nó.
Bước 2: Thiết lập Webhook Slack Incoming
Webhook Slack Incoming cho phép bạn gửi tin nhắn từ các nguồn bên ngoài vào không gian làm việc Slack của bạn. Để thiết lập webhook, hãy chọn Webhook đến tính năng. Hãy chắc chắn rằng bạn bật Kích hoạt Webhook đến cái nút.
Cuộn xuống URL webhook cho không gian làm việc của bạn phần. bấm vào Thêm Webhook mới vào Workspace cái nút.
Slack sẽ yêu cầu bạn chọn kênh mà ứng dụng của bạn sẽ đăng tin nhắn. Chọn kênh và bấm vào Cho phép cái nút.
Thao tác này sẽ thêm ứng dụng của bạn vào kênh đã chọn. quay trở lại URL webhook cho không gian làm việc của bạn phần. Sao chép đã tạo URL webhook. Đây là URL mà GitHub sẽ gửi thông báo sự kiện của kho lưu trữ tới.
Bây giờ bạn đã hoàn tất việc định cấu hình bên Slack.
Bước 3: Định cấu hình Repo GitHub
Điều hướng đến trang web GitHub và đăng nhập vào tài khoản của bạn. Chuyển đến kho lưu trữ mà bạn muốn nhận thông báo sự kiện từ đó. Bạn cũng có thể tạo một kho lưu trữ mới. bấm vào hành động tab dưới tên kho lưu trữ.
Sau đó bấm vào tự thiết lập quy trình làm việc liên kết. Trang tiếp theo xuất hiện yêu cầu bạn tạo tệp YAML trong thư mục quy trình công việc GitHub. Tệp này xác định quy trình làm việc của GitHub Actions chịu trách nhiệm gửi thông báo đến không gian làm việc Slack của bạn.
Bạn sẽ viết mã YAML trong trình chỉnh sửa tích hợp. Mã này sẽ tích hợp GitHub với Slack bằng cách gửi thông báo đến kênh Slack khi các sự kiện cụ thể xảy ra trong kho lưu trữ.
Bước 4: Viết mã YAML để tích hợp GitHub với Slack
Đặt tên cho quy trình công việc của bạn. Hãy thoải mái chọn tên theo ý thích của bạn.
name: Slack Notification
Chỉ định các sự kiện sẽ kích hoạt quy trình làm việc. Đây là nơi bạn chọn các sự kiện mà bạn muốn nhóm của mình được thông báo. Thêm hoặc xóa các sự kiện để phù hợp với yêu cầu của bạn.
on:
push:
pull_request:
issues:
types:
- opened
- closed
- reopened
- edited
- deleted
- pinned
- unpinned
- assigned
- unassigned
- labeled
- unlabeled
- milestoned
- demilestoned
issue_comment:
types: [created, edited, deleted]
create:
delete:
Định cấu hình công việc của bạn và chọn môi trường ảo mà công việc sẽ chạy trên đó. thông báo_slack là tên của công việc. Bạn có thể thay đổi nó theo ý thích của bạn.
jobs:
notify_slack:
runs-on: ubuntu-latest
Thiết lập một bước chịu trách nhiệm gửi thông báo đến Slack.
steps:
- name: Send Slack notification
Xác định một biến môi trường có tên SLACK_WEBHOOK_URL. Nó sẽ lưu trữ URL webhook Slack. Sau đó, bạn sẽ thêm URL vào kho lưu trữ bí mật của GitHub.
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
định cấu hình hành động chậm chạp Hành động GitHub. Đây là hành động của bên thứ ba xử lý logic cơ bản của việc tương tác với API Slack. Nó cho phép bạn tập trung vào việc định cấu hình các thông báo và sự kiện kích hoạt thông báo. Điều này làm cho quá trình gửi thông báo đến Slack dễ dàng hơn nhiều.
uses: 8398a7/action-slack@v3
Mã này sử dụng 8398a7/action-slack@v3 hoạt động.
định cấu hình 8398a7/action-slack@v3 hành động với các tham số tùy chỉnh. Các trạng thái tham số đặt trạng thái tin nhắn thành phong tục. Nó sẽ cho phép bạn xác định nội dung của thông báo Slack bằng tải trọng tùy chỉnh. Các lĩnh vực tham số liệt kê các trường để đưa vào thông báo Slack.
with:
status: custom
fields: repo,commit,event,action,workflow,ref,URL
Tạo một custom_payload sẽ tùy chỉnh giao diện của thông báo Slack cho phù hợp với sở thích của bạn.
custom_payload: |
{
"attachments": [
{
"color": "${{ job.status }}",
"title": >-
${{ github.actor }} ${{ github.event.pull_request && github.event.pull_request.merged == true && 'merged a pull request' || github.event.pull_request && 'opened a pull request' || github.event_name == 'push' && 'pushed new changes' || github.event_name == 'create' && 'created a new branch or tag' || github.event_name == 'delete' && 'deleted a branch or tag' || github.event_name == 'issues' && github.event.action || 'triggered an event' }},
"text": >-
:tada: Event details:
- Repository: ${{ github.repository }}
- Branch: ${{ github.ref }}
- Message: ${{ github.event_name == 'push' && github.event.head_commit.message || github.event_name == 'issues' && github.event.issue.title || github.event_name == 'pull_request' && github.event.pull_request.title || '' }}
- :globe_with_meridians: Link: ${{ github.event.pull_request.html_url || github.event.issue.html_url || github.event.repository.html_url }}
}
]
}
Bạn có thể tham khảo trường hợp sử dụng tùy chỉnh 8398a7/action-slack@v3 để tìm tất cả các tùy chỉnh được hỗ trợ. Cam kết tệp YAML để tạo quy trình làm việc mới.
Bước cuối cùng để tích hợp GitHub với Slack là thêm bí mật kho lưu trữ mới. Bí quyết trong trường hợp này là URL webhook chậm bạn đã sao chép từ Slack. Giữ bí mật URL này vì bất kỳ ai có quyền truy cập URL đều có thể gửi tin nhắn đến không gian làm việc của bạn.
Điều hướng đến cài đặt kho lưu trữ của bạn. bấm vào bí mật và biến Bên dưới bảo vệ tính năng. chọn hành động lựa chọn.
Bấm vào Bí mật kho lưu trữ mới. Thêm tên của bí mật như SLACK_WEBHOOK_URL. Sau đó dán URL chậm vào trường Bí mật. Cuối cùng, bấm vào Thêm bí mật để lưu bí mật mới.
Bây giờ bạn đã hoàn tất việc tích hợp GitHub với Slack. Mỗi khi một sự kiện xảy ra trong kho lưu trữ của bạn, một thông báo sẽ được hiển thị trong kênh của bạn. Hãy thử tạo một yêu cầu kéo mới. Điều này sẽ kích hoạt một sự kiện đẩy.
Ảnh chụp màn hình bên dưới hiển thị các thông báo mẫu trên Slack hiển thị các sự kiện diễn ra trong kho lưu trữ.
Bạn có thể tùy chỉnh tải trọng tin nhắn để bao gồm các trường khác mà bạn có thể thấy cần thiết.
Cải thiện năng suất của bạn với tích hợp Slack
GitHub không phải là tích hợp Slack duy nhất mà bạn có thể thêm vào không gian làm việc của mình. Có rất nhiều tích hợp mà bạn có thể sử dụng để cải thiện năng suất của nhóm và nâng cao khả năng giao tiếp của họ. Làm quen với những tích hợp này sẽ giúp bạn hợp lý hóa quy trình làm việc của nhóm và giữ mọi người trên cùng một trang.