新しい Slack プラットフォームでの開発体験は、 SDK や CLI によって大きく左右されます。この開発ツールは定期的にプラットフォームの変更により、新しいバージョンをリリースしています。ご意見をぜひお聞かせください(日本語でも大丈夫です)。
app list
コマンドは認証を必要としなくなりました。代わりに認証が見つからない場合、アプリのステータスは unknown
を表示するようになりました。run
と deploy
と delete
のコマンドは、ワークスペースレベルの認証がない場合に OrG レベルの認証を使うようになりました。slack trigger list
コマンドに --type=<string>
というフラグを追加しました。このフラグを指定すると特定の種別のトリガーのみを表示するようになります。
slack trigger list --type=shortcut
--type=<string>
に指定できるフラグの値は all
、 shortcut
、 event
、 webhook
、 scheduled
、 external
です。--help
を指定すると利用可能なフラグの詳細が表示されます。
slack external-auth add-secret --provider github --secret my-secret-value
slack app list
コマンドで、アプリの詳細情報にアクセスするための認証を行っていないアプリの表示を改善しました。
(local)
が表示されるようになりました。Status: Unknown
と表示するようになりました。workflow
、function
、datastore
、customType
、event
、 provider
の定義で重複する主キーを登録した場合、エディター上でエラーが表示されるようになりました。この改善により、実行時の意図しない挙動を防ぐことができるようになります。.github
ディレクトリーが含まれなくなりました。feedback@slack.com
に変更しました。アプリが internal_error (内部エラー) を返した場合、このメールアドレスにお問い合わせください。slack app list
コマンドを実行したときに、インストール済のアプリについて Status: Unknown
ではなく Status: Installed
が表示されるようになりました。slack run
や slack deploy
コマンドを実行したとき、トリガーがいくつ存在するかに関わらず、トリガーを生成するプロンプトを自動的にスキップするようになりました。slack run
セッションの終了時、ソケットコネクションを適切に終了させるようになりました。functions
や datastores
の type
フィールドについて、入力候補の自動補完を改善しました。slack app delete
コマンドを実行したが、アプリを削除しないよう選択したという場合に確認のメッセージを表示するようにしました。slack run
と slack deploy
にアプリのトリガーを表示しないようにするための --hide-triggers
というフラグを追加しました。trigger list --limit <n>
コマンドで表示をページネーションされた結果に絞ることができるようになりました。named_entities
に設定した場合、アプリのコラボレーターを named entities リストに含めるか除外するかを促されるようになりました。--include-app-collaborators
というフラグで、このプロンプトをスキップすることができます。slack activity
コマンドを更新しました。詳細はloggingを参照してください。--token
フラグが指定されている場合、バックグラウンドでの更新のチェックは自動的に無効化されるようになりました。deno upgrade
が失敗した場合 deno
の インストールは curl
を使用するようにしました。slack logout
コマンドが --workspace
フラグを受け付けるようになりました。slack run
コマンドがアプリのすべてのトリガーとその種別を表示するようになったため、slack run
から --show-triggers
というフラグを削除しました。破壊的変更
6 月 28 日より、v1.17.0
以下の CLI は非推奨となりました。最新バージョンへのアップグレードは slack upgrade
コマンドを使用してください。詳しくはこちらを参照してください。
-v
のサポートするようになりました。-d
フラグを追加しました。workspace
コマンドを新しい app
コマンドで置き換えました。config-dir
が表示されるようになりました。token
を利用するため、auth
フラグは非推奨となりました。app list
コマンドを更新しました。external-auth remove
コマンドを利用する際、削除するトークンを選択できるようになりました。external-auth select-auth
コマンドは、アプリの各ワークフローに対してユニークな認証を指定することができます。このコマンドは、credentialSource DEVELOPER
を含むステップを持つワークフローを使用するときに必須です。つまり、ワークフローを作成するたびに external-auth add
コマンドの実行後、このコマンドを呼び出す必要があります。slack auth token
と slack auth revoke
というコマンドを利用できるようになりました。
slack auth token
コマンドを実行すると slackauthticket
のスラッシュコマンドが表示され、そのコマンドをワークスペース内で実行すると、サービストークンが付与されます。credentials.json
ファイルには保存されない代わりに、Slack CLI のプロンプトに表示されます。 CI/CD パイプラインのご利用の場合、こちらから保存しておいてください。slack login --auth <your-service-token>
コマンドで Slack CLI を認証することができます。--token <token>
フラグを追加しました。このフラグにより、認証が必要とするリクエストで使用するサービストークンを渡すことができます。例えば、以下の場合:
slack install --token <your-service-token>
slack trigger create --token <your-service-token> --app deployed --trigger-def triggers/trigger_def_file.ts
slack deploy --token <your-service-token>
--experiment [name,name,...]
フラグのサポートを追加しました。trigger info
の出力に、誰がトリガーを実行できるか表示されるようになりました。--no-color
フラグを追加しました。これにより CLI からの出力をテキストファイルへパイプするのが容易になりました。datastore query
コマンドが cursor
引数をサポートし、クエリ結果を自由にページネーションできるようになりました。本日、 Slack でオートメーションをより早く柔軟に構築することができる 次世代の Slack プラットフォームを開発者の皆さんに一般公開することをお知らせします。
このプラットフォームの刷新されたアーキテクチャは、開発者の皆さんがカスタムアプリやワークフローをセキュアかつコンプライアンスに準拠した環境を用いて、より早く簡単に構築・コーディング・デプロイを行うためのより多くの手段を提供します。発表のブログポストを読んだり、クイックスタートガイドに従って今すぐ始めてみましょう!
CLIの機能強化
login
の手順をより分かりやすくしました。trigger_execution
のログをより読みやすいフォーマットに改善しました。git
バージョンを表示するよう slack doctor
コマンドを更新しました。slack help
コマンドを使用する際に表示されるいくつかのフラグを非表示にしました。これらの隠されたコマンドは slack help -v
コマンドの実行時に表示されます。バグ修正
slack help deno
コマンドを実行したときに発生する CLI ランタイムエラーを修正しました。--verbose
フラグ指定時の出力にタイムスタンプが表示されるようになりました。create
コマンドの開発体験がよりシンプルになりました。trigger create
や trigger list
を実行する際に、イベントを受信するためにアプリをチャンネルに招待するようにヒントを追加しました。また、トリガーの詳細を表示するときの出力を整えました。message_limit_exceeded
というエラーコードのサポートを追加しました。無料ワークスペースがメッセージ制限に達した場合、このエラーコードが callbacks.chat/postMessage、chat/postEphemeral、chat/postMessage、chat/scheduleMessage、chat/shareMessage、files/share、drafts/create というエンドポイントからの応答に含まれます。詳細については、無料ワークスペースに設定されている使用制限を参照してください。slack cloud
コマンドを slack platform
に改名しました。詳しくは、コマンド のドキュメントをお読みください。(dev)
の代わりに (local)
が表示されるようになりました。slack workspace uninstall
コマンドを slack workspace delete
に改名しました。slack login --auth <string>
コマンドを使用してログインする際のユーザー体験を改善しました。--app
フラグの省略形の -a
を追加しました。slack auth info
コマンドを削除しました。関連する情報は slack auth list
コマンドで確認できます。slack samples
コマンドを追加しました。このコマンドを使用すると、新しいアプリを作成する時に利用できるテンプレートのリストが表示されます。CLI の更新
slack trigger access
コマンドに --no-prompt
フラグを渡すとプロンプトを回避するようになりました。open-form-response export
コマンドが追加されました。--local-run
を置き換えるものとして、グローバルに有効な --app <id|env>
フラグを追加しました。function_runtime
を slack
ではなく undefined
に変更しました。dev
から local
に更新しました。新機能
datastore update
コマンドを追加しました。データストアの put
コマンドがレコード全体を置き換えるのに対し( HTTP PUT と同様)、この新しい update
コマンドはフィールド単位での変更を行うことができ、指定されていないプロパティーは変更されません( HTTP PATCH と同様)。
slack.json
内で config.trigger-paths
プロパティーを設定して、トリガーファイルのカスタムパスを指定できるようになりました。
trigger create
や trigger update
を使用する際、ファイルが指定されていない場合、ファイルを選択するプロンプトが表示されるようになりました。
deploy
, run
, env
コマンドを実行するときに、ワークスペースを指定するための --workspace
(-w
) フラグを使用できるようになりました。このフラグを指定しない場合、 CLI は現在ログインされているワークスペースから選択するよう促されます。 slack auth list
コマンドでアプリがどのワークスペースに認証されているか確認することができます。指定したいワークスペースが表示されない場合、slack login
コマンドで再度ログインしてみてください。
機能強化
activity
コマンドが workflow_bot_invited
イベントタイプをフォーマットするようになりました。external-auth remove
コマンドにトークンの失効に関する情報を追加しました。invalid_challenge
というエラーの解決案を追加しました。deploy
や run
コマンドを実行する際に、今後の破壊的変更に関するアナウンスを追加しました。今後の破壊的変更については、以下に記載しています。create
コマンドの出力を改善しました。メンテナンスウィンドウの予定
2023 年 3 月 13 日 13 時から 17 時(太平洋標準時/PST)の間、セキュリティーに関する改善を行う予定です。この間、Run on Slack のファンクションにラグやダウンタイムが発生する可能性があります。
今後の破壊的変更
以下の破壊的変更は、2023 年 4 月 6 日 に適用されます。アプリを動作させ続けるには 4 月 6 日までに以下の手順に従ってアプリをアップデートしてください。
サードパーティ認証
credential_source
プロパティーを使用してください。例えば、以下のように設定します:// これまでの例
const sampleFunctionStep = SampleWorkflow.addStep(SampleFunctionDefinition, {
user: SampleWorkflow.inputs.user,
googleAccessTokenId: {},
});
// 新しい実装の例
const sampleFunctionStep = SampleWorkflow.addStep(SampleFunctionDefinition, {
user: SampleWorkflow.inputs.user,
googleAccessTokenId: {
credential_source: "DEVELOPER" // これを 2023 4 月 6 日までに追加してください
},
});
データストア
botScopes
属性に datastore:read
と datastore:write
スコープが自動的に追加されなくなります。apps.datastore.put
の関数は指定したフィールドのみを上書きするのではなく、データストアのアイテム全体を上書きするようになりました。各フィールドをアップデートする場合は apps.datastore.update
を使用してください。primary_key
が唯一の必須の属性で、他の属性はすべて任意(必須でない)の属性として扱われます。適切に扱われていない任意の属性を指定した場合、コード内で TypeScript エラーが発生する可能性があります。任意の属性に移行したい場合、DatastoreItem
にキャストすることができます。import { DatastoreItem } from "deno-slack-api/types.ts";
const response = await client.apps.datastore.get<typeof SampleObjectDatastore.definition>({
datastore: "SampleObjects",
id: sampleObject,
},
);
const item = resp.item as DatastoreItem<
typeof SampleObjectDatastore.definition
>;
resp.item.original_msg // これはまだ必須ですが
item.original_msg // この属性は任意です
インタラクティブなペイロード
action
と view_submission
のペイロードがハンドラー関数にルーティングされる際、 そのペイロードに response_url
プロパティーは含まれなくなりました。引き続き、これらのハンドラーでも使用できる Slack API クライアントである client
オブジェクトを使って Slack のメッセージ API を直接呼び出すことはできます。組み込みのファンクション
ReplyInThread
ファンクションは、スレッドのメッセージに返信する新しい方法です。返信したいメッセージを SendDM
や SendMessage
の thread_ts
パラメーターとして渡す代わりに、そのメッセージを ReplyInThread
ファンクションの message_context
パラメーターに渡せるようになりました。InviteUserToChannel
に新しい任意のパラメーターが二つ追加されました。ユーザー ID の配列である user_ids
と、チャンネル ID の配列である channel_ids
です。 user_id
と channel_id
は、2023 年 4 月 6 日に削除される予定です。AddUserToUsergroup
と RemoveUserFromUserGroup
には新しい任意のパラメーターとして user_ids
というユーザー ID の配列が追加されました。 user_id
のパラメーターは削除されます。Slack CLI
slack
という名前のプログラムを上書きしないように変更されました。slack logout
でログアウトすると、認証トークンとリフレッシュトークンが無効となるよう改善しました。slack run
、 slack deploy
、 slack collaborator list
などの環境に応じたコマンドでは、ワークスペースの選択のみがプロンプトされます。その後、コマンドにより自動的に環境が選択されるようになりました。トリガーの更新
slack deploy
でデプロイをする際、環境にトリガーが存在しない場合、トリガーファイルからトリガーを生成するプロンプトが表示されるようになりました。slack triggers list
を実行すると、各トリガーの作成時刻と最終更新時刻が含まれるようになりました。workflow_not_found
で失敗した場合に、どう修正すればよいかをサジェストするエラーメッセージを表示されるようになりました。その他の変更
DefineProperty
オブジェクトラッパーが追加され、ネストしたオブジェクトのプロパティーとパラメーターに正確な型付けができるようになりました。message_ts
と message_context
というタイプが Deno Slack SDK に追加されました。Slack.types.string
型の email
と url
のフォーマットプロパティーが追加されました。client.apps.external.auth.get
メソッドが Deno Slack API に追加されました。重要な変更
outgoingDomains
属性に設定する必要があります。slack login
の実行とワークスペースで /slackauthticket
を貼り付けることでログインするとき、そのまま CLI に戻ってくるのではなく、検証用のコードが発行されるので、それを CLI に入力してログインを完了させる流れになります。この変更は、古いバージョンでのログインセッションを無効化しません。また credentials.json
ファイルに保存されている既存のログインセッションも影響を受けません。その他の変更
slack run
コマンドを使うときに、トリガーの作成を選択できるようになりました。この選択プロンプトは slack deploy
コマンドの実行時には発生しません。datastores_deleted
の schema_compatibility_error
に関するエラーメッセージを改善しました。slack datastore
コマンドを更新しました。channel_id
をトリガーへのアクセスを付与・削除するときに指定できるようになりました。slack datastore
コマンドを app_id
パラメーターが不要となるように更新しました。今後は内部のアプリ選択処理が自動的に app_id
をクエリに含めるようになります。slack env add
や slack env remove
コマンドで必要なフラグが渡されていない場合、これまでの理解が難しいエラー表示の代わりに何が必要か表示するようにしました。また、slack env add
が秘匿すべき情報を受け取るときに、パスワード入力時のようにターミナル上でその内容を非表示とするようにしました。これによってターミナルの履歴から情報が漏洩することを防止できるようになりました。slack
と名前のつけられた他のバイナリファイルを強制上書きしないようにする防止策を講じました。slack create
コマンドを利用するときに git コマンドがインストールされていない場合のエラーメッセージを追加しました。channel_not_found
エラーが発生したときに、どう修正すべきかの助けとなるメッセージを追加しました。slack install
/slack deploy
コマンドを選択されたワークスペースのトークンを利用するように変更しました。slack datastore get
/slack datastore delete
コマンドで primary_key
の名前の代わりに id
を使用するよう変更しました。slack uninstall
コマンドを使ってアプリをアンインストールするときに、そのアプリに関する全てのデータ(ワークフロー、ファンクション、データストア)が削除される旨を警告するメッセージが表示されるようになりました。詳しくはこちらのアップデートをご確認ください。slack manifest validate --verbose
コマンドを使ってアプリマニフェストのバリデーションを行うときにアプリの ID を選択するよう促されるようになりました。この変更は、これまで正しくないアプリ ID に対してバリデーションが行われていた不具合への修正です。各アプリは、その開発段階に応じて少し異なるマニフェストを持つ場合がありますが(ローカル開発かデプロイ済の本番アプリかによって違いがあります)、アプリを選択することでローカル開発プロジェクトのマニフェストも正しく検証できるようになりました。slack collaborator add U123456789
と slack collaborator add iuseslack@mycompany.com
のどちらでも利用できるようになりました。slack create
コマンドを実行する際にぜひ scaffold のアプリを選んでみてください。新しいプラットフォームのデータストア について、より理解を深められるはずです。破壊的変更
2023 年 1 月 19 日以降、リモート HTTP リクエストを使用する場合、そのすべてのドメインをアプリの マニフェストファイル に outgoingDomains
プロパティーとして指定する必要があります。
これまで Slack にホスティングされたアプリのための outgoingDomains
は「アプリの承認が必要」の設定が有効なワークスペースにのみ適用されていましたが、今後は全てのワークスペースに適用されます。
outgoingDomains
は 2023 年 1 月 19 日 (木)16:00 UTC(日本時間:2023 年 1 月 20 日(金)午前 01:00)、 Slack にホスティングされたアプリの全てのワークスペースに適用されます。
また、これまで「アプリの承認が必要」の設定が有効なワークスペースでは hooks.slack.com
が外部ドメインの許可リストに暗黙的に追加されていました。 2023 年 1 月 19 日以降は hooks.slack.com
はこのリストから削除されます。あなたのファンクションが hooks.slack.com
にネットワークリクエストを行う場合、外部ドメインとして明示的に追加する必要があります。
CLI を v1.15.0にアップグレードして、依存パッケージの deno-slack-hooks
を v0.7.0
にアップグレードすると slack run
コマンドでアプリをローカル実行するとき outgoingDomains
のプロパティーが強制されます。
アプリが外部ドメインへのネットワークリクエストを行う場合、 slack run
コマンドで動作テストをしてみてください。"Requires net access to <domain_name>" (<ドメイン名>へのネットワークアクセスが必要です) というエラーが発生した場合、表示されたドメイン名を outgoingDomains
プロパティーに追加して、もう一度 slack run
を実行します。これらの確認が全て完了したら、slack deploy
コマンドで再度デプロイを行ってください。
アップデート
バグ修正
slack manifest validate
コマンドが Hello World テンプレートのマニフェストを検証する際に requires_request_url
や requires_socket_mode_enabled
というエラーを発生する問題を修正しました。slack workspace default
コマンドを削除しました。enterprise_id
を追加しました。すべてのファンクションコンテキストパラメーターはこちらをご覧ください。slack activity
コマンドを更新しました。ローカル開発のアプリを選択できるようになりました。slack external-auth add-secret
コマンドの警告メッセージに --secret
フラグを追加しました。slack-debug-[date].log
ファイルに出力されるようになりました。その他の動作に関する情報は何もログに出力されません。slack-debug-[date].log
ファイルからユーザーのホームディレクトリやユーザー名などの PII (個人を特定できる情報) を削除しました。バグ修正
slack run
や slack activity --tail
を実行しているときに、タイムアウトまで時間が経過するとコマンドを終了してしまう問題を修正しました。slack trigger info
コマンドを追加しました。このコマンドを実行するとトリガーの ID、種類、名前と URL が表示されます(実行例:slack trigger info --trigger-id "Ft123ABC456"
)。slack feedback
コマンドを追加しました。 Slack CLI へのご意見(良かったことも良くなかったことも)をぜひお聞かせください。フィードバックを送信するには、このコマンドを利用するか、こちらのアンケートページから送信いただきますようお願いいたします。slack-debug-20220915.log
)。このログファイルは .slack/logs
フォルダからアクセスできます。(注意).slack/logs
フォルダにあるログファイルは 1 週間以上立つと CLI により自動的に削除されます。バグ修正
slack trigger
と slack workspace
コマンドが 'Error: unknown command'
というエラーを返す問題を修正しました(例: slack trigger <無効なコマンド>
または slack workspace <無効なコマンド>
)。slack auth
と slack collaborators
コマンドに追加の引数が渡されない場合、slack auth list
と slack collaborators list
がデフォルトで実行されるようになりました。破壊的変更
Slack CLI で作成されたすべてのアプリはデフォルトで OrG 全体へのインストール に対応するようになりました。 OrG 配下のワークスペースにインストールされたすべてのアプリは再度インストールする必要があります。
FunctionHandler
型はエクスポートされなくなりました。カスタムファンクションを構築するには、代わりに SlackFunctionHandler
を使ってください。または、このリリースから公開された新しい SlackFunction
ヘルパーを使用してください。
DefineType()
はプロパティとして callback_id
を受け付けなくなりました。callback_id
は非推奨となり、代わりに name
を推奨するようになりました。
options.client_secret_env_key
プロパティは DefineOAuth2Provider()
から削除され、代わりに add-secret
という CLI コマンドを推奨するようになりました。 client_secret_env_key
を利用されている場合、それを削除し、代わりに値を指定するために add-secret
を使用することができます。
以下の組み込みファンクション は message
パラメーターに Block Kit の値を使用することができなくなりました。
SendDm
SendMessage
SendEphemeralMessage
text
と rich_text
はサポートされています。以下のフィールドは block_actions/view_submission/view_closed
のインタラクティビティイベントペイロードから削除されました。
body.user.username
body.trigger_id
body.token
body.is_enterprise_install
body.app_unfurl
body.workflow_step
body.trigger_info
これまで body.trigger_id
を利用するインタラクティビティハンドラーを運用していた場合、今後は代わりに body.interactivity.interactivity_pointer
を使うようにしてください。
string
型の uri
は url
に変更されました。 format: "uri"
を OpenForm
入力フィールド や カスタムファンクション のトップレベル文字列パラメーターとして使用している場合は、 format.url
に更新してください。
他の変更
reverse-string
アプリのテンプレートは削除されました。slack run
コマンドから利用規約の確認が削除されています。アプリのインストールに管理者の承認が必要のないワークスペースでは、slack run
コマンドを実行すると、管理者が利用規約に同意しなくても、ローカルの開発サーバーを起動することができます。interactive_blocks
フィールドを追加しました。
SendDm
SendMessage
SendEphemeralMessage
slack run
コマンドのファイルシステムの変更を監視する方法を改善しました。破壊的変更
今後は manifest.ts
で利用する各組み込みファンクションが必要とするスコープを指定する必要があります。より詳細な情報はこちらをお読みください。
次世代プラットフォームでは、ファンクションを実行するために自動生成されたショートカットは利用できなくなります。その代わり、今後はファンクションを実行するためにワークフローとトリガーを利用してください。ファンクションをワークフローに追加し、そのワークフローにトリガーを割り当てればファンクションを実行できるようになります。
破壊的でない変更
view_submission
と view_closed
イベントをサポートするようになりました。これにより、アプリでのモーダルの見た目や処理の流れをカスタマイズできるようになりました。slack trigger access
を使うことでワークスペース内でトリガーを実行できるユーザーを管理することができます。displayName
、 longDescription
、 functions
、 workflows
、 outgoingDomains
、 events
、 types
、 datastores
、 features
を追加しました。バグ修正
破壊的変更
グローバルショートカットに代わり、リンクトリガーはファンクションを起動するためのツールになります。つまり、 Slack の次世代プラットフォームではグローバルショートカットを作成することができなくなります。ファンクションを使用するにはワークフローに追加し、トリガーを設定する必要があります。
リンクトリガーを使うことで、あなたのアプリはさらなるインタラクティブ性とより多くのユーザー入力を追加できるようになります(これのために新しい組み込みファンクションの OpenForm を試してみてください)。それとともに、ワークフローを活用すれば、ワークスペース全体をよりシームレスにタスクの自動化することができます。ワークフローを開始するには、トリガーを設定する必要があります。以前のバージョンのアプリをワークフローとトリガーを活用する最新バージョンに移行する方法については、ワークフローとトリガーへの移行ガイドを参照してください。
trigger create
、 trigger update
、 trigger delete
コマンドを追加しました。OpenForm
を追加しました。SendDm
と SendEphemeralMessage
の ts
パラメーターを message_ts
に変更しました。SendMessage
に新しい出力パラメーターの message_link
を追加しました。入力パラメーターの meta_data
を metadata
に変更しました。出力パラメーターの ts
を message_ts
に変更しました。RemoveUserFromUsergroup
の入力パラメーターを user_ids
から user_id
に変更しました。InviteUserToChannel
の出力パラメーター user_id
を追加しました。CreateChannel
の入力パラメーターの is_private
は任意にしました。triggers
と collaborators
を複数形から単数形に変更し、trigger
と collaborator
となりました。slack var
を非推奨にしました。環境変数の追加・表示・削除をする際は slack env
のサブコマンド add
、list
、remove
を使ってください。--help
フラグをつけて実行してください。integer
、number
、usergroup
、timestamp
、blocks
、Object
型のサポートを追加しました(詳しくはこちら)。read_only_message_tab
と messages_tab_enabled
のサポートを追加しました。 アプリのマニフェストファイルの features
プロパティによってメッセージタブを非表示にすることができるようになりました。name
プロパティを追加しました。また、 DefineType
を定義するときの callback_id
プロパティを非推奨にしました。より詳細な情報は新しいコードサンプルをご覧ください!slack run
コマンドのデフォルトの挙動が、ローカル実行が終了しても dev アプリを削除せずにワークスペース内に残すように変更されました。ローカル起動の終了後に dev アプリを削除したい場合は --cleanup
フラグを指定してください。upgrade
コマンドを追加しました。 CLI と SDK を同時に更新するには slack upgrade
コマンドを使ってください。.slack
ディレクトリが削除されてしまう問題を修正しました。distribute
コマンドを実行した後、他のユーザがファンクションにアクセスできるようにするには、アプリを再度デプロイする必要があります。より詳細な情報はこちらをお読みください。slack activity
コマンドに出力をフィルターするためのフラグ(指定は任意)として --component-id
、 --source
、--trace-id
を新たに追加しました。 詳しくはこちらをお読みください。slack run
実行時に一部のユーザーに影響が発生していた cache_error
というエラーの不具合を修正しました。slack login
コマンドを再実行できるようになりました。distribute
コマンドを利用することで "Slack's managed infrastructure" ファンクションへのアクセス許可設定を変更することができます。--grant
でアクセスを許可し、 --revoke
で取り消します。詳しくはこちらを参照してください。slack run
コマンドに --no-cleanup
フラグを追加しました。このフラグを指定すると、ローカル起動が終了しても dev アプリは削除されずにワークスペース内に残ります。client.apps.datastore.*
の呼び出しで Datastore のジェネリック型を渡すことができるようになりました。 より詳細な情報は Datastores の使い方 のドキュメントを参照してください。client.apiCall('chat.postMessage', {...})
の代わりに client.chat.postMessage({...})
と記述できます。詳細は Slack API 呼び出し のドキュメントを参照してください。activity --tail
コマンドが正常に動作しなかった問題を修正しました。2022 年 4 月 19 日以前に次世代プラットフォームのアプリを開発されましたか?
2022 年 4 月 19 日以前に次世代プラットフォームのアプリを開発された場合は、CLI は、ワークスペースから再度認可を受ける必要があります。これを実行するには slack auth logout
コマンドでログアウトしてから slack auth login
コマンドで再度の認可を行なってください。
DefineFunction
の id
はファンクションの定義へ移動し、今後はそれを callback_id
と呼びます。Project.ts
は manifest.ts
になりました。 アプリはプロジェクトのマニフェストで設定されます。functions
、types
、datastores
に対応しています。DefineType
の id
は型定義に移行し、今後は callback_id
と呼びます。channels
、user
、boolean
、string
のみになりました。また user
、channel
、string
(列挙型) の配列もサポートしています。client
という変数を提供しません。別途公開されている API ライブラリを import し、token
を提供するヘルパーを使ってインスタンス化してください。FunctionHandler
を通じて利用できます。slack create
コマンドは、新しい Deno Slack SDK を使った Reverse String (文字列の反転) アプリを生成します。slack activity
コマンドが出力するデプロイメントに関するログの内容が刷新されました。slack run
コマンドは、ローカル開発のサーバを停止すると dev アプリを削除するようになりました。slack doctor
コマンドは、さらに詳細な情報を含む形で刷新されました。slack list
コマンドは、コラボレーターを表示する代わりに認可されたアカウントの一覧を表示するようになりました。.slack/cli.json
はプロジェクトから削除されました。slack.json
がプロジェクトのルートディレクトリの必須ファイルになりました。slack.json
は SDK の更新をよりスムーズにするための新しいフォーマットに変更されました。slack tables
コマンドは削除されました( slack datastore
を参照してください)。以下の機能については変更はありません。
slack login
によるワークスペースへのログインslack create
によるアプリの作成slack run
によるローカル開発slack deploy
によるアプリのデプロイslack activity --tail
を使ったデプロイされたアプリのデバッグslack collaborators
によるコラボレーターの管理DefineFunction
と DefineType
の利用私たちは作成されたテーブルとそれにアクセスするための API のルート (apps.tables.*) を2 週間維持します。もし取得しておきたいデータがあれば、この期間のうちに API を使って取得してください。(新しいバージョンの CLI/SDK は Tables API をサポートしないため、API を直接利用いただく必要があります)。データを移行する作業を容易にするためにこちらのスクリプトを使ってください。