はじめに要点
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利用の際には仕様の変更に注意していきましょう。