# Slack でのGitHubの使用

Slack でGitHubを使用してコラボレーションを改善し、ワークフローを合理化する方法について説明します。

Slack の GitHub 統合により、 GitHub アカウントを Slack の GitHub アプリに接続できます。 接続したら、スラッシュ コマンドを使用して、 GitHubとの対話、リポジトリ アクティビティに関する通知の受信、Slack 内でのチームとの直接の共同作業を行うことができます。

## Slack で GitHub アカウントを GitHub アプリに接続する

> \[!NOTE] アカウントを接続するには、Slack ワークスペースの管理者が GitHub アプリをインストールしておく必要があります。 「[GitHubと Slack の統合](/ja/enterprise-server@3.22/integrations/how-tos/slack/integrate-github-with-slack)」を参照してください。

1. Slack で、 GitHub アプリで直接メッセージを開始します。
2. 直接メッセージには、ウェルカム メッセージと、 GitHub アカウントを接続するためのリンクが事前に設定されます。 Slack の画面とブラウザーの GitHub のプロンプトに従って、接続を認証して承認します。

GitHub アカウントが接続されると、使用可能なコマンドと機能の一覧が Slack に表示されます。

## スラッシュ コマンドを使用して Slack で GitHub を操作する

スラッシュコマンドを使用するには、`/github` を入力した後に実行するコマンドを入力し、GitHub アプリが存在する任意の Slack チャネルまたはダイレクトメッセージのメッセージ入力フィールドに続けます。 アプリをチャネルに招待するには、チャネルに「 `/invite @github` 」と入力します。

| Command                                           | Description                                    |
| ------------------------------------------------- | ---------------------------------------------- |
| `/github help`                                    | 重要なコマンドとその説明の一覧を表示します。                         |
| `/github subscribe owner/repo`                    | 指定したリポジトリの通知にチャネルをサブスクライブします。                  |
| `/github unsubscribe owner/repo`                  | 指定したリポジトリの通知からチャネルの登録を解除します。                   |
| `/github subscribe list`                          | チャネルがサブスクライブされているすべてのリポジトリを一覧表示します。            |
| `/github open owner/repo`                         | 指定したリポジトリでイシューを開きます。 問題のタイトルと説明を入力するように求められます。 |
| `/github close [issue link]`                      | 指定した問題を完了として閉じます。                              |
| `/github close [issue link] reason:"not planned"` | 理由を指定して、指定した問題を閉じます。                           |
| `"not planned"`を自分の理由に置き換えます。                     |                                                |
| `/github reopen [issue link]`                     | 指定した問題を再度開きます。                                 |
| `/github signin`                                  | " GitHub アカウントの接続" ワークフローを再起動します。              |
| `/github signout`                                 |                                                |
| GitHub アカウントを Slack ユーザーから切断します。                  |                                                |

> \[!NOTE] チャネルをリポジトリにサブスクライブすると、チャネルは、そのリポジトリ内のプル要求と問題に関するすべての `open`、 `close`、および `reopen` イベントに関する通知を受信します。 チャネルは、`push` イベントの通知をリポジトリの既定のブランチに直接受信します。

## Slack でのメンション

Slack でリポジトリをサブスクライブすると、参照されているリポジトリ イベントの通知に自分が記載されていることがわかります。 たとえば、問題に割り当てられている場合、またはコメントに記載されている場合は、Slack の通知に自分自身が表示されます。

