top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
Microsoft Teams
のチャンネルに Incoming Webhook
を経由した記事の投げ込み方法をメモします。
echo '{"title": "テスト投込","text": "[いがぴょんの日記v2](https://www.igapyon.jp/igapyon/diary/index.html)"}' | curl -H 'Content-type: application/json' -d @- https://outlook.office.com/webhook/b<中略>a/IncomingWebhook/a<中略>3
こちらは Java/Spring を使った例です。 Javaで Jackson を利用した JSON シリアライズおよび REST 呼び出しのサンプルも兼ねてます。
import java.io.IOException;
import java.net.URI;
import org.springframework.http.MediaType;
import org.springframework.http.RequestEntity;
import org.springframework.web.client.RestTemplate;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* Microsoft Teams Incoming Webhook をキックするシンプルサンプル。
*/
public class SimpleTeamsIncomingWebhook {
/** API 接続先 URL */
public static final String TEAMS_INCOMING_WEBHOOK = "https://outlook.office.com/webhook/9...中略...a/IncomingWebhook/8...中略...3";
/** Webhook データ構造 */
@JsonSerialize
static class SimpleTeamsIncoming {
public String title;
public String text;
}
public static void main(String[] args) throws IOException {
// 送信データの値をセット
SimpleTeamsIncoming incoming = new SimpleTeamsIncoming();
incoming.title = "テストポスト";
incoming.text = "これはテストのポストです。";
// 送信データを JSONテキスト化
final ObjectMapper mapper = new ObjectMapper();
final String incomingJson = mapper.writeValueAsString(incoming);
// API 呼び出し
RequestEntity<?> req = RequestEntity //
.post(URI.create(TEAMS_INCOMING_WEBHOOK)) //
.contentType(MediaType.APPLICATION_JSON_UTF8) //
.body(incomingJson);
new RestTemplate().exchange(req, String.class);
}
}
Maven 依存関係は以下です。Spring Web を入れることにより Jackson 一式が入ります。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.4.RELEASE</version>
</dependency>
暖冬な感じだったのですが、ここのところ、とても冷え込んでますね。。。
Last modified: $Date: 2019-05-11 $