Search Jira - Semantic Search for Jira Content

SkillSearch

Search Jira issues and comments with semantic search and filters

Available today. Use it from your connected AI after setup.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the Search Jira - Semantic Search for Jira Content skill

What this skill tells your AI

The instructions your AI receives, as published by hidden-history/ai-memory in .claude/skills/aim-jira-search/SKILL.md and read by ahel’s review.

Search the jira-data collection for issues and comments using semantic similarity with advanced filtering.

Activation

# Basic semantic search
/aim-jira-search "authentication bug"

# Filter by project
/aim-jira-search "API errors" --project BMAD

# Filter by type (issue or comment)
/aim-jira-search "implementation details" --type jira_comment

# Filter by issue type
/aim-jira-search "bugs" --issue-type Bug

# Filter by status
/aim-jira-search "in progress work" --status "In Progress"

# Filter by priority
/aim-jira-search "critical issues" --priority High

# Filter by author (comments) or reporter (issues)
/aim-jira-search "alice's comments" --author alice@company.com

# Issue lookup mode (issue + all comments)
/aim-jira-search --issue BMAD-42

# Combine filters
/aim-jira-search "database" --project BMAD --issue-type Bug --status Done --limit 10

Options

  • --project <key> - Filter by Jira project key (e.g., BMAD, PROJ)
  • --type <type> - Filter by document type (jira_issue or jira_comment)
  • --issue-type <type> - Filter by issue type (Bug, Story, Task, Epic)
  • --status <status> - Filter by issue status (To Do, In Progress, Done, etc.)
  • --priority <priority> - Filter by priority (Highest, High, Medium, Low, Lowest)
  • --author <email> - Filter by comment author or issue reporter
  • --issue <key> - Lookup mode: retrieve issue + all comments (e.g., BMAD-42)
  • --limit <n> - Maximum results to return (default: 5)

Result Format

Each result includes:

  • Jira URL - Direct link to issue/comment
  • Metadata badges - Type, Status, Priority, Author/Reporter
  • Content snippet - First ~300 characters
  • Relevance score - Semantic similarity (0-100%)

Qdrant Connection Details

The jira-data collection is stored in the local Qdrant instance:

ParameterValue
Hostlocalhost
Port26350 (NOT the default 6333)
API KeyRequired. Read from env: QDRANT_API_KEY
Collectionjira-data
URLhttp://localhost:26350

Qdrant Payload Schema

Every point in jira-data has the following payload fields. Use these exact names for filtering — do NOT guess field names like project_key or issue_key.

Common Fields (all points)

FieldTypeDescriptionExample
contentstringFull text content of issue/comment"[PROJ-123] Fix login bug..."
typestringDocument type"jira_issue" or "jira_comment"
group_idstringJira instance hostname (tenant isolation)"hidden-history.atlassian.net"
session_idstringAlways "jira_sync""jira_sync"
jira_projectstringProject key"BMAD"
jira_issue_keystringFull issue key"BMAD-42"
jira_issue_typestringIssue type name"Bug", "Story", "Task", "Epic"
jira_statusstringIssue status"To Do", "In Progress", "Done"
jira_prioritystring or nullPriority level"High", "Medium", "Low", null
jira_updatedstringISO 8601 timestamp"2026-02-10T14:30:00.000+0000"
jira_urlstringFull Jira URL"https://company.atlassian.net/browse/BMAD-42"

Issue-Only Fields (type: "jira_issue")

FieldTypeDescriptionExample
jira_reporterstringIssue reporter display name"Alice Smith"
jira_labelslist[string]Issue labels["backend", "auth"]

Comment-Only Fields (type: "jira_comment")

FieldTypeDescriptionExample
jira_comment_idstringJira comment ID"10042"
jira_authorstringComment author display name"Bob Jones"

Chunking Metadata (if content was chunked)

FieldTypeDescription
chunk_indexintChunk sequence number (0-based)
total_chunksintTotal chunks for this document
chunking_strategystringStrategy used (e.g., "topical")

Direct Query Examples

Use query.py via run-with-env.sh for all direct Qdrant queries. Auth and connection are handled by the standard memory.* config layer — no manual API key export required.

INSTALL="${AI_MEMORY_INSTALL_DIR:-$HOME/.ai-memory}"
QUERY="$INSTALL/_ai-memory/skills/aim-jira-search/scripts/query.py"

# Search by project key (table output)
"$INSTALL/scripts/memory/run-with-env.sh" "$QUERY" \
  --project BMAD --limit 10

# Filter by issue type and status
"$INSTALL/scripts/memory/run-with-env.sh" "$QUERY" \
  --project BMAD --issue-type Bug --status Done --limit 20

# Count points and vectors in the collection
"$INSTALL/scripts/memory/run-with-env.sh" "$QUERY" --count

# Get all comments for a specific issue
"$INSTALL/scripts/memory/run-with-env.sh" "$QUERY" \
  --issue-key BMAD-42 --doc-type jira_comment --limit 50

# JSON output for programmatic use
"$INSTALL/scripts/memory/run-with-env.sh" "$QUERY" \
  --project BMAD --format json --limit 5

Available flags (use exact Qdrant payload field values — see schema above):

  • --project — project key (e.g., BMAD)
  • --issue-type — issue type (e.g., Bug, Story, Task, Epic)
  • --status — status (e.g., "In Progress", Done)
  • --issue-key — full issue key (e.g., BMAD-42)
  • --doc-type — document type (jira_issue or jira_comment)
  • --limit — max results (default: 10)
  • --format — table (default) or json
  • --count — return collection info counts instead of scroll

Python Implementation Reference

The src/memory/connectors/jira/search.py module is not importable from external scripts — use query.py (above) for direct Qdrant access.

Technical Details

  • Semantic Search: Uses jina-embeddings-v2-base-en for vector similarity
  • Tenant Isolation: Mandatory group_id filter prevents cross-instance leakage
  • Performance: < 2s for typical searches
  • Collection: jira-data (issues and comments)
  • Score Threshold: Configurable via SIMILARITY_THRESHOLD (default 0.7)
  • Port: 26350 (NOT the Qdrant default of 6333)
  • API Key: Required — stored in ~/.ai-memory/docker/.env as QDRANT_API_KEY

Notes

  • Jira instance URL is auto-detected from project configuration
  • Results sorted by relevance score (highest first)
  • Issue lookup mode returns chronologically sorted comments
  • All filters are optional except query (or --issue for lookup mode)
  • Use exact field names from the schema above — jira_project NOT project_key, jira_issue_key NOT issue_key

Signals

GitHub stars
41
Forks
5
Last commit
Sep 2026

ahel review

  • S4info
    community integration, published by hidden-history, not jira
  • K6low
    bundled executables the agent is told to run

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Item type
skill
Key
aim-jira-search
Source
github.com/hidden-history/ai-memory