Skip to main content

GitHub Token Setup

This guide provides detailed instructions for creating and configuring a GitHub Personal Access Token for use with ManagerDash.

Why You Need a GitHub Token

ManagerDash uses the GitHub API to fetch pull request data for your team members. To access this data, you need to provide a Personal Access Token (PAT) that authenticates your requests to GitHub. You do not need a PAT in order to use ManagerDash, but it helps to connect your team's contributions to their feedback.

What the token enables:

  • Fetching pull requests by author
  • Retrieving PR metadata (title, description, dates)
  • Getting PR metrics (changes, files, comments)
  • Accessing PR labels and status

What the token does NOT do:

  • Modify any GitHub data
  • Create or edit pull requests
  • Add comments or reviews
  • Change repository settings
  • Access private information beyond what you normally see

Step-by-Step: Creating a GitHub Token

Step 1: Navigate to GitHub Settings

  1. Go to GitHub.com and sign in
  2. Click your profile picture in the top-right corner
  3. Click Settings from the dropdown menu
  4. Scroll down the left sidebar to find Developer settings (near the bottom)
  5. Click Developer settings

Step 2: Access Personal Access Tokens

  1. In the left sidebar of Developer settings, find Personal access tokens
  2. Click the dropdown arrow to expand it
  3. Click Tokens (classic)
    • Note: Use "Tokens (classic)" not "Fine-grained tokens" for ManagerDash

Step 3: Generate New Token

  1. Click the Generate new token button (top-right)
  2. Select Generate new token (classic) from the dropdown
  3. GitHub may ask you to confirm your password - enter it and continue

Step 4: Configure Token Settings

Note field:

  • Enter a descriptive name: ManagerDash PR Access
  • This helps you identify the token later

Expiration:

  • Select an expiration period from the dropdown
  • Recommended options:
    • 90 days: Good balance of security and convenience
    • No expiration: Convenient but less secure (not recommended)
    • Custom: Set your own date
  • Note: You'll need to regenerate and update the token when it expires

Select scopes:

This is the most important step. You need to grant specific permissions:

Required Scopes:

1. repo (Full control of private repositories)

  • Check the top-level repo checkbox
  • This automatically checks all sub-items:
    • repo:status - Access commit status
    • repo_deployment - Access deployment status
    • public_repo - Access public repositories
    • repo:invite - Access repository invitations
    • security_events - Read and write security events

2. read:org (Read org and team membership)

  • Scroll down to the "admin:org" section
  • Check only read:org (NOT the full admin:org)
  • This allows ManagerDash to access organization repositories

DO NOT check these:

  • write:org - Not needed
  • admin:org - Not needed
  • delete_repo - Definitely not needed
  • admin:repo_hook - Not needed
  • Any other admin scopes - Not needed

Step 5: Generate and Copy Token

  1. Scroll to the bottom of the page
  2. Click the green Generate token button
  3. GitHub displays your new token (starts with ghp_)
  4. IMPORTANT: Copy the token immediately
    • Click the copy icon next to the token
    • Or select and copy the entire token string
  5. ⚠️ WARNING: You will NOT be able to see this token again
    • Once you navigate away, the token is hidden forever
    • If you lose it, you must generate a new one

Step 6: Save Token Securely (BEFORE Adding to ManagerDash)

Critical: Save your token in a secure location first:

Option 1: Password Manager (Recommended)

  • Add to 1Password, LastPass, Bitwarden, etc.
  • Label it clearly: "GitHub PAT - ManagerDash"
  • Include the creation date and expiration date

Option 2: Secure Note

  • Save in encrypted notes app
  • Store in secure company vault
  • Keep it private and backed up

DO NOT:

  • ❌ Save in plain text file
  • ❌ Email to yourself
  • ❌ Store in shared documents
  • ❌ Commit to a git repository
  • ❌ Share in Slack or chat

Adding Token to ManagerDash

Step 1: Open ManagerDash Settings

  1. Launch ManagerDash application
  2. Look at the bottom of the left sidebar
  3. Click the Settings (gear icon) button
  4. Click Preferences from the menu

Step 2: Select GitHub Server Type

ManagerDash supports both GitHub.com and GitHub Enterprise:

  1. Find the GitHub Server section
  2. Select your server type:
    • GitHub.com: For public GitHub (most common)
    • GitHub Enterprise: For your company's self-hosted GitHub instance

If you selected GitHub.com:

  • Skip to Step 3 below

If you selected GitHub Enterprise:

  • Enter your Enterprise Server URL in the field that appears
  • Example: https://github.yourcompany.com
  • Do NOT include /api/v3 - it will be added automatically
  • This should be your company's GitHub Enterprise base URL

