Problem: Context Switching Kills Your Flow
You're coding in VS Code, hit a blocker, and now you need to switch to Jira to create a ticket or Slack to ask your team. Five browser tabs and three minutes later, you've lost your train of thought.
You'll learn:
- How to install GitHub Copilot Extensions for Jira and Slack
- Configure OAuth connections from VS Code
- Use natural language to create tickets and send messages
- Troubleshoot common authentication issues
Time: 12 min | Level: Beginner
Why This Helps
GitHub Copilot Extensions (launched in 2024, expanded in 2025) let you interact with external services directly through Copilot Chat in your IDE. Instead of leaving your editor, you can:
- Create Jira issues from code comments
- Query Jira tickets by ID or JQL
- Send Slack messages to channels or DMs
- Search past conversations
- All using natural language prompts
Common use cases:
- "Create a Jira bug for this TypeScript error"
- "Send a Slack message to #backend about this API change"
- "Show me Jira tickets assigned to me in the current sprint"
Prerequisites
Before starting, verify:
# Check GitHub Copilot is installed and active
gh copilot --version
You need:
- VS Code 1.85+ or compatible IDE (IntelliJ, Neovim with Copilot plugin)
- GitHub Copilot subscription (Individual, Business, or Enterprise)
- Admin access to your Jira workspace (or permission to authorize apps)
- Ability to add apps to your Slack workspace (or ask workspace admin)
Solution
Step 1: Install the Extensions from GitHub Marketplace
For Jira:
- Go to github.com/marketplace
- Search for "GitHub Copilot for Jira" (official Atlassian extension)
- Click "Set up a plan" → "Install it for free"
- Select your GitHub account/organization
- Click "Complete order and begin installation"
For Slack:
- Search "GitHub Copilot for Slack" in GitHub Marketplace
- Click "Set up a plan" → "Install it for free"
- Select account → "Complete order and begin installation"
Expected: You'll see confirmation pages saying extensions are installed on your account.
If it fails:
- Error: "Not authorized": You need GitHub Copilot subscription active
- No marketplace access: Your org may restrict marketplace apps - contact admin
Step 2: Enable Extensions in VS Code
Open VS Code and access Copilot Chat:
1. Press Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows/Linux)
2. Type "Copilot: Open Chat"
3. Click the "..." menu in Copilot Chat panel
4. Select "Extensions"
You should see:
- ✅ GitHub Copilot for Jira
- ✅ GitHub Copilot for Slack
Toggle both to enabled (blue checkmark).
Step 3: Authenticate Jira
In Copilot Chat, type:
@jira login
What happens:
- VS Code opens your browser to Jira OAuth page
- You'll see "GitHub Copilot wants to access your Jira"
- Click "Accept"
- Select your Jira site (e.g.,
yourcompany.atlassian.net) - Grant permissions
Browser shows: "Authentication successful. Return to VS Code."
Back in VS Code: Chat confirms "✅ Connected to Jira: yourcompany.atlassian.net"
If it fails:
- Error: "Site not found": Verify your Jira URL is
[subdomain].atlassian.net - OAuth timeout: Click
@jira loginagain, browser caches auth - Permission denied: You need Jira "Browse Projects" permission minimum
Step 4: Authenticate Slack
In Copilot Chat, type:
@slack login
OAuth flow:
- Browser opens Slack workspace selection
- Choose your workspace from dropdown
- Click "Allow" to grant permissions:
- View channels and users
- Send messages on your behalf
- Read message history (optional, for search)
You'll see: "Connected to Slack workspace: YourTeam"
If it fails:
- Error: "Workspace not authorized": Ask Slack admin to approve GitHub Copilot app
- Multiple workspaces: You can only connect one at a time - run
@slack loginagain to switch - Permissions unclear: Extension requests minimal access - it can't read DMs you're not part of
Step 5: Test Jira Connection
Try these commands in Copilot Chat:
@jira show me my open tickets
@jira create a bug: "TypeScript build failing on CI after 5.5 upgrade"
@jira PROJ-1234
Expected output:
📋 Your Open Tickets (3):
- PROJ-1234: Fix login redirect [In Progress]
- PROJ-1256: Add error logging [To Do]
- PROJ-1290: Update dependencies [In Review]
✅ Created: PROJ-1291 - "TypeScript build failing on CI after 5.5 upgrade"
Link: https://yourcompany.atlassian.net/browse/PROJ-1291
📄 PROJ-1234: Fix login redirect
Status: In Progress | Assignee: You
Description: [shows ticket details]
If it fails:
- Error: "No access to project PROJ": Check Jira permissions for that project
- Empty results: Try
@jira jql "assignee = currentUser()"for explicit query - Slow response: First query caches data - subsequent ones are faster
Step 6: Test Slack Connection
Try sending a message:
@slack send to #engineering "Deployed API v2.1.0 to staging - ready for QA"
@slack search for "database migration" in #backend last week
@slack list my channels
Expected output:
✅ Message sent to #engineering
Link: https://yourteam.slack.com/archives/C01.../p1234567890
🔍 Found 3 messages about "database migration":
1. [#backend] @alice: "Migration script ready for review"
2. [#backend] @bob: "Database migration completed on staging"
...
📱 Your Channels (10):
- #engineering, #backend, #frontend, #random...
If it fails:
- Error: "Channel not found": Use channel ID (C01ABC123) or verify you're a member
- Message not sending: Check Slack app permissions weren't revoked
- Search returns nothing: Requires "Read history" permission - reconnect with
@slack login
Verification
Full workflow test:
1. In VS Code, open a file with a TODO comment:
// TODO: Fix type error in useAuth hook
2. In Copilot Chat:
@jira create a task: "Fix type error in useAuth hook"
priority: High, labels: typescript
3. Copy the created ticket ID (e.g., PROJ-1292)
4. In Copilot Chat:
@slack send to @yourmanager "Created PROJ-1292 for the useAuth type issue"
You should see:
- Jira ticket created with correct priority and label
- Slack DM delivered to manager
- Both actions completed without leaving VS Code
Advanced Usage
Jira JQL Queries
@jira jql "project = PROJ AND status = 'In Progress' AND assignee = currentUser()"
@jira show sprint backlog
Slack Shortcuts
@slack send to @alice "Can you review PR #234?"
@slack remind #team in 30 minutes "Standup starting"
@slack set status to "🍕 Lunch" for 1 hour
Note: Reminders and status require Slack Premium workspace.
Context-Aware Tickets
Select code in your editor, then:
@jira create a bug with this code snippet [pastes automatically]
What You Learned
- GitHub Copilot Extensions use OAuth for secure, scoped access
- You can manage external services without leaving your IDE
- Natural language works for most common tasks
- Extensions respect your existing permissions in Jira/Slack
Limitations:
- One Slack workspace at a time (Enterprise can configure multiple)
- Jira requires Atlassian Cloud (Server/Data Center not supported)
- Rate limits apply (same as Jira/Slack APIs)
When NOT to use this:
- Complex Jira workflows (use web UI for bulk operations)
- Slack calls or huddles (requires Slack app)
- Sensitive information (chat logs may be stored)
Troubleshooting
"Extension not responding"
# Reload VS Code
Cmd+Shift+P → "Developer: Reload Window"
# Check extension status
@jira status
@slack status
Re-authenticate
@jira logout
@jira login
@slack logout
@slack login
Remove Access
Jira:
- Go to id.atlassian.com/manage-profile/apps
- Find "GitHub Copilot" → Revoke
Slack:
- Go to your-workspace.slack.com/apps/manage
- Find "GitHub Copilot" → Remove App
Tested on VS Code 1.96, GitHub Copilot 1.162.0, Jira Cloud, Slack Free/Premium
Privacy & Security Notes
What data is shared:
- Jira: Project names, ticket IDs, descriptions you query
- Slack: Channel names, message content you send/search
- GitHub stores prompts for service improvement (can opt out in Copilot settings)
What's NOT shared:
- Your full Jira database (only queries you run)
- Slack messages you don't explicitly search
- Source code (unless you paste it in prompts)
Best practices:
- Don't include secrets or API keys in Jira tickets via Copilot
- Review messages before sending to Slack
- Use workspace SSO for automatic session management
- Audit OAuth apps quarterly in GitHub settings