LoginSignup
6
2

SwiftからSlackに通知を送るコード

Last updated at Posted at 2021-10-24

SwiftからSlackに通知を送るコード。

1. SlackのWebhook URLを取得

まずはSlackのWebhook URLを取得する必要があります。

特に難しいポイントはありませんので以下の記事を参考に、https://hooks.slack.com/から始まるURLを取得します。

botを設定する際に、botのアイコンやbotの名前も自由に設定できます。

2. Alamofireを導入

ライブラリのAlamofireを導入します。

必須ではありませんがコード量が短くて済みます。

CocoaPodsの場合はPodfileにpod "Alamofire"を書いてpod installpod updateをターミナルから実行。

Carthageの場合はCartfileにgithub "Alamofire/Alamofire"を書いてcarthage update --platform iOSをターミナルから実行。

3. コーディング

最後に適当なswiftファイルを作って以下のコードを実装すれば完成です。

import Foundation
import Alamofire

let parameters: Parameters = [
    "attachments": [
        [
            "color": "#36a64f",
            "text": "〇〇さんが会員登録を行いました!",
            "fields": [
                [
                    "title": "日時",
                    "value": String(describing: Date()),
                    "short": true
                ],
                [
                    "title": "名前",
                    "value": "〇〇",
                    "short": true
                ],
                [
                    "title": "メールアドレス",
                    "value": "〇〇",
                    "short": true
                ]
            ]
        ]
    ]
]
let headers: HTTPHeaders = [
    "Content-Type": "application/json"
]
AF.request("取得したWebhookのURL",
           method: .post,
           parameters: parameters,
           encoding: JSONEncoding.default,
           headers: headers).responseString {
            response in
    switch response.result {
        case .success(let element): do {
            print("success")
        } catch {
            print("error")
        }
        case .failure(let error): do {
            print("error")
        }
    }
}

日時はSlackに送信する現在時間をそのまま入れていますが、変更したい場合は自由に設定してください。

"value": "〇〇"の部分はそれぞれ設定してください。

Swiftのお役立ち情報

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2