### Install GitHub Integration for Slack Source: https://github.com/integrations/slack/blob/master/README.md Provides a direct link to install the GitHub integration for Slack from the Slack App Directory. After installation, users can invite the GitHub app to channels using a slash command. ```slack Install the GitHub integration for Slack: https://slack.com/apps/A01BP7R4KNY-github Invite the app to channels: /invite @github ``` -------------------------------- ### GitHub Slash Commands for Subscriptions Source: https://github.com/integrations/slack/blob/master/README.md Defines the syntax for subscribing to and unsubscribing from various GitHub events within a Slack channel using the `/github` command. It outlines the available features and how to apply filters. ```bash /github subscribe owner/repo [feature] /github unsubscribe owner/repo [feature] ``` -------------------------------- ### GitHub Slash Commands Source: https://github.com/integrations/slack/blob/master/README.md Demonstrates the usage of the `/github` slash command for subscribing and unsubscribing to repository activity. It shows the command format for both actions. ```github /github subscribe / /github unsubscribe / ``` -------------------------------- ### GHES Slack Integration Configuration Source: https://github.com/integrations/slack/blob/master/README.md Steps to configure a private GHES app for Slack integration. This allows subscribing to repositories for live updates on Issues, PRs, Commits, and Deployments, and performing actions directly from Slack. ```APIDOC GHES Slack Integration: 1. Navigate to "your-ghes-instance:8443" and go to section “Chat Integration". 2. Select the checkbox Enable GitHub Chat Integration. 3. Select Slack tab. 4. Navigate to the Slack API page using the provided link. 5. Generate a Configuration token by clicking "Generate token" and selecting the workspace for the app. 6. Paste the token back into the settings page and click "Generate app". 7. Click "Save settings" to apply the configuration to the instance. 8. Navigate to `/_slack/` or `slack.` to install the app on your workspace. 9. For multi-workspace installation: Navigate to your app by clicking the app ID. 10. Navigate to "Manage Distribution", check "Remove hard coded Information", and click "Activate Public Distribution". ``` -------------------------------- ### Slack Socket Mode Configuration for GHES Source: https://github.com/integrations/slack/blob/master/README.md This section outlines the step-by-step process to configure Slack integration with GitHub Enterprise Server (GHES) using socket mode. It involves navigating through GHES settings, generating tokens from the Slack API, and updating the configuration with the obtained tokens. The process ensures secure communication between GHES and Slack. ```APIDOC Slack Socket Mode Integration Steps: 1. **GHES Configuration:** * Navigate to your GHES instance (`your-ghes-instance:8443`). * Go to the 'Chat Integration' section. * Enable 'GitHub Chat Integration' by selecting the checkbox. * Select the 'Slack' tab. 2. **Slack App Generation:** * Follow the link to the Slack API page. * Generate a 'Configuration token' by clicking the 'Generate token' button. * Select the workspace where the app will be created. * Paste the generated token back into the GHES settings page. * Check the 'Configure socket mode' option. * Click 'Generate app'. 3. **App-Level Token Generation:** * Click on the generated App ID to navigate to the app's page. * Under 'Basic Information', navigate to 'App-Level Tokens'. * Click 'Generate Token' and add the following scopes: * `Authorization.Read` * `Connection.Write` * Copy the generated app-level token. * Paste the app-level token back into the GHES settings page. * Click 'Save Settings'. 4. **Installation and Distribution:** * Navigate to `/_slack/` or `slack.` on your GHES instance to install the app. * For multi-workspace installation: * Navigate to your app via the App ID. * Go to 'Manage Distribution'. * Check 'Remove hard coded Information'. * Click 'Activate Public Distribution'. **Note:** This integration enables all features available in the hosted GitHub integration (GHEC) for your GHES instance. ``` -------------------------------- ### Create GitHub Issue from Slack Message Source: https://github.com/integrations/slack/blob/master/README.md Allows users to create a GitHub issue directly from a Slack message. The message content is pre-filled into the issue description, and a link to the Slack conversation is automatically added. Users can also specify labels, assignees, and milestones. ```slack In any channel/personal app/group or direct chat, click on the three dots (...) at the top right corner of a message and choose 'Create an Issue GitHub' from the list. Use the command `/github open` from the chat box to launch the create issue flow. ``` -------------------------------- ### Label Filters for Pull Requests and Issues Source: https://github.com/integrations/slack/blob/master/README.md Demonstrates how to create label filters for pull requests, issues, comments, and reviews. Events are only processed if they have the specified required label. ```bash # Create a required-label filter for 'priority:HIGH' /github subscribe owner/repo +label:"priority:HIGH" # Event types affected by label filters: # Pull: Yes # Comment (PR and Issue): Yes # Issue: Yes # Review: Yes # Commit/Push: No # Branch: No ``` -------------------------------- ### Subscribe to Comments and Reviews in Slack Channel Source: https://github.com/integrations/slack/blob/master/README.md Allows users to broadcast comments and reviews for issues and pull requests directly to a Slack channel, rather than just within threads. This is achieved by subscribing to specific events with a channel target. ```APIDOC /github subscribe org/repo comments:"channel" /github subscribe org/repo reviews:"channel" Description: These commands subscribe the specified Slack channel to receive comments and reviews for issues and pull requests from the given GitHub repository. Parameters: org/repo: The GitHub organization and repository to subscribe to. comments:"channel": Specifies that comments should be broadcast to the channel. reviews:"channel": Specifies that reviews should be broadcast to the channel. Note: By default, comments and reviews only appear in threads. These commands explicitly push them to the channel. ``` -------------------------------- ### Manage GitHub Repository Filters in Slack Source: https://github.com/integrations/slack/blob/master/README.md Commands to subscribe, unsubscribe, and list filters for GitHub repositories within Slack. These commands allow users to manage notifications based on labels or other criteria. The system currently supports only one filter per repository. ```shell /github subscribe owner/repo +label:"teams/designers" /github unsubscribe owner/repo +label:teams/designers /github subscribe list features ``` -------------------------------- ### GitHub Link Previews in Slack Source: https://github.com/integrations/slack/blob/master/README.md Displays previews for GitHub links (issues, pull requests, comments, code blobs, organizations, repositories, users) posted in Slack. Previews are disabled under specific conditions like workspace settings, recent sharing, multiple links, or private repositories without proper authentication. ```slack When a user posts a GitHub link to issues, pull requests, comments, code blobs with line numbers, organizations, repositories, and users in Slack, a preview of the link will be shown. Previews are not shown if: - link previews for `github.com` have been disabled for your workspace. - the same link was already shared in the last 30 minutes in the same channel. - 3 or more links are shared in the same chat message. - The repository is private and the user that shared the link has not signed in to their GitHub account, asked not to show a preview, or the GitHub app is not in the channel. ``` -------------------------------- ### Manage GitHub Issues from Slack Source: https://github.com/integrations/slack/blob/master/README.md Enables managing the lifecycle of GitHub issues directly from Slack. When an issue notification is received or an issue is created from Slack, an issue card with action buttons (comment, edit, close/reopen) is displayed, allowing direct interaction. ```slack When you receive an issue notification or create a new issue from Slack, an issue card with Call-to-Action buttons (comment, edit, close/reopen) will appear. Perform actions directly from the chat. ``` -------------------------------- ### GitHub and Slack Integration Features Source: https://github.com/integrations/slack/blob/master/docs/README.md This table outlines the feature coverage for notifications and unfurls in the GitHub and Slack integration. It details which GitHub activities (Issues, Pull Requests, Comments, etc.) trigger notifications or generate unfurls in Slack. ```APIDOC Feature Coverage: Feature | Notifications | Unfurls ------------------|--------------------|-------------------- Issues | :white_check_mark: | :white_check_mark: Pull Requests | :white_check_mark: | :white_check_mark: Comments | :white_check_mark: | :white_check_mark: Repository | | :white_check_mark: Blob | :no_entry_sign: | :white_check_mark: User/Organization | :no_entry_sign: | :white_check_mark: Push | :moon: | :no_entry_sign: Public | :white_check_mark: | :no_entry_sign: Milestones | :new_moon: | :new_moon: Projects | :new_moon: | :new_moon: Releases | :white_check_mark: | :new_moon: Key: - :white_check_mark: - Done - :new_moon: - Not Started - :moon: - In Progress - :no_entry_sign: - Not Applicable ``` -------------------------------- ### Scheduled Reminders for Pull Request Reviews Source: https://github.com/integrations/slack/blob/master/README.md Facilitates setting up scheduled reminders for pull requests needing review. Users can configure personal, team, or organization-level reminders to receive messages in Slack at specified times with open pull requests requiring their attention. ```slack Configure scheduled reminders for personal or team-level review requests for pull requests in organizations you are a member of. Set scheduled reminders to send a message in Slack every morning at 10 AM with pull requests needing to be reviewed by you or one of your teams. Find more details at: https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/managing-your-scheduled-reminders ``` -------------------------------- ### GitHub Integration Authorization Source: https://github.com/integrations/slack/blob/master/README.md Details the authorizations granted to the GitHub integration for Slack when connecting GitHub and Slack accounts. This includes permissions for accessing GitHub and Slack data. ```APIDOC GitHub Integration Authorizations: - Access to GitHub repositories and activity. - Ability to post messages and previews in Slack channels. - Linking of GitHub and Slack user accounts for seamless interaction. ``` -------------------------------- ### Configure GitHub Actions Workflow Notifications in Slack Source: https://github.com/integrations/slack/blob/master/README.md Allows users to subscribe to GitHub Actions workflow run notifications in Slack. Users can filter notifications by workflow name, event, actor, and branch. The command supports multiple filter values separated by commas. ```shell /github subscribe owner/repo workflows:{name:"your workflow name" event:"workflow event" branch:"branch name" actor:"actor name"} /github subscribe org/repo workflows:{event:"pull_request","push" branch:"main","dev" actor:"ashokirla"} /github unsubscribe org/repo workflows ``` -------------------------------- ### Branch Filters for Commit Notifications Source: https://github.com/integrations/slack/blob/master/README.md Explains how to use branch filters with the `/github subscribe` command to control commit notifications. It covers subscribing to the default branch, all branches, specific branches, and branches matching a pattern. ```bash # Subscribe to commit notifications from the default branch /github subscribe org/repo commits # Subscribe to commit notifications across all branches /github subscribe org/repo commits:* # Subscribe to commit notifications from a specific branch /github subscribe org/repo commits:myBranch # Subscribe to commit notifications from branches matching a pattern /github subscribe org/repo commits:users/* # Unsubscribe from commit notifications /github unsubscribe org/repo commits ``` -------------------------------- ### GitHub Notification Features Source: https://github.com/integrations/slack/blob/master/README.md Lists the features that can be subscribed to or unsubscribed from for GitHub events in Slack. Some features are enabled by default, while others require explicit subscription. ```APIDOC Features: Enabled by default: - issues: Opened or closed issues - pulls: New or merged pull requests, draft pull requests marked "Ready for Review" - commits: New commits on the default branch (usually `main`) - releases: Published releases - deployments: Deployment status updates Disabled by default (require subscription): - workflows: Actions workflow run notifications - reviews: Pull request reviews - comments: New comments on issues and pull requests - branches: Created or deleted branches - commits:*: All commits pushed to any branch - +label:"your label": Filter issues, pull-requests and comments based on their labels. - discussions: Discussions created or answered ``` -------------------------------- ### Manage Threading Settings in Slack Source: https://github.com/integrations/slack/blob/master/README.md Provides the flexibility to disable or enable threading for Issue and Pull Request notifications within a specific Slack channel. This allows users to control the level of detail and noise in their channels. ```APIDOC /github settings Description: This command opens a settings interface within Slack for the GitHub integration in the current channel. Functionality: Users can choose to Disable or Enable threading for Issue and Pull Request notifications. Permissions: Any member of the channel can perform this action. ``` -------------------------------- ### Post Message to Slack for GitHub Repository Source: https://github.com/integrations/slack/blob/master/docs/api.md This API endpoint allows posting messages to Slack associated with a GitHub repository. It requires a GitHub token for authentication and accepts Slack attachments as data. The message delivery is based on existing subscriptions. ```APIDOC POST /repos/:owner/:repo Authorization: token $token Parameters: owner: The owner of the GitHub repository. repo: The name of the GitHub repository. token: A valid GitHub token with write access to the repository. message: One or more valid Slack attachments. Returns: (Implicitly) A message posted to Slack. Usage: curl -XPOST -H "Authorization: token $token" \ https://slack.github.com/repos/:owner/:repo \ -d "$message" ``` -------------------------------- ### Potential Future Features for GitHub and Slack Integration Source: https://github.com/integrations/slack/blob/master/docs/README.md This section outlines potential future features for the GitHub and Slack integration, categorized by themes like bi-directional engagement, team efficiency, individual developer efficiency, and enterprise support. These features aim to enhance interactivity and streamline workflows. ```APIDOC Bi-directional Engagement: - Interactive messages in Slack (e.g., "Merge a Pull Request") - Open an Issue from Slack using Forms - Slash commands for GitHub actions (e.g., `/close `) Making Software Teams More Efficient: - Slash command to list new issues your team has been mentioned in - Reminders and management of team review requests - Notifications for and integration with team discussions Making Software Developers More Efficient: - Messages when issues are assigned to you - Personal notifications for work blocking others - Updates on the status of your Pull Request reviews GitHub Enterprise & Slack Enterprise Grid Support: - Focus on bringing features to enterprise environments. ``` -------------------------------- ### Manage GitHub Deployment Notifications in Slack Source: https://github.com/integrations/slack/blob/master/README.md Enables or disables notifications for GitHub deployments in Slack. This feature can be used for deployments originating from GitHub Actions or external sources via the Deployments API. It is recommended to use the 'workflows' feature for a more comprehensive view when using GitHub Actions. ```shell /github subscribe/unsubscribe org/repo deployments ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.