Skip Navigation
Show nav
Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • ドキュメント
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku のアーキテクチャ
    • Dyno (アプリコンテナ)
      • Dyno Management
      • Dyno Concepts
      • Dyno Behavior
      • Dyno Reference
      • Dyno Troubleshooting
    • スタック (オペレーティングシステムイメージ)
    • ネットワーキングと DNS
    • プラットフォームポリシー
    • プラットフォームの原則
  • Developer Tools
    • コマンドライン
    • Heroku VS Code Extension
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリーとインテグレーション
    • 継続的統合
  • 言語サポート
    • Node.js
      • Working with Node.js
      • Node.js Behavior in Heroku
      • Troubleshooting Node.js Apps
    • Ruby
      • Rails のサポート
      • Bundler の使用
      • Working with Ruby
      • Ruby Behavior in Heroku
      • Troubleshooting Ruby Apps
    • Python
      • Working with Python
      • Python でのバックグランドジョブ
      • Python Behavior in Heroku
      • Django の使用
    • Java
      • Java Behavior in Heroku
      • Working with Java
      • Maven の使用
      • Spring Boot の使用
      • Troubleshooting Java Apps
    • PHP
      • PHP Behavior in Heroku
      • Working with PHP
    • Go
      • Go の依存関係管理
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres スターターガイド
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
      • Migrating to Heroku Postgres
    • Heroku Data For Redis
    • Apache Kafka on Heroku
    • その他のデータストア
  • AI
    • Working with AI
    • Heroku Inference
      • Inference API
      • Quick Start Guides
      • AI Models
      • Inference Essentials
    • Vector Database
    • Model Context Protocol
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
      • シングルサインオン (SSO)
    • Private Space
      • インフラストラクチャネットワーキング
    • コンプライアンス
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Team
    • Heroku Connect (Salesforce 同期)
      • Heroku Connect の管理
      • Heroku Connect のリファレンス
      • Heroku Connect のトラブルシューティング
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • Salesforce とのインテグレーション
  • 継続的デリバリーとインテグレーション
  • Heroku ChatOps (Slack 統合)

Heroku ChatOps (Slack 統合)

日本語 — Switch to English

最終更新日 2024年04月26日(金)

Table of Contents

  • 仕組み
  • はじめに
  • コードをアプリにデプロイする
  • デプロイ
  • プロモーション
  • 最新リリースの表示
  • パイプライン情報
  • デプロイ可能なパイプライン
  • CI やその他のパイプラインイベントを Slack に接続する
  • アンインストール
  • 既知の制限
  • よくある質問

仕組み

Heroku ChatOps では、Heroku Pipelines​ の機能を使用して、共同作業によるデプロイワークフローを Slack にもたらします。

Heroku ChatOps は、従来の Heroku デプロイに追加される機能もいくつか提供します。Heroku ChatOps を使用してデプロイするとき、GitHub 上のコミットのステータスチェックも行われ、テストに合格したコードだけがデプロイされることを保証します。また、コードがデプロイされたことを GitHub に通知して、デプロイの成功または失敗の記録がプルリクエストに残るようにします。

はじめに

前提条件

Heroku ChatOps のインストールと設定には、アプリを追加および承認するための Slack アクセス許可が必要です。Slack アプリ管理についての詳細は、こちら​を参照してください。

Heroku ChatOps はパイプライン​を中心に構築されるため、ChatOps の機能を利用するには、アプリケーションがパイプラインに含まれている必要があります。

ここをクリックして開始してください。

Slack に追加

アカウントを設定する

/h login

screenshot 2017-05-01 15 48 12

アクセス許可

Heroku ChatOps を使用するには、Heroku と GitHub にサインインする必要があります。Heroku と GitHub でのアクセス許可が ChatOps にもそのまま引き継がれます。

Heroku

アプリの所有者または共同作業者​である場合、そのアプリで ChatOps を使用するために必要なすべてのアクセス許可を持っています。

Heroku Enterprise Team​ のメンバーである場合、アプリで ChatOps を使用するには deploy​ アクセス許可が必要です。

GitHub

GitHub リポジトリがパイプラインに接続されていることを、パイプラインの Settings​ タブ経由で確認します。

パイプラインにリンクされた GitHub リポジトリの所有者または共同作業者​である場合、そのパイプラインで ChatOps を使用するために必要なすべてのアクセス許可を持っています。

GitHub 組織​のメンバーである場合、そのパイプラインで ChatOps を使用するには write​ アクセス許可が必要です。

コードをアプリにデプロイする

Heroku ChatOps を使用してコードをアプリにデプロイする方法には、デプロイフロー​と、パイプラインのプロモーション​の 2 つがあります。デプロイとプロモーションの両方で、Slack のスレッドを使用して、デプロイまたはプロモーションが開始してから最後の dyno の再起動が完了するまで随時、更新情報を提供します。

screenshot 2017-05-01 16 08 29

各ステップはスレッドに保存されます。 screenshot 2017-05-01 16 08 55

