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 install
かpod 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のお役立ち情報