【Slack APIアップデート】Slackのピン留めのAPI仕様が変更されたので試してみた

記事タイトルとURLをコピーする

はじめに要点

Slackのピン留めのAPI( pins.add )のパラメータ仕様に変更があったので、利用の際には注意しましょう。

説明

サーバーワークスではコミュニケーションツールにSlackを利用しています。中でもサービス開発課は社内週報をSlackのポストを用いて発行しており、その運用をAPIで自動化しています。 http://blog.serverworks.co.jp/tech/2019/07/17/ca-shuho-slack-post/

その中の処理の一つに「作成したPOSTをチャンネルにピン留めする」があるのですが、それが最近動作しなくなってしまっていました( not_pinnable エラーが返答される)。 上記記事の該当部分を抜粋すると以下のようなコード(slack-ruby-clientというライブラリを利用)で実行していたのですが、

client.pins_add(
  channel: '[Channel ID]',
  file: '[File ID]'
)

Slack API仕様を確認すると、2019年8月22日から pins.add APIは file および file comments パラメータをサポートしなくなってしまったようで、ピン留めするファイルは timestamp を用いて指定しなくてはならなくなったようです。

We are phasing out support for pinning files and file comments only. This method will no longer accept the file and file_comment parameters beginning August 22, 2019. pins.add method | Slack

したがって、上記記事の該当部分を以下のように修正したところ動作するようになりました。

client.pins_add(
  channel: '[Channel ID]',
  timestamp: '[ファイルのタイムスタンプ]'
)

API利用の際には仕様の変更に注意していきましょう。