logo jittagornp.me

ทำให้ Jenkins ส่งข้อความแจ้งเตือนเข้า Line กรณีที่ระบบ Deploy ไม่สำเร็จ

1. สมัคร Line Notify

ที่ลิงค์นี้

2. ทำการออก Token

โดยการคลิกที่ปุ่ม ออก Token จากนั้น

  • ตั้งชื่อ Line User ที่จะให้ Line แจ้งข้อความไปหาเรา
  • เลือกว่าจะให้ Line แจ้งข้อความไปหาเราโดยตรง หรือ กลุ่ม Line ที่เราอยู่
  • คลิกปุ่ม ออก Token

ให้ทำการ Copy Token นี้เก็บไว้ อย่าให้หาย เพราะถ้าหายต้องออก Token ใหม่อย่างเดียว

3. ทดสอบการทำงาน

โดยการใช้คำสั่ง curl ยิง Message เข้า Line ดังนี้

$ curl https://notify-api.line.me/api/notify -H "Authorization: Bearer <TOKEN>" -F "message=<MESSAGE>"

ลอง run คำสั่ง

ดูที่ Line

4. เขียน Jenkinsfile (Jenkins Pipeline)

ถ้าใครเขียน Jenkins Pipeline ไม่เป็น สามารถอ่านได้จากบทความนี้ครับ

ตรง Pipeline ให้เพิ่ม Code เข้าไปประมาณนี้

def notify(message) {
    def token = "<YOUR_TOKEN>";
    def jobName = env.JOB_NAME + ' - ' + env.BRANCH_NAME;
    def buildNo = env.BUILD_NUMBER;
      
    def url = "https://notify-api.line.me/api/notify";
    def lineMessage = "${jobName} [#${buildNo}] : ${message} \r\n";
    sh "curl ${url} -H 'Authorization: Bearer ${token}' -F 'message=${lineMessage}'";
}

pipeline {
    agent any
    stages {
        stage ("Change Directory") {
            steps {
                script {
                    try{
                        sh 'cd /not-found-directory';
                    }catch(Exception e){
                        notify("${e.getMessage()}");
                        throw e;
                    }
                }
                
            }    
        }
        
    }
}
  • Method notify ใช้สำหรับแจ้งเตือนเข้า Line ผ่านคำสั่ง curl ของ Linux
  • ใน steps เรามีการ try/catch คำสั่งไว้ ถ้าเกิด Exception ขึ้น ก็จะทำการ notify message ไปยัง Line ที่กำหนด

5. ทดสอบ Pipeline

Pipeline Build Fail

กลับไปดูที่ Line จะเห็นว่า Jenkins มีการส่งข้อความแจ้งเตือนไปให้

Reference

บทความนี้ผมยกเครดิตให้กับคุณ Petch Kruapanich ครับ ซึ่งผมทำตามที่คุณ Petch Kruapanich เขียนไว้บน Medium จาก บทความนี้ มาเพิ่ม LINE Notify ให้ Jenkins กันเถอะ ขอบคุณ คุณ Petch มาก ๆ ครับ

สำหรับเพื่อน ๆ คนไหน ที่ชื่นชอบบทความ และอยากจะสนุนสนันค่ากาแฟเล็ก ๆ น้อย ๆ สามารถคลิกที่ปุ่มนี้เพื่อไปยังหน้า Buy me a coffee ได้ครับ

โฆษณา

iWallet เป็น Bot หรือโปรแกรมอัตโนมัติ ที่เอาไว้ซื้อ/ขาย แลกเปลี่ยนเหรียญ (Digital Token) บน DeFi (Decentralized Finance) โดยใช้ Concept Rebalancing แบบ 50:50

Features
  • รองรับหลาย Wallets
  • รองรับหลาย Networks (ตอนนี้รองรับ BSC, Polygon, Bitkub)
  • รองรับ Token ประเภท ERC-20 ทุกตัว
  • ทำ Rebalancing อัตโนมัติ (50:50)
  • ทำ Manual Reblanacing ได้
  • เติม Gas อัตโนมัติ (ถ้าเห็นว่า Gas ใกล้หมด)
  • PWA (Progressive Web App) สามารถติดตั้งลงบน Desktop และ Mobile ได้
  • รองรับ Two-Factor Authentication (2FA), Google Authenticator
  • ดูประวัติการทำ Rebalancing (Reblancing History)
  • ดูประวัติการโอน (Transfer History)
  • รู้กำไร และขาดทุน โดยดูจากต้นทุนที่โอนเข้า/ออก iWallet (บอกเป็น %)
  • มีหน้าจอสำหรับโอน (Transfer) Token
  • มีแจ้งเตือนทาง LINE (Notification) ถ้า Bot ทำ Rebalance หรือมีการโอนเข้า/ออก iWallet
  • Export ประวัติการทำ Rebalancing ในรูปแบบ Excel
  • อื่น ๆ ที่กำลังพัฒนาต่อ
อ่านรายละเอียดเพิ่มเติมได้ที่ https://iwallet.jittagornp.me
profile photo
จิตกร พิทักษ์เมธากุล fire fire fire
Software Developer พ่อลูกอ่อน