Skip to main content
DevDaily can extract ticket IDs from branch names and commit messages, then fetch metadata from your project management tool to enrich standups, PR descriptions, and work summaries.

Supported Tools

GitHub Issues

Uses gh CLI (no additional auth required)

Jira

REST API v3 with email + API token

Linear

GraphQL API with API key

Notion

REST API with integration token

Quick Setup

Run the interactive setup wizard:
Or specify a tool directly:

Configuration

Set your project management tool in .devdaily.json:
.devdaily.json
enum
default:"github"
Primary project management tool: github, jira, linear, notion, or none
string
Ticket ID prefix (e.g., PROJ, ENG, DEV). Used to extract ticket numbers from branch names and commits.
string (regex)
Custom regex pattern for ticket extraction (advanced). Overrides default patterns.

GitHub Issues

Authentication

GitHub Issues uses the gh CLI, which must be authenticated:
No additional configuration needed - DevDaily reuses your gh session.

Configuration

.devdaily.json

Ticket ID Patterns

GitHub Issues are referenced by number:
  • #123 - Issue number 123
  • gh-123 - Alternative format
Extracted from:
  • Branch names: feature/123-auth-refactor, fix/#456-bug
  • Commit messages: Fix #123: Add authentication

Example

Jira

Authentication

Jira requires:
  1. Base URL: Your Jira instance URL
  2. Email: Your Jira account email
  3. API Token: Generate at https://id.atlassian.com/manage-profile/security/api-tokens
1

Generate API Token

  1. Go to https://id.atlassian.com/manage-profile/security/api-tokens
  2. Click “Create API token”
  3. Name it “DevDaily” and copy the token
2

Store Credentials

Add to ~/.config/devdaily/secrets.json:
3

Configure Tool

Set in .devdaily.json:
4

Test Connection

Configuration

string
required
Jira instance URL (e.g., https://yourcompany.atlassian.net)
string
Default project key for searches (e.g., PROJ, ENG)
boolean
default:"true"
Use API token authentication (recommended)

Ticket ID Patterns

Jira tickets follow the format PROJECT-123:
  • PROJ-123 - Standard format
  • ENG-456 - Different project
Extracted from:
  • Branch names: feature/PROJ-123-auth, PROJ-456/implementation
  • Commit messages: PROJ-123: Add authentication

Environment Variables

Example

Linear

Authentication

Linear requires an API key:
1

Generate API Key

  1. Go to https://linear.app/settings/api
  2. Click “Create new API key”
  3. Name it “DevDaily” and copy the key
2

Store API Key

Add to ~/.config/devdaily/secrets.json:
3

Configure Tool

.devdaily.json

Configuration

string
Team identifier (e.g., ENG, DEV, PROD)
boolean
default:"true"
Use Linear API (vs CLI - API recommended)

Ticket ID Patterns

Linear tickets use format TEAM-123:
  • ENG-123 - Engineering team issue
  • DEV-456 - Development team issue
Extracted from:
  • Branch names: feature/ENG-123-auth, ENG-456/bugfix
  • Commit messages: ENG-123: Implement OAuth

Environment Variables

Example

Notion

Authentication

Notion requires:
  1. Integration Token: Create an integration at https://www.notion.so/my-integrations
  2. Database ID: The ID of your tasks/issues database
1

Create Integration

  1. Go to https://www.notion.so/my-integrations
  2. Click “New integration”
  3. Name it “DevDaily” and save
  4. Copy the “Internal Integration Token”
2

Share Database

  1. Open your tasks/issues database in Notion
  2. Click ”…” → “Add connections”
  3. Select your “DevDaily” integration
3

Get Database ID

From the database URL:
4

Store Credentials

~/.config/devdaily/secrets.json

Configuration

string
required
Notion database ID containing tasks/issues
boolean
default:"true"
Use Notion API (recommended)

Ticket ID Patterns

Notion uses UUIDs:
  • a1b2c3d4-e5f6-7890-abcd-ef1234567890 - Full UUID
  • a1b2c3d4e5f67890abcdef1234567890 - UUID without hyphens
Notion integration is limited compared to other tools because Notion doesn’t have built-in issue tracking. Best used with structured databases.

Environment Variables

Ticket Extraction

DevDaily automatically extracts ticket IDs from:

Branch Names

Common patterns:

Commit Messages

Custom Patterns

For non-standard formats, use a custom regex:
.devdaily.json

Fetched Metadata

DevDaily fetches the following ticket data:
string
Ticket ID (e.g., PROJ-123, #456, ENG-789)
string
Ticket title/summary
string
Full ticket description
string
Current status (e.g., In Progress, Done, open)
enum
Issue type: bug, feature, task, story, epic, or other
enum
Priority level: low, medium, high, or critical
string
Assigned person’s name
string[]
Associated labels/tags
string
Direct link to ticket

Testing Connection

Verify your PM integration is working:

Usage in Commands

Standup

Tickets are automatically included in standups:

PR Descriptions

Ticket data enriches PR descriptions:

Weekly Summaries

Disabling PM Integration

To disable project management integration:
.devdaily.json
DevDaily will still extract ticket IDs from branch names but won’t fetch metadata.

Troubleshooting

Authentication Errors

  • Verify email and API token in secrets.json
  • Check token hasn’t expired
  • Ensure baseUrl is correct (no trailing slash)
  • Test: curl -u email:token https://yourcompany.atlassian.net/rest/api/3/myself
  • Run gh auth login
  • Verify: gh auth status
  • Ensure gh CLI version >= 2.0
  • Verify database ID is correct
  • Check integration has access to database
  • Re-share database with integration

Tickets Not Found

  1. Check ticket ID format:
  2. Verify ticketPrefix:
  3. Test extraction manually:

Rate Limiting

API rate limits:
  • Jira: 10 req/sec per user
  • Linear: 2000 req/hour
  • GitHub: 5000 req/hour (authenticated)
DevDaily caches ticket data during command execution to minimize API calls.

Best Practices

1

Use consistent branch naming

Always include ticket ID in branch names:
2

Reference tickets in commits

3

Configure ticketPrefix

Set your team’s standard prefix:
4

Test before relying on automation

Configuration Overview

Learn about all configuration options

PR Templates

Customize how ticket data appears in PRs