← Public packages
@kody/atlassian
Read Jira and Confluence through the official Atlassian MCP server, with Jira OAuth or API-token fallback.
src/search-jira.ts
33 lines · 979 B · TypeScriptimport { atlassianMcpSetupMessage, callAtlassianMcp, firstArray } from './mcp.ts'
type SearchJiraInput = {
jql?: string
maxResults?: number
}
/**
* Search Jira issues through the connected Atlassian MCP server.
* @param input - Optional helper arguments (query, limit, filters).
* @returns Structured helper result for agents.
* @example
* import searchJira from 'kody:@kody/atlassian/search-jira'
* const result = await searchJira()
* // => { ... }
*/
export default async function searchJira(input: SearchJiraInput = {}) {
const jql = input.jql?.trim() || 'assignee = currentUser() ORDER BY updated DESC'
const maxResults = input.maxResults ?? 10
const mcp = await callAtlassianMcp(
['searchJiraIssuesUsingJql', 'search_jira_issues_using_jql', 'search', 'jira_search'],
{ jql, maxResults },
)
if (!mcp) {
throw new Error(atlassianMcpSetupMessage())
}
return {
via: 'mcp',
tool: mcp.tool,
jql,
issues: firstArray(mcp.result) ?? mcp.result,
}
}