{"id":32435678,"url":"https://github.com/zlodes/semantic-release-jira-comment-plugin","last_synced_at":"2026-03-08T21:34:08.652Z","repository":{"id":313372951,"uuid":"1051178998","full_name":"zlodes/semantic-release-jira-comment-plugin","owner":"zlodes","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-12T11:36:47.000Z","size":181,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-01T06:27:53.534Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@zlodes/semantic-release-jira-comment-plugin","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zlodes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-05T15:05:19.000Z","updated_at":"2025-09-21T11:38:49.000Z","dependencies_parsed_at":"2025-09-05T17:38:18.093Z","dependency_job_id":"e4deaf4f-2ddd-4e35-a2cd-e16ffe6499a2","html_url":"https://github.com/zlodes/semantic-release-jira-comment-plugin","commit_stats":null,"previous_names":["zlodes/semantic-release-jira-comment-plugin"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/zlodes/semantic-release-jira-comment-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlodes%2Fsemantic-release-jira-comment-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlodes%2Fsemantic-release-jira-comment-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlodes%2Fsemantic-release-jira-comment-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlodes%2Fsemantic-release-jira-comment-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zlodes","download_url":"https://codeload.github.com/zlodes/semantic-release-jira-comment-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlodes%2Fsemantic-release-jira-comment-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30274446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T20:45:49.896Z","status":"ssl_error","status_checked_at":"2026-03-08T20:45:49.525Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-25T22:58:03.842Z","updated_at":"2026-03-08T21:34:08.647Z","avatar_url":"https://github.com/zlodes.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @zlodes/semantic-release-jira-comment-plugin\n\n[![codecov](https://codecov.io/github/zlodes/semantic-release-jira-comment-plugin/graph/badge.svg?token=R42ZYH922J)](https://codecov.io/github/zlodes/semantic-release-jira-comment-plugin)\n\nA semantic-release plugin that automatically adds comments with release information to JIRA issues mentioned in commits.\n\n## Installation\n\n### Via pnpm\n\n```shell\npnpm add -D @zlodes/semantic-release-jira-comment-plugin\n```\n\n### Via npm\n\n```shell\nnpm install --save-dev @zlodes/semantic-release-jira-comment-plugin\n```\n\n## Usage\n\nFirst, set up the required environment variables:\n\n```bash\nexport JIRA_BASE_URL=https://your-domain.atlassian.net\nexport JIRA_EMAIL=your-email@example.com\nexport JIRA_TOKEN=your-api-token\n```\n \nThen add the plugin to your semantic-release configuration:\n\n```json\n{\n  \"plugins\": [\n    \"@semantic-release/commit-analyzer\",\n    \"@semantic-release/release-notes-generator\",\n    \"@semantic-release/npm\",\n    \"@zlodes/semantic-release-jira-comment-plugin\"\n  ]\n}\n```\n\nOr with optional configuration:\n\n```json\n{\n  \"plugins\": [\n    \"@semantic-release/commit-analyzer\",\n    \"@semantic-release/release-notes-generator\",\n    \"@semantic-release/npm\",\n    [\n      \"@zlodes/semantic-release-jira-comment-plugin\",\n      {\n        \"commentTemplate\": \"Custom comment for {{issueKey}}: {{packageName}} v{{version}} released!\",\n        \"issuePattern\": \"\\\\b(PROJ|TASK)-\\\\d+\\\\b\"\n      }\n    ]\n  ]\n}\n```\n\n## Configuration\n\n### Required Environment Variables\n\n- `JIRA_BASE_URL`: Your JIRA instance base url (e.g., \"https://your-domain.atlassian.net\")\n- `JIRA_EMAIL`: Your JIRA account email\n- `JIRA_TOKEN`: Your JIRA API token ([How to create an API token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/))\n\n### Optional Configuration\n\n- `commentTemplate`: Template for the comment (default: \"The issue ({{issueKey}}) was included in version {{version}} of {{packageName}} 🎉\")\n- `issuePattern`: Regular expression pattern to match JIRA issue keys (default: `/\\\\b[A-Z][A-Z0-9]*-\\\\d+\\\\b/g`)\n\n### Template Variables\n\nThe following variables are available in the `commentTemplate`:\n\n- `{{issueKey}}`: The specific JIRA issue key (e.g., \"ABC-123\")\n- `{{packageName}}`: The package name from `SEMANTIC_RELEASE_PACKAGE` environment variable (defaults to \"Package\")\n- `{{version}}`: The released version number\n- `{{gitTag}}`: The git tag for the release\n- `{{gitHead}}`: The git commit hash\n\n### Full Example\n\nSet environment variables:\n```bash\nexport JIRA_BASE_URL=https://mycompany.atlassian.net\nexport JIRA_EMAIL=releases@mycompany.com\nexport JIRA_TOKEN=ATATT3xFfGF0...\nexport SEMANTIC_RELEASE_PACKAGE=my-awesome-project\n```\n\nConfigure semantic-release:\n```json\n{\n  \"plugins\": [\n    \"@semantic-release/commit-analyzer\",\n    \"@semantic-release/release-notes-generator\", \n    \"@semantic-release/npm\",\n    [\n      \"@zlodes/semantic-release-jira-comment-plugin\",\n      {\n        \"commentTemplate\": \"🚀 Issue {{issueKey}} resolved in {{packageName}} version {{version}} ({{gitTag}})!\\\\n\\\\nCommit: {{gitHead}}\",\n        \"issuePattern\": \"\\\\b(PROJ|TASK)-\\\\d+\\\\b\"\n      }\n    ]\n  ]\n}\n```\n\n## How It Works\n\n1. **Early Validation**: The plugin validates JIRA credentials during semantic-release's `verifyConditions` phase\n2. **Main Execution**: During the `success` phase, the plugin:\n   - Scans all commit messages in the release for JIRA issue keys\n   - For each found issue key, verifies the issue exists in JIRA\n   - Posts a personalized comment to each valid issue with the release information\n\n## Environment Variables\n\nThe plugin uses the following environment variables:\n\n```bash\n# Required JIRA configuration\nJIRA_BASE_URL=https://your-domain.atlassian.net\nJIRA_EMAIL=your-email@example.com\nJIRA_TOKEN=your-api-token\n\n# Package name used in comment templates (set automatically by semantic-release)\nSEMANTIC_RELEASE_PACKAGE=my-package-name\n```\n\n## Error Handling\n\n- **Early Validation**: Missing JIRA credentials or authentication failures will stop the release process early during `verifyConditions`\n- **Runtime Issues**: If a JIRA issue doesn't exist, the plugin logs an error but continues processing other issues\n- **Network Errors**: API failures are logged but don't fail the release process after validation passes\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests for new functionality\n5. Run the test suite: `pnpm test`\n6. Submit a pull request\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzlodes%2Fsemantic-release-jira-comment-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzlodes%2Fsemantic-release-jira-comment-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzlodes%2Fsemantic-release-jira-comment-plugin/lists"}