Step 3: Enter Token

  1. Find the GitHub Token or GitHub Personal Access Token field
  2. Click in the field
  3. Paste your token (⌘+V or Ctrl+V)
  4. Verify the entire token is pasted
    • Should start with ghp_
    • Should be fairly long (around 40+ characters)
  5. Click Save or Save Configuration button

Step 4: Verify Token Works

  1. Select a person with a GitHub username configured
  2. Click the PR Review tab
  3. Set a date range (e.g., last 7 days)
  4. Click Fetch Pull Requests
  5. If successful, PRs should appear
  6. If error appears, see Troubleshooting section below

Token Expiration and Renewal

When Your Token Expires

GitHub tokens expire based on the expiration date you set. When this happens:

Symptoms:

  • "Invalid token" error when fetching PRs
  • "Authentication failed" messages
  • No PRs load

Solution:

  1. Return to GitHub.com → Settings → Developer settings → Personal access tokens
  2. Delete or leave the old token
  3. Generate a new token following steps above
  4. Copy the new token
  5. Update it in ManagerDash Preferences
  6. Save and test

Best Practices for Token Management

Security:

  • Use 90-day expiration for good security
  • Set calendar reminder to renew before expiration
  • Delete tokens you're not using
  • Never share your token with others

Documentation:

  • Note when you created the token
  • Note when it expires
  • Keep track in password manager
  • Document where the token is used

Rotation:

  • Generate new token before old one expires
  • Update ManagerDash immediately
  • Verify new token works
  • Delete old token from GitHub

Troubleshooting

Token Not Working

Problem: "Invalid token" or "Authentication failed" error

Solutions to try:

  1. Check token format:

    • Should start with ghp_
    • No spaces before or after
    • Complete token copied (all ~40+ characters)
  2. Verify scopes:

    • Go back to GitHub → Settings → Developer settings → Personal access tokens
    • Click on your ManagerDash token
    • Verify repo and read:org are checked
    • If not, regenerate token with correct scopes
  3. Check expiration:

    • In token list, check expiration column
    • If expired, generate new token
    • Update in ManagerDash
  4. Copy token again:

    • Sometimes copy/paste can fail
    • Delete token from ManagerDash Preferences
    • Copy from GitHub again
    • Paste fresh copy
    • Save
  5. Generate completely new token:

    • Delete old token on GitHub
    • Create new one from scratch
    • Follow all steps carefully
    • Add to ManagerDash

No PRs Found

Problem: Token works but no PRs appear

Check:

  1. GitHub username:

    • Go to person's profile in ManagerDash
    • Verify GitHub username is correct
    • Should match their actual GitHub username
    • Case doesn't matter
  2. Date range:

    • Check if date range is too narrow
    • Expand to longer period (30 days)
    • Verify person had PRs in that period
  3. Repository access:

    • Verify person authored PRs in repos you can access
    • Private repos require your token to have access
    • Check if PRs exist on GitHub.com

Rate Limiting

Problem: "Rate limit exceeded" error

Explanation:

  • GitHub API has rate limits
  • Authenticated tokens: 5,000 requests/hour
  • This is usually more than enough

Solutions:

  • Wait an hour for limit to reset
  • Check if another tool is using same token
  • Don't fetch PRs too frequently
  • Consider using different token if needed

GitHub Enterprise Issues

Problem: "GitHub Enterprise URL not configured" error

Solutions:

  1. Verify server selection:

    • Open ManagerDash Preferences
    • Check that "GitHub Enterprise" radio button is selected
    • Verify the Enterprise Server URL field is visible
  2. Check URL format:

    • Should be https://github.yourcompany.com (or similar)
    • Do NOT include /api/v3 at the end
    • Do NOT include trailing slashes
    • Must start with http:// or https://
  3. Verify URL is correct:

    • Copy the URL from your browser when visiting your company's GitHub
    • Remove any path segments (like /dashboard or /repos)
    • Use just the base URL
    • Example: If you visit https://github.acme.com/dashboard, use https://github.acme.com
  4. Test Enterprise access:

    • Open your Enterprise URL in a browser
    • Verify you can log in
    • Check that you have access to the repositories
    • Ensure the server is online and accessible
  5. Check token permissions:

    • Token must be generated from your GitHub Enterprise instance
    • Cannot use GitHub.com token for Enterprise (or vice versa)
    • Verify token has correct scopes for Enterprise

Problem: Can't fetch PRs from Enterprise

Solutions:

  1. Verify token source:

    • Token must be from your Enterprise instance
    • Generate token at: https://your-enterprise-url/settings/tokens
    • NOT from github.com
  2. Check network access:

    • Enterprise server must be accessible from your machine
    • May need VPN if Enterprise is internal
    • Test by opening Enterprise URL in browser
  3. Verify API access:

    • Some Enterprise instances may have API disabled
    • Check with your GitHub Enterprise administrator
    • Verify your account has API access permissions

Token Compromised

If you think your token was exposed:

