SlackでWebhook URLを発行する
ここから( https://slack.com/apps/A0F7XDUAZ-incoming-webhooks )Webhook URLを発行します。
発行されるとWebhook URL
ってところに
https://hooks.slack.com/services/xxxxxx/xxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx
こんな感じのURLが貰える
AndroidManifestでインターネットの接続を許可する
AndroidManifest.xml
に
<uses-permission android:name="android.permission.INTERNET"/>
を追記します。
app/src/main/AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest>
<uses-permission android:name="android.permission.INTERNET"/>
<application>
...
</application>
</manifest>
GradleにFuelを追加
KotlinのFuelというライブラリーを使用します。
dependenciesに追加
app/build.gradle
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
android {
compileSdkVersion 25
...
}
dependencies {
...
compile 'com.github.kittinunf.fuel:fuel:1.8.0'
}
Slackにメッセージを送る
実際にkotlinでリクエストを送る処理を書いていきます。
app/src/main/java/xxxx/xxxx/xxxx/MainActivity.kt
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import com.github.kittinunf.fuel.Fuel
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
sendMessage()
}
fun sendMessage() {
val webhook: String = "https://hooks.slack.com/services/xxxxxx/xxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx"
val body: String = "{ \"text\" : \"test message\" }"
Fuel.post(webhook).body(body).responseString { _, response, result ->
result.fold({ _ ->
Log.d("res", response.toString())
}, { err ->
Log.e("err", err.toString())
})
}
}
}
とりあえずMainActivity
のonCreate
から呼ばれるようにしたのでアプリを立ち上がる度にSlackへメッセージが飛びます。
実行!
おわり
シンプル!簡単!