使用Siri shortcuts語音控制Jenkins任務
shortcuts
Siri shortcuts
新版的iOS12裏隱藏着一個重要的功能,經過捷徑(shortcuts)這個應用讓Siri獲得極大擴展,用戶經過shortcuts很容易構建本身的自動化流。
咱們公司在每一個下午demo前都要啓動Jenkins將今天一天的code提交構建出固件來,每次要打開網頁再點擊很煩,因而就想能不能給Siri下發個語音命令,
後臺讓Jeninks自動執行構建。html
前提
這裏咱們使用到了Siri shortcuts的web api,遠程調用Jenkins的web接口來完成。ios
首先Jenkins配置
- 爲了讓Jenkins能經過API遠程調用,須要給每一個任務打開遠程調用的接口。你先登錄到jenkins上而後點擊選中的任務進入任務項目頁面,左邊選擇"配置"進入任務配置界面,在"構建觸發器"下勾選"觸發遠程構建",而後輸入"身份驗證令牌",好比1234。而後保存配置。
- 爲了能夠經過跨站訪問Jenkins須要關閉Jenkins的跨站訪問檢查,能夠先到Jenkins首頁,選擇"系統管理", 再選擇"Configure Global Security", 去掉選中"防止跨站點請求僞造".
- 而後回到Jenkins首頁,點擊右上角當前用戶名進入用戶界面,選擇"配置", 查看「API Token", 好比User ID: aaa API Token:e55e602720442a31fa1dccf3bbb4dbee
- 能夠經過curl或瀏覽器訪問http://<USER_ID>:<API_TOKEN>@<JENKINS_URL>/job/<JOB_NAME>/build?token=<JOB_TOKEN>測試下是否能觸發構建,按照咱們上面的配置訪問例子以下
- curl -X POST http://aaa:e55e602720442a31fa1dccf3bbb4dbee@<JENKINS_URL>/job/<JOB_NAME>/build?token=1234
Siri shortcuts的配置
首先先搜索捷徑在APP Store中,並安裝它。捷徑shortcuts經過提供的一些操做ction來自動化不少東西,好比獲取字典,訪問網頁等,並能經過詢問Siri來執行這些動做。咱們這裏主要使用了自動訪問web api的操做action。web
流程以下api
參考
Jenkins API Integration : Trigger Job Remotely via Jenkins API
Error 403 No valid crumb was included in the request解決方案
Shortcuts User Guide瀏覽器
2018-9-30 - nicephil@gmail.commarkdown