Slack のプライベートチャンネルへの統合を追加

チャット統合を使って、プライベートな Slack チャンネルに投稿する方法を模索しています。タスク管理ツールの Asana ではこれを実現できましたが、Discourse ではそれができないようです。

プライベートチャンネルを作成して「アプリを追加」へ進むと、Asana では追加オプションが表示される一方、Discourse では「表示」のみが選択可能です。

これは、Slack 側で Discourse アプリに対して付与すべき権限の問題なのかもしれません。残念ながら、私はもはや Slack インスタンスの管理者ではないため、IT グループと協力してテストする必要があります。何かヒントがあれば幸いです。

両方のアプリを追加しようとした際のスクリーンショットを以下に示します:

「いいね!」 1

Slack のアカウントでテストしました。そのアカウントでは、チャンネルの「アプリを追加」リンクをクリックして、Discourse アプリをプライベートチャンネルに追加できます。これは、Slack 管理者がメンバーであるプライベートチャンネルでも、メンバーでないプライベートチャンネルでも機能します。

Discourse アプリにプライベートチャンネルを「表示」する権限のみが与えられている場合、問題は Discourse アプリに付与された権限に関連している可能性があります。私のアカウントでは、Set up Slack notifications using the discourse-chat-integration plugin の手順 5 に記載されている以下の権限を使用しています。

  • chat:write
  • chat:write.customize
  • users:read
  • channels:history
  • groups:history
  • im:history
「いいね!」 3

はい、トップチャットに関連する2つの権限が不足していました。しかし、奇妙なことに、アプリをすべてのチャンネルで利用可能にした後も、Slack 管理者をチャンネルに招待したプライベートチャンネルでのみ動作し始めたようです。おそらく、その部分の権限設定に問題があるのでしょうが、来週彼とさらにテストを行う必要があります。更新情報をありがとうございます。

はい、フォローアップとして、現在のテスト状況を共有します。

すべての権限設定は正しいと考えていますが、Slack の管理者が本日帰宅してしまいました。プライベートな Slack チャンネルに投稿しようとした際に「チャンネルが存在しない」というエラーが発生することに気づきました。当初は、テスト用に新しく作成したチャンネルが原因ではないかと考えましたが、より古いテストチャンネルでも同様のエラーがルールセットで表示されました。

エラーをクリックすると、詳細は以下の通りです。

{
  "error_key": "chat_integration.provider.slack.errors.channel_not_found",
  "request": "",
  "response_code": "200",
  "response_body": "{\"ok\":false,\"error\":\"channel_not_found\"}"
}

その後、Slack 管理者をそのチャンネルに追加して再度投稿を試みたところ、今回は正常に送信されました。管理者がオンラインに戻るまで、管理者を削除して統合が引き続き機能するかはテストできません。もし問題なければ、それが回避策のモデルとなるでしょう。ただし、Slack 管理者を追加せずにプライベートチャンネルで統合を開始する方法があるかどうかは不明です。

@awlogan 指定した Slack の各チャンネルにチャットボットを招待することで、このエラーを解決しました。詳しくは以下をご覧ください:

/invite @discourse_integration_name_you_chose

「いいね!」 2

@sunjam さん、ありがとうございます。Slack でそのボットがどのように設定されているか調べる必要がありますね。直感的な名前(投稿名や discourse_integration など)ではスラッシュコマンドの招待が見つからないようです。それでもヒントをありがとうございます!

Slack のドキュメントに記載されたセットアップ手順に従ってボットユーザーを作成し、その後、各特定のルームに実際に招待する必要があります。もしこれより簡単な方法があれば、ぜひ知りたいです。

「いいね!」 2

こんにちは!このスレッドの最後の投稿以降、DiscourseをSlackのプライベートチャンネルに統合することに成功した方はいらっしゃいますか?いくつか試してみましたが、パブリックチャンネルのようにDiscourseからの投稿を取得することができませんでした。どなたかうまくいった方はいらっしゃいますか?何かアドバイスがあれば教えていただけますか?ありがとうございます!