デプロイ

基本的なデプロイ

/h deploy PIPELINE_NAME to STAGE_NAME

ステージへのデプロイ

特定のブランチのデプロイ

/h deploy PIPELINE_NAME/BRANCH_NAME to STAGE_NAME

特定のブランチのデプロイ

複数のアプリがステージにあるときのデプロイ

/h deploy PIPELINE_NAME to STAGE_NAME/APP_NAME

特定のアプリへのデプロイ

デプロイ前チェックの失敗を無視した強制デプロイ

ステータスチェックが失敗している状態でアプリをデプロイしようとすると、デプロイが拒否されます。 壊れた参照のデプロイ

deploy!​ を使用して強制的にデプロイする必要があります。

/h deploy! PIPELINE_NAME to STAGE_NAME

デプロイの強制

プロモーション

パイプラインのプロモーション​には、手動によるデプロイワークフローに勝る追加の利点がいくつかあります。たとえば、本番環境へのリリースに、ステージングへのリリースとまったく同じコンパイル済みコードが含まれることが保証される上、プロモーションは slug の再コンパイルよりも高速になります。

基本的なプロモーション

デフォルトでは、ステージングから本番環境にプロモートします。

/h promote PIPELINE_NAME

プロモーション

上流のステージを指定することもできます。特定の上流ステージから本番環境にプロモートします。

/h promote PIPELINE_NAME from UPSTREAM_STAGE

特定の上流からプロモートする

ステージの複数のアプリ

上流ステージに複数のアプリがある場合は、プロモート元のアプリを指定する必要があります。

/h promote PIPELINE_NAME from UPSTREAM_STAGE/APP_NAME to DOWNSTREAM_STAGE

screenshot 2017/04/11 14 09 47

下流ステージに複数のアプリがある場合は、プロモート先の下流アプリを指定する必要があります。

/h promote PIPELINE_NAME from UPSTREAM_STAGE/APP_NAME to DOWNSTREAM_STAGE/APP_NAME

screenshot 2017/04/11 14 11 21

あるいは、下流ステージに複数のアプリがある場合は、ターゲットアプリのリストをカンマで区切って指定することもできます。

/h promote PIPELINE_NAME from UPSTREAM_STAGE/APP_NAME to DOWNSTREAM_STAGE/APP_NAME,APP_NAME2

複数の下流にプロモートする

または、下流ステージの複数のアプリにプロモートする別の方法として、すべての下流アプリにプロモートすることを指定できます。

/h promote PIPELINE_NAME from UPSTREAM_STAGE/APP_NAME to DOWNSTREAM_STAGE/all

すべてへのプロモーション

デプロイ前チェックの失敗を無視した強制プロモーション

ステータスチェックが成功していない状態でアプリをプロモートしようとすると、プロモーションは拒否されます。 チェック結果を無視するにはプロモーションを強制する必要があります。

/h promote! PIPELINE_NAME

プロモーションの強制

最新リリースの表示

デフォルトステージの最新のコードデプロイと設定変更を表示できます。

本番ステージへのリリース

/h releases PIPELINE_NAME

デフォルトステージの最新リリース

特定ステージ向けのリリース

staging​ や production​ のように、ステージを指定することもできます。

/h releases PIPELINE_NAME in STAGE_NAME

ステージングのみにリリース

パイプライン情報

/h info PIPELINE_NAME

パイプライン情報

デプロイ可能なパイプライン

デプロイ可能なパイプラインのリストを取得できます。

/h pipelines

パイプラインのリスト

CI やその他のパイプラインイベントを Slack に接続する

プルリクエストのオープン、Heroku ダッシュボードでのデプロイまたはプロモーションの実行、CI テスト合格などのパイプラインイベントに関して通知を受けたい場合に、任意のパブリック Slack チャンネルに通知をルーティングすることができます。

パイプラインの通知をチャンネルにルーティングする

/h route PIPELINE_NAME to #CHANNEL_NAME

パイプラインをルーティングする

パイプラインの通知をチャンネルにルーティングすると、通知の受信が始まります。次に示すのは、CI に関する通知の例です。

CI 合格通知

パイプライン通知のルーティングでは現在、1 つの Slack チャンネルのみをサポートしています。CLI から開始されたパイプラインイベントは表示されません。

チャンネルへのパイプライン通知のルーティングを停止する

パイプラインの通知を無効にすることもできます。

/h route:disable PIPELINE_NAME

ルーティングを無効にする

チャンネルにルーティングされているパイプラインを一覧表示する

/h route

パイプラインのドロップダウンリスト

チャンネルにルーティングされているパイプラインの通知設定を変更する

設定するチャンネル内で /h route​ を実行し、ドロップダウンからパイプラインを選択します。 ChatOps の通知設定を切り替えることによって、チャンネルでのメッセージをカスタマイズできます。

チャンネルにルーティングされているパイプラインごとに、以下の設定があります。 通知設定

App deployments (アプリのデプロイ)