Immediate Actions:

  1. Go to GitHub → Settings → Developer settings → Personal access tokens
    • For Enterprise: https://your-enterprise-url/settings/tokens
  2. Find the compromised token
  3. Click Delete button
  4. Confirm deletion
  5. Generate new token immediately
  6. Update ManagerDash with new token

Prevention:

  • Never commit tokens to git
  • Don't share in chat/email
  • Use password manager
  • Rotate tokens regularly
  • Check GitHub for unauthorized access

Security Best Practices

Token Storage

✅ DO:

  • Store in password manager
  • Keep in encrypted storage
  • Use secure company vault
  • Treat like a password

❌ DON'T:

  • Store in plain text
  • Share with others
  • Commit to repositories
  • Include in screenshots
  • Email or message

Token Scope Limitations

Principle of Least Privilege:

  • Only grant permissions you need
  • Don't check extra scopes "just in case"
  • Review scopes periodically
  • Minimize admin permissions

For ManagerDash, ONLY need:

  • repo (for PR access)
  • read:org (for org repos)
  • Nothing else!

Regular Auditing

Monthly:

  • Review active tokens on GitHub
  • Delete unused tokens
  • Check token expiration dates
  • Verify ManagerDash still works

Quarterly:

  • Rotate long-lived tokens
  • Update documentation
  • Review access patterns
  • Verify security practices

Company Policies

Check with your organization:

  • May have specific token policies
  • Might require certain expiration
  • Could have token management tools
  • May audit token usage

Follow company guidelines for:

  • Token expiration periods
  • Storage requirements
  • Approval processes
  • Security standards

Alternative: Fine-Grained Tokens

Note: ManagerDash currently works best with Classic tokens. If you want to use Fine-grained tokens (more granular control):

Advantages:

  • More specific permissions
  • Repository-specific access
  • Better security audit trail

Disadvantages:

  • More complex setup
  • May require repo-by-repo config
  • Not all features supported by all apps

For now, stick with Classic tokens unless your organization requires Fine-grained.

FAQ

Q: How long should my token last? A: 90 days is recommended. Balances security with convenience. Set a calendar reminder to renew.

Q: Can multiple people use the same token? A: Technically yes, but don't do it. Each user should have their own token for security and auditing.

Q: Can I use the same token for multiple apps? A: Yes, but it's better to create separate tokens for different apps. Easier to revoke if one is compromised.

Q: What if I forgot to copy my token? A: You can't recover it. Delete that token and generate a new one.

Q: Will this token let ManagerDash modify my repos? A: No. While the repo scope technically grants write access, ManagerDash only reads PR data. It never writes.

Q: Do I need a different token for each team member? A: No. One token per ManagerDash installation is sufficient. It's used to fetch PRs for all team members.

Q: What happens if my token expires while using ManagerDash? A: PR fetching will fail with an "Invalid token" error. Generate and add a new token to fix.

Q: Can I use a GitHub App instead of a token? A: ManagerDash currently requires Personal Access Tokens. GitHub Apps aren't supported yet.

Q: Is my token stored securely in ManagerDash? A: Yes. ManagerDash stores the token locally using Electron's secure storage. It's never transmitted anywhere except to GitHub's API.

Q: Does ManagerDash support GitHub Enterprise? A: Yes! ManagerDash supports both GitHub.com and GitHub Enterprise Server. Select your server type in Preferences and enter your Enterprise URL.

Q: Can I use the same token for GitHub.com and GitHub Enterprise? A: No. You must generate separate tokens from each instance. A token from GitHub.com won't work with Enterprise, and vice versa.

Q: How do I generate a token for GitHub Enterprise? A: Follow the same steps as for GitHub.com, but start at your Enterprise URL: https://your-enterprise-url/settings/tokens. The process is identical.

Q: What if my GitHub Enterprise instance is behind a VPN? A: ManagerDash will work as long as your machine has network access to the Enterprise server. Make sure you're connected to your VPN before fetching PRs.

Q: Can I switch between GitHub.com and Enterprise? A: Yes! Simply change the server type in Preferences and update your token. Each configuration is saved independently.

Summary Checklist

Before you finish, verify:

  • Token created with correct scopes (repo + read:org)
  • Token copied and saved in secure location
  • Token added to ManagerDash Preferences
  • Token saved in ManagerDash
  • Token tested by fetching PRs
  • PRs appear successfully
  • Token documented with expiration date
  • Calendar reminder set for renewal
  • Old/unused tokens deleted from GitHub

Need Help?

If you're still having issues:

  1. Review the PR Review Guide
  2. Check the Troubleshooting section above
  3. Verify all steps were followed exactly
  4. Try generating a completely new token
  5. Check GitHub's status page for API issues
  6. Review your organization's GitHub policies

Additional Resources

GitHub Documentation:

Security Best Practices: