iT邦幫忙

2025 iThome 鐵人賽

DAY 27
0
DevOps

一個n8n免費仔的踩雷告白系列 第 27

鐵人賽 day27 - 拉拉拉一個備份自己的 workflow 吧

  • 分享至 

  • xImage
  •  

Hello,我是 KK,今年的鐵人賽,想跟大家分享架設 n8n 遇到的一些挑戰跟意外,就讓我們一起學習吧。

在 [[鐵人賽 day26 - 用 n8n 備份自己到 github (二) - n8n API]] 我們拿到了 n8n API Key,也試了一下 Playground 確實能拿到我們的 workflows。但你可能會想:看起來就是要用那個 curl 呼叫 API 對吧?

當然......不是。我一開始也是很工程師的思維,也是往這個方向想的。但其實 n8n 的內建 node 就有一個 n8n node (一個遞迴的概念),只要我們有 n8n API Key,就不需要自己寫 code 下 parameters。

建立 workflow

Trigger

第一步當然是設定 trigger。既然要自動處理,那當然就選 Schedule Trigger 來排程,我建議一天執行一次應該是足夠了,如果你很不安心,可以考慮設定更短的排程。

Get many workflows

接下來,在右邊的搜尋欄輸入 n8n,第一個就是我們需要的 node。
https://ithelp.ithome.com.tw/upload/images/20251011/20161625dnJVFdgpAH.png

點擊之後,一樣會需要設定一次 credential。

  • API Key: 請輸入 [[鐵人賽 day26 - 用 n8n 備份自己到 github (二) - n8n API]] 取得的 key
  • Base URL: 你可以自己輸入自己雲端的 host,再加上 /api/v1。又或是去 playground 那裡複製,都是相同的。

設定完成之後,就可以選用 n8n node 的 Get many workflows
https://ithelp.ithome.com.tw/upload/images/20251011/20161625HKmKwZxqi3.png
基本上這裡比 playground 還要簡單,直接按下 Execute step 後,就能在右邊看到跟 playground 相同的結果。

Github create and edit

github 相關的操作,官方有給一份參考範例 Push and update files in GitHub | n8n workflow template。大致上就是 Get File -> Decode -> Update
但這是為了那些要 update 原有檔案的做法,我們這裡稍稍複雜一點點,要先 create 然後再 update,並且是直接覆蓋掉。

這是因為 edit 不包含 create,如果原始檔不存在,直接 edit 會報錯。不過我們可以先 list files,檢查該檔案是否存在。如果不存在,就用 create`,反之則用 edit

這部份的設定會比較複雜一點,會需要用到 merge 這個 node。不過沒關係我已經先寫好一版了,有興趣的可以下載試玩一下。
https://drive.google.com/file/d/1PZHRjlPa6ii4PB3Jw-sERkvitJt5UDj9/view?usp=sharing
https://ithelp.ithome.com.tw/upload/images/20251011/20161625GKqUh9eMXe.png


上一篇
鐵人賽 day26 - 用 n8n 備份自己到 github (二) - n8n API
系列文
一個n8n免費仔的踩雷告白27
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言