Skip to content

Built for people who want to own their automations. Join the waitlist for an invite.

Package listing

@kody/atlassian

src/smoke-test.ts

49 lines · 935 B · TypeScript
import {
	ATLASSIAN_MCP_NAME,
	ATLASSIAN_MCP_URL,
	atlassianMcpSetupMessage,
	callAtlassianMcp,
	isAtlassianMcpConnected,
} from './mcp.ts'

export default async function smokeTest() {
	if (!isAtlassianMcpConnected()) {
		return {
			ok: true,
			live: false,
			via: null,
			setup: {
				preferred: 'mcp',
				mcp: {
					name: ATLASSIAN_MCP_NAME,
					url: ATLASSIAN_MCP_URL,
					connected: false,
					setup: atlassianMcpSetupMessage(),
				},
				fallback: 'https://kody.codes/@kody/jira',
			},
		}
	}

	const probe = await callAtlassianMcp(
		[
			'getAccessibleAtlassianResources',
			'getVisibleJiraProjects',
			'searchJiraIssuesUsingJql',
			'search',
		],
		{ jql: 'order by updated DESC', maxResults: 1 },
	)
	return {
		ok: true,
		live: true,
		via: 'mcp',
		tool: probe?.tool ?? null,
		mcp: {
			name: ATLASSIAN_MCP_NAME,
			url: ATLASSIAN_MCP_URL,
			connected: true,
			setup: atlassianMcpSetupMessage(),
		},
	}
}