Skip to content

Add extract-git-issues utility for release issue collection#177

Open
smorrisods wants to merge 3 commits intodevelopfrom
scott/task/add-git-issue-extractor-script
Open

Add extract-git-issues utility for release issue collection#177
smorrisods wants to merge 3 commits intodevelopfrom
scott/task/add-git-issue-extractor-script

Conversation

@smorrisods
Copy link
Collaborator

Summary

This PR adds a new script to extract Jira issue keys from git commit subjects since a specified release tag.

What’s included

  • Added scripts/extract-git-issues.js
  • Added usage docs to scripts/README.md
  • Added dotenv dependency updates in:
    • package.json
    • pnpm-lock.yaml

Behaviour

  • Extracts Jira-style issue keys from commit subjects.
  • Supports:
    • --tag (required)
    • --projectKey filtering
    • --no-unique and --no-sort
    • --date mode (uses tag timestamp with git log --since)
    • --json output
    • optional Jira URL/title enrichment via credentials

Notes

  • Script works on the current git branch.
  • Jira title lookup is optional; key/link output still works without credentials.

@smorrisods smorrisods added the documentation Improvements or additions to documentation label Feb 9, 2026
@smorrisods smorrisods self-assigned this Feb 9, 2026
@smorrisods smorrisods marked this pull request as draft February 11, 2026 16:55
@smorrisods smorrisods marked this pull request as ready for review February 11, 2026 16:59
@smorrisods smorrisods marked this pull request as draft February 11, 2026 16:59
@smorrisods smorrisods marked this pull request as ready for review February 11, 2026 17:01
Copy link
Collaborator Author

@smorrisods smorrisods left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the review, @MeaghanCarrieres! Here's some responses.

- Add scripts/extract-git-issues.js to extract Jira issue keys from
  commit subjects after a release tag.
- Support plain output, Markdown-friendly issue links, and optional
  JSON output.
- Add optional Jira enrichment for issue titles using REST API
  credentials from CLI flags or environment variables.

- Default mode reads commit subjects from tag..HEAD.
- Optional --date mode uses the tag timestamp as a git log --since
  boundary.
- Optional normalisation controls include --no-unique and --no-sort.
- Optional --projectKey constrains matching to a single Jira project
  key.

- Use execFile for git invocations to avoid shell interpolation of
  user-supplied tag values.
- Keep failures visible with explicit error output and non-zero exit
  code on fatal errors.

- Document script usage and options in scripts/README.md.
- Add dotenv dependency and lockfile updates to support environment-
  based configuration.
Node version declarations were split across `.nvmrc`, `.npmrc`, and workflow inputs.
That made drift likely and CI/local behaviour less predictable.

- Updated reusable GitHub workflows to use `actions/setup-node@v4`
  with `node-version-file: '.nvmrc'`.
- Removed `node-version` input plumbing from reusable workflows and
  from workflow callers in `main.yml`.
- Aligned `.npmrc` `node-version` with `.nvmrc` (`22.22.0`).
- Added root `package.json` `engines` for Node and pnpm ranges.
- Updated internal setup docs to reference authoritative version files
  instead of hardcoded standalone values.

- Establishes one authoritative Node version for local and CI behaviour.
- Reduces maintenance overhead and version skew during upgrades.
- Makes Node/pnpm expectations explicit for contributors and tooling.

- No runtime code paths changed in this commit.
## Context
Tool versions were discoverable in files, but not obvious from the top
of the main README.

## What Changed
- Added badges for:
  - Node (`.nvmrc` target)
  - pnpm (`packageManager`)
  - Stencil (`@stencil/core` in core component library)
  - TypeScript (`typescript` dev dependency in core component library)
- Added a short line documenting that repo-root files are authoritative
  for toolchain versions.

## Why
- Improves contributor onboarding by surfacing key versions immediately.
- Reduces guesswork when setting up local development environments.
- Keeps version communication close to where contributors start.

## Notes
- Badge label for TypeScript intentionally uses `typescipt` per request.
@smorrisods smorrisods force-pushed the scott/task/add-git-issue-extractor-script branch from e2a089c to 0c9407c Compare March 2, 2026 21:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants