Skip to main content

Extend the commitizen tools to create conventional commits and README that link to Jira and GitHub.

Project description

cz-github-jira-conventional

cz-github-jira-conventional is a plugin for the commitizen tools, a toolset that helps you to create conventional commit messages. Since the structure of conventional commits messages is standardized they are machine readable and allow commitizen to automaticially calculate and tag semantic version numbers as well as create CHANGELOG.md files for your releases.

This plugin extends the commitizen tools by:

  • require a Jira issue id in the commit message
  • create links to GitHub commits in the CHANGELOG.md
  • create links to Jira issues in the CHANGELOG.md

When you call commitizen commit you will be required you to enter the scope of your commit as a Jira issue id (or multiple issue ids, prefixed or without prefix, see config below).

> cz commit
? Select the type of change you are committing fix: A bug fix. Correlates with PATCH in SemVer
? JIRA issue number (multiple "42, 123"). XX-
...

The changelog created by cz (cz bump --changelog)will contain links to the commits in Github and the Jira issues.

## v1.0.0 (2021-08-06)

### Features

- **[XX-123](https://myproject.atlassian.net/browse/XX-123)**: create changelogs with links to issues and commits [a374b](https://github.com/apheris/cz-github-jira-conventional/commit/a374b93f39327964f5ab5290252b795647906008)
- **[XX-42](https://myproject.atlassian.net/browse/XX-42),[XX-13](https://myproject.atlassian.net/browse/XX-13)**: allow multiple issue to be referenced in the commit [07ab0](https://github.com/apheris/cz-github-jira-conventional/commit/07ab0e09de36712ab1db93fff0c821ecd80b5849)

Installation

Install with pip python -m pip install cz-github-jira-conventional

You need to use a cz config file that has the required additional values jira_base_url and github_repo and may contain the optional value jira_prefix.

Example .cz.yaml config for this repository

commitizen:
  name: cz_github_jira_conventional
  tag_format: v$version
  version: 1.0.0
  jira_prefix: XX-
  jira_base_url: https://myproject.atlassian.net
  github_repo: apheris/cz-github-jira-conventional

The jira_prefix can be either

  • empty (the user must write the prefix for each issue)
  • a string (the prefix will be added automatically)
  • a list (for multiple projects, the user will be asked to choose a prefix)
  jira_prefix: 
    - XX-
    - XY-
    - YY-

pre-commit

Add this plugin to the dependencies of your commit message linting with pre-commit.

Example .pre-commit-config.yaml file.

repos:
  - repo: https://github.com/commitizen-tools/commitizen
    rev: v2.17.13
    hooks:
      - id: commitizen
        stages: [commit-msg]
        additional_dependencies: [cz-github-jira-conventional]

Install the hook with

pre-commit install --hook-type commit-msg

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgements

This plugin would not have been possible without the fantastic work from:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cz_github_jira_conventional-3.0.2.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

cz_github_jira_conventional-3.0.2-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file cz_github_jira_conventional-3.0.2.tar.gz.

File metadata

File hashes

Hashes for cz_github_jira_conventional-3.0.2.tar.gz
Algorithm Hash digest
SHA256 606ac5436de40183cc93f932329e053dd80b1bbfa0ffc7dee1cf0619b35385ca
MD5 ed1e54b4efb62dc724291536803f1b7f
BLAKE2b-256 89f6443771f27d923fed458f19caf4aa4fa619322469c0a5d1c2086662e445d9

See more details on using hashes here.

File details

Details for the file cz_github_jira_conventional-3.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for cz_github_jira_conventional-3.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c06e91aaa01007d094d7397a9bc1a47f06afeac0d626332f7bfd38a2291b3cf7
MD5 fd0dc143afe64855b5fa8f4ec89b2bf9
BLAKE2b-256 bee298b2c0e32c164b74b932e5bc732acd9bcefaea06f4b9ee842097369aa95c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page