メンションを使用するには、Slack のGitHub アプリを通してGitHub アカウントにログインしている必要があります。 これにより、 GitHub は Slack ID を GitHub ID にマップできます。
[Slack でのGitHub アプリへのGitHub アカウントの接続を](#connecting-your-github-account-to-the-github-app-in-slack)参照してください。

> \[!NOTE]
> GitHub アプリを使用する複数の Slack ワークスペースがある場合、メンションは、GitHub アプリに最近ログインしたワークスペースでのみ機能します。 別のワークスペースで GitHub アプリにログインすると、メンションは前のワークスペースで動作しなくなります。

次のシナリオであなたが言及されます。

* あなたが問題に割り当てられています。
* レビューは pull request で要求されます。
* プルリクエスト、課題の説明、コメント、またはディスカッションで言及されています。
* デプロイメントについてレビューを依頼されています。
* pull request のレビューに関するスケジュール済みリマインダーを受け取ります。

Slack の \[メンション] ビューで、 GitHub メンションの概要を確認できます。 詳細については、Slack ドキュメント [のアクティビティ タブのトリアージ通知](https://slack.com/help/articles/19693583638803-Triage-notifications-in-the-Activity-tab) を参照してください。

## スレッド化された会話

各問題またはプル要求の通知は、Slack のスレッドにグループ化されます。 親メッセージには常に、問題または pull request の最新の状態と、タイトル、説明、担当者、レビュー担当者、ラベル、チェックなどの他のメタデータが表示されます。 スレッド処理を使用すると、会話を整理し続け、特定の問題や pull request に関連する更新プログラムやディスカッションに簡単に従うことができます。 問題またはプル要求の状態が変更されると、関連する応答がスレッドとチャネルの両方に投稿され、チャネル内のすべてのユーザーが更新を認識するようになります。

個々のチャネルで問題のスレッド処理と pull request 通知を無効にすることができます。

1. スレッド処理を無効にする Slack チャネルで、「 `/github settings`」と入力します。
2. \[設定] メニューの \[プル要求と問題の通知のスレッドを無効にする] の右側にある \[ **無効にする**] をクリックします。

ユーザーまたはチャネルの他のメンバーは、同じ手順に従い、\[設定] メニューの \[ **有効]** をクリックすることで、いつでもスレッドを再び有効にすることができます。

## Slack チャネルへのコメントとレビューのブロードキャスト

既定では、コメントとレビューは関連するスレッドにのみ表示されます。 問題の参加者だけでなく、チャネル メンバーに表示させる場合は、次のコマンドを使用してブロードキャストをオプトインできます。

* コメントブロードキャストの場合は、 `/github subscribe owner/repo comments:"channel"`

* レビュー放送には、`/github subscribe owner/repo reviews:"channel"`を使用してください。

## Slack での GitHub アクティビティへのリンクの展開

リンク プレビューでは、Slack で GitHub アクティビティへのリンクを共有するときに、追加のコンテキストが提供されます。 次の GitHub アクティビティのリンク プレビューが Slack に表示されます。

* Pull Request
* 問題
* 直接リンクされたコメント
* 行番号付きのコードブロック
* 組織、リポジトリ、およびユーザー

次のいずれかが該当する場合、リンクのプレビューは表示されません。

* Slack ワークスペースではリンク プレビューは無効になっています。 Slack ドキュメントの「 [リンクを共有し、プレビュー設定を設定する](https://slack.com/help/articles/204399343-Share-links-and-set-preview-preferences#turn-off-link-previews-for-specific-sites) 」を参照してください。
* 過去 30 分間に同じリンクがチャネルで既に共有されています。
* 3 つ以上のリンクが同じメッセージで共有されます。
* リポジトリはプライベートであり、リンクを共有したユーザーは次のとおりです。
  * GitHub アカウントを Slack のGitHub アプリに接続していません。
  * メッセージが表示されたら、リンク プレビューを表示しないように求められます。
  * GitHub アプリは、リンクが共有されているチャネルにありません。 「[スラッシュ コマンドを使用して Slack でGitHubを操作する](#using-slash-commands-to-interact-with-github-in-slack)を参照してください。

## 詳細については、次を参照してください。

* [Slack でGitHubの通知をカスタマイズする](/ja/enterprise-server@3.22/integrations/how-tos/slack/customize-notifications) - ニーズに合わせて Slack で GitHub 通知をカスタマイズする方法について説明します。
* [GitHub Slack 統合のチュートリアル](/ja/enterprise-server@3.22/integrations/tutorials/slack) - 例と実践的なアクティビティを通じて、 GitHub Slack の統合に関するスキルと知識を構築します。