Skip to content
This repository was archived by the owner on Jan 26, 2026. It is now read-only.

feat: recognize Jira issue keys in commit body - #257

Open
davidalpert wants to merge 1 commit into
git-chglog:masterfrom
davidalpert:gh-183-find-jira-keys-in-commit-body
Open

feat: recognize Jira issue keys in commit body#257
davidalpert wants to merge 1 commit into
git-chglog:masterfrom
davidalpert:gh-183-find-jira-keys-in-commit-body

Conversation

@davidalpert

@davidalpert davidalpert commented Nov 20, 2023

Copy link
Copy Markdown

What does this do / why do we need it?

As outlined in #183 it can be useful when following the conventional commit syntax to separate the conventional commit type in the subject from work item references which often appear in the commit body or commit footer

How this PR fixes the problem?

this commit:

  • adds a new config option `options.jira.issue.key_pattern' which is an optional regex used to match issue keys in the commit subject and body

  • ensures that the Jira Issue Type does not overwrite a Conventional Commit Type; the 'jira.issue.type_maps' map is only used as a backup when the Conventional Commit Type parsed out of the Subject header is empty

  • runs the 'jira.issue.key_pattern' regex against both the commit Subject header and the entire commit Body

  • updates the Jira documentation to document configuration options using the same table-based format as the rest of the configuration options

What should your reviewer look out for in this PR?

I have updated the TestCommitParserParseWithJira test and testdata/gitlog_jira.txt with a commit message and verification that matches the issue described in #183

This logic, formerly in the commitParser.processHeader(...) method, has been refactored up to the commitParser.parseCommit(...) method so that it can respect commit.JiraIssueID whether set in the processHeader(...) or the processBody(...) methods:0

	// Jira
	if commit.JiraIssueID != "" {
		p.processJiraIssue(commit, commit.JiraIssueID)
	}

Check lists

  • Test passed
  • Coding style (indentation, etc)

Additional Comments (if any)

NOTE: the current code assumes that only one Jira work item will be bound to a single commit, and this appears consistent with the spirit of Conventional Commits. I have sometimes found it useful to write a Conventional Commit where one 'fix' can close multiple Jira work items, so a future issue/change might consider updating the model to support multiple Jira work items in a single commit message.

Which issue(s) does this PR fix?

fixes # 183

As outlined in git-chglog#183 it can be useful when following the
conventional commit syntax to separate conventional
commit type in the subject from work item references
which often appear in the commit body or commit footer

this commit:

- adds a new config option 'jira.issue.key_pattern' which
  is an optional regex used to match issue keys in the
  commit subject and body

- ensures that the Jira Issue Type does not overwrite a
  Conventional Commit Type; the 'jira.issue.type_maps'
  map is only used as a backup when the Conventional
  Commit Type parsed out of the Subject header is empty

- runs the 'jira.issue.key_pattern' regex against both
  the commit Subject header and the entire commit Body

NOTE: the current code assumes that only one Jira work
      item will be bound to a single commit, and this
      appears consistent with the spirit of Conventional
      Commits. I have sometimes found it useful to write
      a Conventional Commit where one 'fix' can close
      multiple Jira work items, so a future issue/change
      might consider updating the model to support multiple
      Jira work items in a single commit message.
@davidalpert
davidalpert force-pushed the gh-183-find-jira-keys-in-commit-body branch from 958d81e to 2a7ca9e Compare November 20, 2023 23:37
@davidalpert davidalpert changed the title feat: recognize Jira issue keys in commit body feat: Jira improvements Nov 21, 2023
@davidalpert davidalpert changed the title feat: Jira improvements feat: Jira integration improvements Nov 21, 2023
@davidalpert davidalpert changed the title feat: Jira integration improvements feat: recognize Jira issue keys in commit body Nov 21, 2023
@davidalpert
davidalpert force-pushed the gh-183-find-jira-keys-in-commit-body branch from c4be634 to 2a7ca9e Compare November 21, 2023 16:02
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant