{"_id":"@ednaaaj/jira-test","_rev":"6-e7fb3224ca0e634d0e90660a100ac4fa","name":"@ednaaaj/jira-test","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"@ednaaaj/jira-test","version":"1.0.0","keywords":["jira","testing","jest","cli","automation","test-management"],"author":{"name":"ednaaaj"},"license":"MIT","_id":"@ednaaaj/jira-test@1.0.0","maintainers":[{"name":"ednaaaj","email":"jhondi.pamonag27@gmail.com"}],"homepage":"https://github.com/ednaaaj/jira-test#readme","bugs":{"url":"https://github.com/ednaaaj/jira-test/issues"},"bin":{"jira-test":"bin/jira-test.js"},"dist":{"shasum":"5134c4f5f16a22d40e2ae6f920fcf48d1fd6c428","tarball":"https://registry.npmjs.org/@ednaaaj/jira-test/-/jira-test-1.0.0.tgz","fileCount":55,"integrity":"sha512-S+3gt1NoU10+aC/Wgu4nO49yAGtlCts9JRXD+okmOiyfm0oR5q0p0CppcziGpPt+pST0scvKOmUn3hPzcvn75w==","signatures":[{"sig":"MEYCIQDcAetB/grGMUwF98rNYAg7llfJnW6JiV2RDX1B3qVTzAIhAI3qSEZQbU0ss2ZsQ3vCCEJOktKePU6YPpUYfmqphkiE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149195},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"a5b9040bc812b248043514e643ddb3113e82a981","scripts":{"dev":"tsc --watch","lint":"eslint src tests --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","test:unit":"jest tests/unit","test:smoke":"jest tests/smoke","prepublishOnly":"npm run build"},"_npmUser":{"name":"ednaaaj","email":"jhondi.pamonag27@gmail.com"},"repository":{"url":"git+https://github.com/ednaaaj/jira-test.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool that connects Jira issues to automated tests and runs them locally","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","dotenv":"^16.4.5","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.0","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/jira-test_1.0.0_1770362516000_0.43818633411088315","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ednaaaj/jira-test","version":"1.0.1","keywords":["jira","testing","jest","cli","automation","test-management"],"author":{"name":"ednaaaj"},"license":"MIT","_id":"@ednaaaj/jira-test@1.0.1","maintainers":[{"name":"ednaaaj","email":"jhondi.pamonag27@gmail.com"}],"homepage":"https://github.com/ednaaaj/jira-test#readme","bugs":{"url":"https://github.com/ednaaaj/jira-test/issues"},"bin":{"jira-test":"bin/jira-test.js"},"dist":{"shasum":"b834efd22c5b78e1d21970775abaedcd0e3fac0d","tarball":"https://registry.npmjs.org/@ednaaaj/jira-test/-/jira-test-1.0.1.tgz","fileCount":55,"integrity":"sha512-hadjwakpoF8vVyShugKPc0r1WDtlrEV0cIp1xG9oe9W4Tzz40k3HVg1FNMbRf1BFdAuvKmbPelhmzvNGY4+ECQ==","signatures":[{"sig":"MEUCIEM4QaGwaUIjOXdOwDdZc1AZpriGGl+2Y9ZHZCpiNX2cAiEAt5Lcdk170u+ZOrMVRI9wH/DwXB7Vi+ZZlECfioreEiA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149701},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"800d930f9802fa1712e04d9ed0df303aa88a3726","scripts":{"dev":"tsc --watch","lint":"eslint src tests --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","test:unit":"jest tests/unit","test:smoke":"jest tests/smoke","prepublishOnly":"npm run build"},"_npmUser":{"name":"ednaaaj","email":"jhondi.pamonag27@gmail.com"},"repository":{"url":"git+https://github.com/ednaaaj/jira-test.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool that connects Jira issues to automated tests and runs them locally","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","dotenv":"^16.4.5","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.0","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/jira-test_1.0.1_1770367377001_0.10743940099816163","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@ednaaaj/jira-test","version":"1.0.2","keywords":["jira","testing","jest","cli","automation","test-management"],"author":{"name":"ednaaaj"},"license":"MIT","_id":"@ednaaaj/jira-test@1.0.2","maintainers":[{"name":"ednaaaj","email":"jhondi.pamonag27@gmail.com"}],"homepage":"https://github.com/ednaaaj/jira-test#readme","bugs":{"url":"https://github.com/ednaaaj/jira-test/issues"},"bin":{"jira-test":"bin/jira-test.js"},"dist":{"shasum":"9739ce0e7aa79ad8d0225b1ffcf8ddacbfa4d023","tarball":"https://registry.npmjs.org/@ednaaaj/jira-test/-/jira-test-1.0.2.tgz","fileCount":55,"integrity":"sha512-NrzzeRWZ9oVkP+6yC04sojDFAln52znYUp6wLGIadnRaGOgxLU9N9GcNtoILJgT9MeZEkQbYm+T1E3VrhEb8fQ==","signatures":[{"sig":"MEYCIQCLWceF/L9UKD6GhpBcQSyB+9b+xfVFN2vhIlSL3+Gw3AIhAKZW4mq4Ks3AsllC7DVc3PrtWr091XuIxeWyREGgke9X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152722},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"d3943730f660d5b0ec0ba6bfc657b14ce8a4319c","scripts":{"dev":"tsc --watch","lint":"eslint src tests --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","test:unit":"jest tests/unit","test:smoke":"jest tests/smoke","prepublishOnly":"npm run build"},"_npmUser":{"name":"ednaaaj","email":"jhondi.pamonag27@gmail.com"},"repository":{"url":"git+https://github.com/ednaaaj/jira-test.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool that connects Jira issues to automated tests and runs them locally","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","dotenv":"^16.4.5","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.0","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/jira-test_1.0.2_1770368115450_0.7187614080625828","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@ednaaaj/jira-test","version":"1.0.3","keywords":["jira","testing","jest","cli","automation","test-management"],"author":{"name":"ednaaaj"},"license":"MIT","_id":"@ednaaaj/jira-test@1.0.3","maintainers":[{"name":"ednaaaj","email":"jhondi.pamonag27@gmail.com"}],"homepage":"https://github.com/ednaaaj/jira-test#readme","bugs":{"url":"https://github.com/ednaaaj/jira-test/issues"},"bin":{"jira-test":"bin/jira-test.js"},"dist":{"shasum":"2bb6f7b7cda3865f115b3ad1fadb107f8ab5c8ff","tarball":"https://registry.npmjs.org/@ednaaaj/jira-test/-/jira-test-1.0.3.tgz","fileCount":63,"integrity":"sha512-Hz4XD3rIJU/Iw8kg4r7jO7bnBajyObZYN4QJy+ORDCfJaJqq06/kqt4sNIPBwviEWlTbY3KoKnHvJ2XFPPxkFQ==","signatures":[{"sig":"MEUCIQClQtnIrk2xPZe7ANdmkznUnyqn5ioSvigkl9oJwJGWFQIgLkWchg/aOqrh2F4IEcZTW9+2lxylOLOh+hH82OozVsU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183119},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"dd02241ba4da533de59ae7efaba217225c8bafbf","scripts":{"dev":"tsc --watch","lint":"eslint src tests --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","test:unit":"jest tests/unit","test:smoke":"jest tests/smoke","prepublishOnly":"npm run build"},"_npmUser":{"name":"ednaaaj","email":"jhondi.pamonag27@gmail.com"},"repository":{"url":"git+https://github.com/ednaaaj/jira-test.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool that connects Jira issues to automated tests and runs them locally","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","dotenv":"^16.4.5","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.0","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/jira-test_1.0.3_1770370274286_0.9777501551617562","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@ednaaaj/jira-test","version":"1.0.4","keywords":["jira","testing","jest","cli","automation","test-management"],"author":{"name":"ednaaaj"},"license":"MIT","_id":"@ednaaaj/jira-test@1.0.4","maintainers":[{"name":"ednaaaj","email":"jhondi.pamonag27@gmail.com"}],"homepage":"https://github.com/ednaaaj/jira-test#readme","bugs":{"url":"https://github.com/ednaaaj/jira-test/issues"},"bin":{"jira-test":"bin/jira-test.js"},"dist":{"shasum":"da90739e5525e7f0fbf602a03a1bd068dcf7f0da","tarball":"https://registry.npmjs.org/@ednaaaj/jira-test/-/jira-test-1.0.4.tgz","fileCount":63,"integrity":"sha512-CcHxL6acoxtV2EZPBbKAgmtDUy3GNkqTr+Qgaou6jm5DjrfG8QQNN6AAPfmhCMFvg4G2XuDCEufR6UmaJnxeJQ==","signatures":[{"sig":"MEYCIQCPfKAMjhPufLbFy4gOAJ4Iy0GEqitrYLmNQUw/c3nT0AIhAPCHQhqmcMWe0LIPuW+CJ7ky/I/BkNb92t1Fn1/3gZAs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184734},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"3a8b54e3409126e3a2c62a79101b74f91369da8c","scripts":{"dev":"tsc --watch","lint":"eslint src tests --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","test:unit":"jest tests/unit","test:smoke":"jest tests/smoke","prepublishOnly":"npm run build"},"_npmUser":{"name":"ednaaaj","email":"jhondi.pamonag27@gmail.com"},"repository":{"url":"git+https://github.com/ednaaaj/jira-test.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool that connects Jira issues to automated tests and runs them locally","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","dotenv":"^16.4.5","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.0","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/jira-test_1.0.4_1770371222333_0.42023295028406027","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@ednaaaj/jira-test","version":"1.0.5","description":"CLI tool that connects Jira issues to automated tests and runs them locally","main":"dist/index.js","types":"dist/index.d.ts","bin":{"jira-test":"bin/jira-test.js"},"scripts":{"build":"tsc","clean":"rm -rf dist","dev":"tsc --watch","test":"jest","test:unit":"jest tests/unit","test:smoke":"jest tests/smoke","lint":"eslint src tests --ext .ts","prepublishOnly":"npm run build"},"keywords":["jira","testing","jest","cli","automation","test-management"],"author":{"name":"ednaaaj"},"license":"MIT","engines":{"node":">=18.0.0"},"dependencies":{"commander":"^12.1.0","chalk":"^4.1.2","ora":"^5.4.1","dotenv":"^16.4.5"},"devDependencies":{"@types/jest":"^29.5.12","@types/node":"^20.14.0","jest":"^29.7.0","ts-jest":"^29.1.4","typescript":"^5.4.5","@typescript-eslint/eslint-plugin":"^7.13.0","@typescript-eslint/parser":"^7.13.0","eslint":"^8.57.0"},"repository":{"type":"git","url":"git+https://github.com/ednaaaj/jira-test.git"},"publishConfig":{"access":"public"},"_id":"@ednaaaj/jira-test@1.0.5","gitHead":"e1b5c09df6594e049a43d87bf8f05ed98cd0b668","bugs":{"url":"https://github.com/ednaaaj/jira-test/issues"},"homepage":"https://github.com/ednaaaj/jira-test#readme","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-KYezNK/Ygf+/dKu5kWoF2UUfuiYw8Dyon9LoguZB2EHeYdhW5nvrdEPjWjyL3KdVFPPM17J7ZO1iX6Nszs7IDQ==","shasum":"e39ce9c454176b105c617f87803dcb2cf09d901e","tarball":"https://registry.npmjs.org/@ednaaaj/jira-test/-/jira-test-1.0.5.tgz","fileCount":63,"unpackedSize":187116,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDc/8MfU0kGyCrkLQnVOtG5A/zjQBqIP6xzPA/wrH2cWgIgKasUD/WBKgrD7J7ibSZCVSXLlUb76GFTyPzdRXjwKwM="}]},"_npmUser":{"name":"ednaaaj","email":"jhondi.pamonag27@gmail.com"},"directories":{},"maintainers":[{"name":"ednaaaj","email":"jhondi.pamonag27@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jira-test_1.0.5_1770401240721_0.6133231790476918"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-06T07:21:55.939Z","modified":"2026-02-06T18:07:21.015Z","1.0.0":"2026-02-06T07:21:56.146Z","1.0.1":"2026-02-06T08:42:57.139Z","1.0.2":"2026-02-06T08:55:15.627Z","1.0.3":"2026-02-06T09:31:14.444Z","1.0.4":"2026-02-06T09:47:02.476Z","1.0.5":"2026-02-06T18:07:20.887Z"},"bugs":{"url":"https://github.com/ednaaaj/jira-test/issues"},"author":{"name":"ednaaaj"},"license":"MIT","homepage":"https://github.com/ednaaaj/jira-test#readme","keywords":["jira","testing","jest","cli","automation","test-management"],"repository":{"type":"git","url":"git+https://github.com/ednaaaj/jira-test.git"},"description":"CLI tool that connects Jira issues to automated tests and runs them locally","maintainers":[{"name":"ednaaaj","email":"jhondi.pamonag27@gmail.com"}],"readme":"# jira-test\n\n**Run your test files and automatically post coverage to Jira tickets.**\n\nA CLI tool that runs test files, collects coverage, and posts results directly to Jira tickets with beautiful formatted comments.\n\n## ✨ Features\n\n- **🎯 File-Based Testing**: Simply run `jira-test MyComponent.test.tsx`\n- **🔍 Auto-Detection**: Automatically finds Jira ticket from describe blocks\n- **🧪 Test Runner Detection**: Supports Jest, Vitest, Mocha (auto-detected from package.json)\n- **📊 Coverage Reporting**: Posts component coverage directly to Jira tickets\n- **📋 Subtask Matching**: Shows which Jira subtasks have tests in your file\n- **🎨 Beautiful Formatting**: Rich Jira comments with tables, colors, and status badges\n- **⚡ Animated Spinners**: Real-time progress indicators\n- **🔒 Flexible Auth**: Supports Jira Cloud and Data Center/Server\n- **🚫 No Plugins**: Works with standard Jira without Xray/Zephyr\n\n## 📦 Installation\n\n```bash\n# Install globally\nnpm install -g @ednaaaj/jira-test\n\n# Or use npx\nnpx @ednaaaj/jira-test MyComponent.test.tsx\n```\n\n## 🚀 Quick Start\n\n### 1. Set up environment variables\n\n```bash\n# For Jira Cloud\nexport JIRA_BASE_URL=\"https://your-domain.atlassian.net\"\nexport JIRA_EMAIL=\"your-email@company.com\"\nexport JIRA_API_TOKEN=\"your-api-token\"\n\n# For Jira Data Center/Server\nexport JIRA_BASE_URL=\"https://jira.your-company.com\"\nexport JIRA_PAT=\"your-personal-access-token\"\n```\n\nGet your Jira API token: https://id.atlassian.com/manage-profile/security/api-tokens\n\n### 2. Add Jira ticket to your test file\n\n```typescript\n// HotelBanner.test.tsx\ndescribe('HOTEL-27752', () => {\n  it('renders banner correctly', () => {\n    // your test\n  });\n});\n```\n\n### 3. Run the test\n\n```bash\njira-test HotelBanner.test.tsx\n```\n\nThat's it! The tool will:\n- ✅ Auto-detect the Jira ticket (HOTEL-27752) from your describe block\n- ✅ Auto-detect your test runner (Jest/Vitest/Mocha)\n- ✅ Run tests with coverage\n- ✅ Post results and coverage to HOTEL-27752\n\n## 📖 Usage\n\n### File Mode (Recommended)\n\nRun a specific test file:\n\n```bash\njira-test path/to/MyComponent.test.tsx\n```\n\nThe tool will:\n1. Find the Jira ticket key from `describe('TICKET-123', ...)` in your file\n2. Detect your test runner from package.json\n3. Run tests with coverage for that file only\n4. Fetch subtasks from Jira\n5. Post a comment to the Jira ticket with:\n   - Test run summary (X tests ran, Y passed, Z failed)\n   - Subtask matching table (which subtasks have tests in the file)\n   - Component coverage table (coverage for the component being tested)\n\n### Options\n\n```bash\njira-test MyComponent.test.tsx --no-comment  # Run without posting to Jira\njira-test MyComponent.test.tsx --dry         # Preview without running tests\n```\n\n### What Gets Posted to Jira\n\nWhen you run `jira-test HotelBanner.test.tsx`, it posts a comment like this:\n\n```\n🧪 Test Run Summary\n12 tests ran — 12 passed · 0 failed\n\n📋 Subtask Matching\n┌──────────────┬─────────────────────────────────┬───────────────────┐\n│ Subtask      │ Title                           │ Status            │\n├──────────────┼─────────────────────────────────┼───────────────────┤\n│ HOTEL-27988  │ Verify banner is displayed      │ ✅ Found in file  │\n│ HOTEL-27989  │ Verify banner JSON structure    │ ⚠️ Not found      │\n└──────────────┴─────────────────────────────────┴───────────────────┘\n\n🎯 Component Coverage\n┌──────────────────┬────────────┬──────────┬───────────┬───────┐\n│ File             │ Statements │ Branches │ Functions │ Lines │\n├──────────────────┼────────────┼──────────┼───────────┼───────┤\n│ HotelBanner.tsx  │ 71.66%     │ 50%      │ 71.42%    │ 73.21%│\n└──────────────────┴────────────┴──────────┴───────────┴───────┘\n```\n\n## 🔧 Advanced Usage\n\n### Legacy Mode (Run by Jira Key)\n\nYou can still run tests by Jira key directly:\n\n```bash\njira-test run HOTEL-27752\n```\n\nThis mode:\n- Fetches the ticket and subtasks from Jira\n- Runs all tests matching `describe('HOTEL-27752', ...)`\n- Posts coverage to the ticket\n\n### Options for Legacy Mode\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--platform <web\\|mobile\\|all>` | Filter test cases by platform label | `all` |\n| `--link-type <name>` | Jira link type for test case links | `\"is tested by\"` |\n| `--mode <mode>` | `ticket-key` or `title` matching | `ticket-key` |\n| `--jest-cmd <command>` | Test command to run | `jest` |\n| `--repo <path>` | Repository root path | current directory |\n| `--no-comment` | Disable posting to Jira | posts by default |\n\n### Examples\n\n```bash\n# File mode (recommended)\njira-test src/components/Button.test.tsx\n\n# Run without posting to Jira\njira-test Button.test.tsx --no-comment\n\n# Legacy mode - run by ticket key\njira-test run HOTEL-27752\n\n# Legacy mode with custom Jest command\njira-test run HOTEL-27752 --jest-cmd \"turbo test --filter=./packages/hotels --\"\n\n# Preview what would run\njira-test run HOTEL-27752 --dry\n```\n\n## 🎯 How It Works\n\n### File Mode Workflow\n\n1. **Parse Test File**: Extracts Jira ticket key from `describe('TICKET-123', ...)`\n2. **Detect Test Runner**: Checks package.json for jest/vitest/mocha\n3. **Run Tests**: Executes test file with coverage\n4. **Fetch Jira Data**: Gets ticket and subtasks from Jira API\n5. **Match Subtasks**: Compares Jira subtask titles with test names\n6. **Filter Coverage**: Shows only the component file being tested\n7. **Post to Jira**: Creates formatted comment with results and coverage\n\n### Auto-Detection\n\n**Test Runner Detection** (checks package.json dependencies):\n- Jest: `jest` or `@jest/core`\n- Vitest: `vitest`\n- Mocha: `mocha`\n\n**Jira Ticket Detection** (from describe blocks):\n```typescript\ndescribe('TICKET-123', () => { ... })  // ✅ Detects TICKET-123\ndescribe('HOTEL-456', () => { ... })   // ✅ Detects HOTEL-456\n```\n\n### Coverage Filtering\n\nThe tool intelligently filters coverage to show only relevant files:\n\n```bash\n# Running: jira-test HotelBanner.test.tsx\n# Shows coverage for: HotelBanner.tsx only\n# Hides: All other project files\n```\n\n## 📋 Subtask Matching\n\nThe tool compares Jira subtasks with tests in your file:\n\n| Subtask Title | Test Name | Status |\n|--------------|-----------|--------|\n| \"Verify banner displays correctly\" | `it('Verify banner displays correctly', ...)` | ✅ Found |\n| \"Verify banner has 3 dots\" | No matching test | ⚠️ Not found |\n\nThis helps you track which subtasks have test coverage!\n\n## 🚨 Exit Codes\n\n| Code | Meaning |\n|------|---------|\n| `0` | All tests passed |\n| `1` | One or more tests failed |\n| `2` | Configuration error (missing env vars, invalid file) |\n| `3` | Jira API error (auth failed, issue not found) |\n\n## 🔐 Environment Variables\n\n### Required\n\n- `JIRA_BASE_URL`: Your Jira instance URL\n  - Jira Cloud: `https://your-domain.atlassian.net`\n  - Jira Server: `https://jira.your-company.com`\n\n### Authentication (choose one)\n\n**Jira Cloud:**\n```bash\nexport JIRA_EMAIL=\"your-email@company.com\"\nexport JIRA_API_TOKEN=\"your-api-token\"\n```\n\n**Jira Data Center/Server:**\n```bash\nexport JIRA_PAT=\"your-personal-access-token\"\n```\n\n## 🐛 Troubleshooting\n\n### \"No Jira ticket found in test file\"\n\nMake sure your describe block includes a Jira ticket:\n\n```typescript\n// ❌ Won't work\ndescribe('HotelBanner tests', () => { ... })\n\n// ✅ Works\ndescribe('HOTEL-27752', () => { ... })\n```\n\n### \"Issue does not exist or you do not have permission\"\n\n1. Check the ticket exists in Jira\n2. Verify your JIRA_BASE_URL is correct\n3. Ensure your API token/PAT is valid\n4. Confirm you have permission to view the ticket\n\n### \"Coverage shows too many files\"\n\nThis should be fixed automatically! The tool filters coverage to only show the component being tested. If you see too many files, please report an issue.\n\n### Tests run but no coverage shown\n\nMake sure your Jest config has coverage enabled:\n\n```json\n{\n  \"collectCoverageFrom\": [\"src/**/*.{ts,tsx}\"]\n}\n```\n\n## 🏗️ Development\n\n```bash\n# Clone the repo\ngit clone https://github.com/ednaaaj/jira-test.git\ncd jira-test\n\n# Install dependencies\nnpm install\n\n# Build\nnpm run build\n\n# Link for local testing\nnpm link\n\n# Now you can run\njira-test path/to/your/test.tsx\n```\n\n## 🤝 Contributing\n\nContributions welcome! Please open an issue or PR.\n\n## 📄 License\n\nMIT\n\n## 🙏 Credits\n\nBuilt with ❤️ for developers who want automated test reporting in Jira without the overhead of expensive plugins.\n","readmeFilename":"README.md"}