Code Monkey home page Code Monkey logo

generate-changelog's Introduction

generate-changelog

generates changelog with jira-tickets from git and sets version in jira tickets

Goals

Many developers working with Jira all workday. This tools creates a changelog for a release listing all Jira tickets since last release (in this case the last tag) and sets the fix version in Jira so one can see later in which release it was included. This way everyone gets the best of two worlds - having a changelog and see version info on Jira tickets.

Alternatives

If you just look for a changelog generator for github, jump to this. There is also a js based changelog generator. None of them is dealing with jira.

ToDos

  • get auth for jira, see https://jira.readthedocs.io/en/latest/examples.html#authentication
  • query type and summary for the collected jira issues
  • insert changeset to changelog file
  • set release / fix version in jira
  • support unicode in jira titles
  • if list is empty show alternative output with version info
  • detect shallow clone and error
  • optional: transition issues
  • optional: insert build types (e.g. beta or production)
  • migrate to python3

Requirements

  • python 3.x
  • pip for installing jira module
  • jira-python
    • install via pip install jira
  • jira admin rights - to create fix versions

Usage

basic configuration

  • setup jira url
  • define jira projects in which fix version should be created
  • configure possible issue type for your project
  • export JIRA_SERVER url, JIRA_USER and JIRA_PASSWORD to environment

getting version info

currently the script parses a gradle property file, tweak the script to your needs: e.g. pass info via argument, PR welcome

git history

Default: using git log to find all changes since last tag (use on master only, only uses commit messages) git_cmd = 'git log $(git describe --abbrev=0 --tag)...HEAD --format="%s"' or if you want to scan branch infos too use instead: git_cmd = 'git log $(git describe --abbrev=0 --tag)...HEAD --oneline --decorate'

Quick Usage

execute ./generate-changelog.py in the repository folder

generate-changelog's People

Contributors

j3tm1r avatar k3muri84 avatar wtimme avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

generate-changelog's Issues

Security issue: subprocess call with shell=True

Bandit is detecting:

Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True identified, security issue.
   Severity: High   Confidence: High
   Location: generate-changelog.py:76
   More Info: https://bandit.readthedocs.io/en/latest/plugins/b602_subprocess_popen_with_shell_equals_true.html

Poetry support

Add poetry to facility easier dependency management.

(Will open a PR at some point)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.