05/10/2016

Tự động hóa dễ dàng hơn với Huginn

Huginn là một mã nguồn mở (open source) được viết bởi Andrew Cantino bằng Ruby giúp tự động hóa các công việc như: gửi mail báo bạn nếu mai trời mưa, theo dõi nhưng thông tin về hashtag nào đó trên twitter, kết nối các services như HipChat, Basecamp, FTP, IMAP, JIRA, Slack, Twitter, API,.. với nhau.

Huginn hoạt động giống như các dịch vụ IFTTT, Zapier,...




Trong bài viết này mình sẽ hướng dẫn các bạn deploy Huginn trên Heroku và sử dụng Huginn để tạo notification từ Pivotaltracker đến MatterMost.

1. Deploy Huginn
Trong README của Huginn có phần deploy Huginn, các bạn có thể dễ dàng làm việc này bằng cách click button 
 Deploy to Heroku

Quá trình deploy sẽ mất từ 3-5p


2. Create admin user



Trong hướng dẫn, mình sẽ clone source code của huginn về local sau đó cài các package ruby rồi run bin/setup_heroku. Theo mình thì nếu làm việc này ở local sẽ tốn rất nhiều thời gian vì phải setup Heroku Toolbel, Ruby, Ruby DevKit,.. nên mình sẽ làm theo tác này trên C9



Login vào Huggin, lúc nãy trong dashboard sẽ có các Agents sẵn

Bỏ qua các example, ta tìm hiểu các mục chính của Huginn

- Agent: cầu nối giao / nhận thông tin
- Scenario: kịch bản bao gồm nhiều agents liên kết với nhau
- Event: Sự kiện handle bởi agents.

Vậy để tạo notification từ PivotalTracker về MatterMost thì bắt đầu từ đâu ?

1. Tạo mới Scenario:



2. Tạo mới Agent:
- receive: nhận data (json) từ PivotalTracker thông qua webhook

Sau khi Save ta nhận được link webhook



- send: Agent gửi về MatterMost


post_url: webhook của MatterMost
text: json từ PivotalTracker, ví dụ {{message}} {{primary_resources[0].url}}



3. Thêm Huginn webhook vào PivotalTracker


4. Test thử



Vậy là mình đã kết nối được notification từ PivotalTracker về MatterMost. Bạn có thể kiểm tra các event đã được tạo ở tab event


Kết bài

Mình sử dụng Heroku free chỉ được 18h/day nên app sẽ sleep trong một vài thời điểm, vì vậy mình dùng dịch vụ UptimeRobot ping app 30p để khỏi gián đoạn.

Trong bài sau, mình sẽ hướng dẫn làm thế nào để tự động deploy app trên digitalocean bằng huginn và fodor.xyz.

Không có nhận xét nào:

Đăng nhận xét