Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: recognize Jira issue keys in commit body #257

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

davidalpert
Copy link

@davidalpert davidalpert commented Nov 20, 2023

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 join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant