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
- Go to GitHub.com and sign in
- Click your profile picture in the top-right corner
- Click Settings from the dropdown menu
- Scroll down the left sidebar to find Developer settings (near the bottom)
- Click Developer settings
Step 2: Access Personal Access Tokens
- In the left sidebar of Developer settings, find Personal access tokens
- Click the dropdown arrow to expand it
- Click Tokens (classic)
- Note: Use "Tokens (classic)" not "Fine-grained tokens" for ManagerDash
Step 3: Generate New Token
- Click the Generate new token button (top-right)
- Select Generate new token (classic) from the dropdown
- 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
repocheckbox - This automatically checks all sub-items:
repo:status- Access commit statusrepo_deployment- Access deployment statuspublic_repo- Access public repositoriesrepo:invite- Access repository invitationssecurity_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 neededadmin:org- Not neededdelete_repo- Definitely not neededadmin:repo_hook- Not needed- Any other admin scopes - Not needed
Step 5: Generate and Copy Token
- Scroll to the bottom of the page
- Click the green Generate token button
- GitHub displays your new token (starts with
ghp_) - IMPORTANT: Copy the token immediately
- Click the copy icon next to the token
- Or select and copy the entire token string
- ⚠️ 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
- Launch ManagerDash application
- Look at the bottom of the left sidebar
- Click the Settings (gear icon) button
- Click Preferences from the menu
Step 2: Select GitHub Server Type
ManagerDash supports both GitHub.com and GitHub Enterprise:
- Find the GitHub Server section
- 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
- Find the GitHub Token or GitHub Personal Access Token field
- Click in the field
- Paste your token (⌘+V or Ctrl+V)
- Verify the entire token is pasted
- Should start with
ghp_ - Should be fairly long (around 40+ characters)
- Should start with
- Click Save or Save Configuration button
Step 4: Verify Token Works
- Select a person with a GitHub username configured
- Click the PR Review tab
- Set a date range (e.g., last 7 days)
- Click Fetch Pull Requests
- If successful, PRs should appear
- 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:
- Return to GitHub.com → Settings → Developer settings → Personal access tokens
- Delete or leave the old token
- Generate a new token following steps above
- Copy the new token
- Update it in ManagerDash Preferences
- 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:
-
Check token format:
- Should start with
ghp_ - No spaces before or after
- Complete token copied (all ~40+ characters)
- Should start with
-
Verify scopes:
- Go back to GitHub → Settings → Developer settings → Personal access tokens
- Click on your ManagerDash token
- Verify
repoandread:orgare checked - If not, regenerate token with correct scopes
-
Check expiration:
- In token list, check expiration column
- If expired, generate new token
- Update in ManagerDash
-
Copy token again:
- Sometimes copy/paste can fail
- Delete token from ManagerDash Preferences
- Copy from GitHub again
- Paste fresh copy
- Save
-
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:
-
GitHub username:
- Go to person's profile in ManagerDash
- Verify GitHub username is correct
- Should match their actual GitHub username
- Case doesn't matter
-
Date range:
- Check if date range is too narrow
- Expand to longer period (30 days)
- Verify person had PRs in that period
-
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:
-
Verify server selection:
- Open ManagerDash Preferences
- Check that "GitHub Enterprise" radio button is selected
- Verify the Enterprise Server URL field is visible
-
Check URL format:
- Should be
https://github.yourcompany.com(or similar) - Do NOT include
/api/v3at the end - Do NOT include trailing slashes
- Must start with
http://orhttps://
- Should be
-
Verify URL is correct:
- Copy the URL from your browser when visiting your company's GitHub
- Remove any path segments (like
/dashboardor/repos) - Use just the base URL
- Example: If you visit
https://github.acme.com/dashboard, usehttps://github.acme.com
-
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
-
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:
-
Verify token source:
- Token must be from your Enterprise instance
- Generate token at:
https://your-enterprise-url/settings/tokens - NOT from github.com
-
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
-
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:
- Go to GitHub → Settings → Developer settings → Personal access tokens
- For Enterprise:
https://your-enterprise-url/settings/tokens
- For Enterprise:
- Find the compromised token
- Click Delete button
- Confirm deletion
- Generate new token immediately
- 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:
- Review the PR Review Guide
- Check the Troubleshooting section above
- Verify all steps were followed exactly
- Try generating a completely new token
- Check GitHub's status page for API issues
- Review your organization's GitHub policies
Additional Resources
GitHub Documentation:
Security Best Practices: