LogoLogo
Book a demoLog in
  • Swarmia documentation
  • Getting started
    • Get started in 15 minutes
    • Integrations
      • GitHub
        • GitHub Enterprise Server
        • Multiple GitHub organizations
        • Forked repositories
        • Troubleshooting
          • Reinstalling the Swarmia GitHub app
          • Updating app permissions
          • Installing Swarmia outside of GitHub Marketplace
      • Jira
        • Jira Server and Jira Data Center
        • Multiple Jira organizations
      • Linear
        • Private Linear teams
        • Disconnect Linear
      • Slack
        • Private Slack channels
      • Authentication
        • Google Single Sign-On
          • Frequently asked questions
        • Okta Single Sign-On
      • HR systems
      • Data export
        • Data cloud
        • Export data as a CSV file
      • Other integrations
        • Other issue tracker integrations
        • Other source code hosting integrations
  • Configuration and data quality
    • Teams & members
      • Creating & managing teams
        • Teams API
      • Contributors
      • Roles and permissions
      • Inviting team members
    • Issue tracker configuration
      • Jira configuration
      • Jira best practices
      • Linear configuration
    • Pull request exclusions
    • Linking pull requests to issues
    • Investment categories
    • Deployments
      • Generate deployments from merged pull requests
      • Generate deployments from GitHub deployments
      • Generate deployments from GitHub checks
      • Generate deployments via the API
        • Generate deployments for monorepos via the API
    • Sprint configuration
  • Use cases
    • Improve pull request flow
      • Pull request insights
      • Reducing pull request cycle time
      • Review code faster
      • Managing pull requests in progress with the Pull Request view
      • Diagnosing low pull request throughput
      • Analyzing pull request batch size
  • Improve your team's focus
    • Optimizing issue cycle time
    • Analyzing activity patterns on Work Log
    • Grouping activity on the Work Log view
    • Focus summary
  • Balance engineering investments
    • Activity and effort-based models
    • Categorizing work
    • Common problems with balancing engineering investment
  • Deliver strategic initiatives
    • Forecasting initiatives
  • Capitalize software development costs
  • Run developer experience surveys
    • Creating a survey
    • Managing surveys
    • Viewing and sharing survey results
    • How we show your survey responses
    • Survey communication guide and templates
  • Track DORA metrics
    • Automatic change failure detection
    • How Swarmia links PRs to deployments
  • Coach software developers
  • Get visibility into your CI pipeline
  • Continuous improvement
    • Working agreements
  • Notifications
    • Team notifications
    • Personal notifications
  • Retrospectives with Swarmia
  • Metrics & definitions
    • Pull request cycle time
      • What's the difference between "Change lead time" and "Pull request cycle time" metrics in Swarmia?
    • Issue cycle time
      • Defining issue lifecycle and cycle time
    • Developer effort (FTEs)
  • DORA metrics
    • Change lead time
    • Deployment frequency
    • Mean time to recovery
    • Change failure rate
  • Throughput
  • Time to deploy
  • Batch size
  • Flow efficiency
  • Scope creep
  • Sprints
  • Frequently asked questions
    • How do you treat weekends in metrics?
    • Tracking squashed commits
    • How do merge queues affect my metrics?
    • Why is my commit not visible in Swarmia?
    • How do I account for people leaving my organization?
  • Resources
    • Security & data retention
      • Data security
      • Data access
      • Swarmia IP Addresses
      • Single Sign-On (SSO) / SAML
      • Can I get a copy of the SOC 2 Type II audit report?
      • Deleting your organization
  • Pricing & plans
    • Compare plans
    • Free plan
    • Do I need a credit card to start a free trial?
    • What are the differences between the individual modules and the standard plan?
    • How do you determine the number of developers for billing?
    • What happens to customers with the Lite plan after the December 2024 pricing and plan change?
  • Changelog
On this page
  • 1. Create a Swarmia app on GitHub
  • Identifying and authorizing users
  • Webhook
  • Repository permissions
  • Organization permissions
  • Subscribe to events
  • Create GitHub App
  • 2. Share your settings with Swarmia
  • 3. Configure your firewall
  • 4. Install the Swarmia app in organization(s)

Was this helpful?

  1. Getting started
  2. Integrations
  3. GitHub

GitHub Enterprise Server

Installation instructions for self-hosted GitHub Enterprise Server

PreviousGitHubNextMultiple GitHub organizations

Last updated 1 month ago

Was this helpful?

This guide was written using GitHub Enterprise version 3.1.1.

1. Create a Swarmia app on GitHub

In your GitHub Enterprise organization settings, select GitHub Apps under Developer Settings. Select New GitHub App.

Fill out the form with the following values:

  • GitHub App name: Swarmia

  • Homepage URL: https://www.swarmia.com

Identifying and authorizing users

Callback URL: https://app.swarmia.com/auth/github/callback/[your-github-organization-name]

Expire user authorization tokens: ✅

Request user authorization (OAuth) during installation: ✅

Webhook

Active: ✅

Webhook URL: https://hook.swarmia.com/GithubWebhook

Webhook secret: <random-string-with-high-entropy>

Enable SSL verification: ✅

Repository permissions

Checks: Read-only

Contents: Read-only

Deployments: Read-only

Issues: Read-only

Metadata: Read-only

Pull requests: Read & write

Projects: Read-only

Commit statuses: Read-only

Organization permissions

Members: Read-only

Projects: Read-only

Blocking users: Read-only

Email addresses: Read-only

Subscribe to events

✅ Meta

✅ Check run

✅ Check suite

✅ Commit comment

✅ Create

✅ Delete

✅ Deployment

✅ Deployment status

✅ Issue comment

✅ Issues

✅ Label

✅ Membership

✅ Organization

✅ Project

✅ Project card

✅ Project column

✅ Pull request

✅ Pull request review

✅ Pull request review comment

✅ Push

✅ Team

Create GitHub App

  • Where can this GitHub App be installed? Select Any account

  • Click Create Github App

After you've created the app, you will see the following message.

Click Generate a private key.

It will take you to the Private keys section. Click Generate a private key button.

swarmia.date.private-key.pem will be downloaded.

After successfully registering your application, you can optionally add a logo to your app. Here is a pre-cropped image you can use:

Make a note of your App ID, Client ID, and Client Secret. you will need those to connect your GitHub Enterprise Server with Swarmia in the next step. App ID and Client ID should be visible and client secret you can generate.

Finally, generate a Client secret, and store it somewhere safe. You'll need that in a bit:

2. Share your settings with Swarmia

If you're using a self-signed TLS certificate in your GitHub Enterprise instance please supply a TLS certificate pair to be used by Swarmia as a client certificate when contacting your GitHub Enterprise endpoints.

3. Configure your firewall

If your GitHub Enterprise is behind a firewall you’ll need to allow Swarmia's IP address so we can perform GitHub Enterprise API calls and receive webhooks.

  • Inbound IPs (we make HTTPS requests to your GitHub instance): 34.89.165.89 & 35.234.103.84

  • Outbound IPs (GitHub makes HTTPS requests to us): 34.117.202.112 (hook.swarmia.com) & 34.107.207.241 (app.swarmia.com)

4. Install the Swarmia app in organization(s)

After you've completed steps 1, 2, and 3 let Swarmia know you're ready to install the app. We then run the installation on our end, after which you're free to install the Swarmia app to your chosen organization(s). The app can be found at https://[hostname]/github-apps/swarmia where users can install it to their organization(s).

You should have acquired App ID, Client ID, Client Secret, Webhook secret and Private key in the previous steps. Share these secrets securely with and let your Swarmia contact person know that you're done with this part of the setup.

this Google Form