他の Slack チャンネルからパイプラインがデプロイまたはプロモートされたときに通知を受信します。Heroku ChatOps コマンドを実行するチャンネル内でも引き続き、更新情報を受信します。

App health (アプリヘルス)

アプリヘルスしきい値アラートを使用すると、指定した期間中、アプリの Web dyno で p95 応答時間またはエラー率がしきい値設定を超えた場合に通知を送信することによって、アプリケーションのヘルスを監視できます。パイプラインをルーティングした後、パイプラインのアプリに対して設定した任意のアラートに関してしきい値アラート通知を受信できます。

アラートモニターは、Application Metrics​ (アプリケーション関連のメトリクス) で設定できます。 alertconfig

Slack 内では、アラートの通知と、アプリヘルスが良好な状態に戻ったときの通知を受信します。メッセージリンクをクリックすると、さらに調査するか、またはアラートしきい値の設定を調整するための 「Application Metrics」 (アプリケーション関連のメトリクス) が表示されます。

screen shot 2017/09/29 at 11 44 36 am

GitHub Activity (GitHub アクティビティ)

プルリクエストの変更やコミットステータスの更新などの GitHub イベントに関する通知を受信します。

アンインストール

Slack チャネルから Heroku ChatOps を削除するには、Slack でアプリの設定ページに移動して Remove App​ を選択します。設定ページに移動するには、サイドバーで Apps​ (アプリ) ヘッダーを選択し、View​ Heroku (Heroku の表示)、Settings​ (設定) の順に選択します。詳細は、Slack のヘルプセンターの記事​を参照してください。

既知の制限

ChatOps では、プライベートの Slack チャンネルや、GitHub Enterprise を使用している Slack チームへの通知のルーティングはサポートしていません。

よくある質問

ChatOps にはどのようなアクセス許可が必要ですか?

Heroku アカウントのアクセス許可​: ​/h login​ で Heroku アカウントを Heroku ChatOps に接続するときに、次のアクセス許可を要求されます: ​すべてのアカウント、アプリ、リソースの読み取りと書き込みのアクセス​。 これらのアクセス許可は、パイプラインの一覧表示や、アプリのデプロイまたはプロモーションなどの操作を実行するために必要です。

GitHub アカウントのアクセス許可​: ​/h login​ で Heroku アカウントを GitHub に接続するとき、次のアクセス許可を要求されます: ​アカウントとパブリックおよびプライベートのリポジトリへのアクセス​。 これらのアクセス許可は、プルリクエスト時にコミットステータスのチェックやデプロイの作成などの操作を実行するために必要です。

ChatOps がアクセスできる Heroku アプリまたは GitHub リポジトリを制限できますか?

Heroku ChatOps では、個人的にアクセスできる Heroku アプリは制御できますが、それ以上のきめ細かな制御はありません。Slack 内の他のユーザーが各自のアプリを制御することも (アプリへのアクセス許可も持っている場合を除き) 許可されていません。

GitHub アプリ​では、リポジトリのきめ細かい制御が可能ですが、この機能は Heroku ChatOps にまだ統合されていません。スケジュールの確約はできませんが、このことは Heroku で確かに認識されています。Heroku Changelog​ に注目しておいてください。

Slack は私の GitHub または Heroku アカウントにアクセスできますか?

いいえ。あなたの GitHub および Heroku アカウントにアクセスできるのは Heroku ChatOps だけです。GitHub アクセストークンや Heroku アクセストークンは決して Slack と共有されません。

「この GitHub リポジトリにアクセスできることを確認してください」というエラーが表示されるのはなぜですか?

GitHub 組織またはリポジトリの所有者が ChatOps を使用してデプロイしようとすると、次のエラーが発生します。

Unable to access XXX
Please make sure you have access to this GitHub repository.
Read more about permissions and try to sign in to GitHub again.

通常、このエラーが発生するのは、ユーザーの GitHub トークンで接続先のリポジトリにアクセスしようとして 404 が返された場合です。GitHub 側での制限強化により、設定されたパイプラインに ChatOps のユーザーがアクセスできない場合があります。おそらく、アクセス許可が正しくありません。

以下の 3 つの手順を実行してください。

  • Slack で、/h logout​、/h login​ の順に入力します。ご使用の Heroku アカウントと GitHub アカウントを接続してから再試行します。
  • 「GitHub UI」 > 「repository_name」 > 「Settings」 (設定) > 「Collaborators & teams for the repository」 (リポジトリの共同作業者とチーム) で、GitHub ユーザーに管理者権限があることを確認します。
  • 「OAuth Application authorizations」 (OAuth アプリケーション認証) (https://github.com/settings/applications) > 「Authorized OAuth Apps」 (承認された OAuth アプリ) > 「Heroku ChatOps」 にアクセスし、適切な組織に緑色のチェックマークが付いていることを確認します。

関連カテゴリー

  • 継続的デリバリーとインテグレーション
アプリの複数の環境の管理 デプロイでの MemCachier キャッシュのフラッシュ

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices