Helper tool to create and assign fix versions in Jira

Overview

Jira Helper

Helper tool to interact with Jira from CI/CD scripts. Its main purpose is to create and assign version based on GitHub releases to Jira tickets.

You can provide comma separated issue numbers or a body of text which contains issue numbers and the jira-helper will automatically assign the version to those issues in Jira.

GitHub actions example

The following can be used to trigger a release (fixVersion) in Jira whenever a GitHub release is created. It will use the body of the release and search for any issue numbers in it and automatically assign the newly created release to them.

name: Release

on:
  release:
    types:
      - released

jobs:
  release-to-jira:
    runs-on: ubuntu-latest
    env:
      IMAGE_NAME: ghcr.io/marcelblijleven/jira-helper:latest
    steps:
      - name: create release in Jira
        run: docker run -i --rm ${{ env.IMAGE_NAME }} createRelease -u [email protected] -s https://your-jira.address.nl -p MB -t=${{ secrets.API_TOKEN }} -v "${{ github.event.release.name }}"
      - name: assign release to Jira tickets
        run: docker run -i --rm ${{ env.IMAGE_NAME }} assignVersion -u [email protected] -s https://your-jira.address.nl -p MB -t=${{ secrets.API_TOKEN }} -v "${{ github.event.release.name }}" -b "${{ github.event.release.body }}"

CLI Usage

Usage:
  jira-helper [command]

Available Commands:
  assignRelease   Assigns a version to all provided issues in the release body
  completion      Generate the autocompletion script for the specified shell
  createAndAssign Creates a fix version in Jira and assigns it to the issues
  createRelease   Create a fix version in Jira
  help            Help about any command

Flags:
  -h, --help             help for jira-helper
  -s, --host string      Host of the Jira API. If the host URL contains a scheme (e.g. https), you must include it
  -p, --project string   Project key of the Jira project, e.g. MB
  -t, --token string     Token used to authenticate against the Jira API
  -u, --user string      User (email) for authenticating against the Jira API
  -v, --version string   Name of the version

Assign release

Assigns a version to all provided issues. The issue numbers are retrieved from the provided release body.

Usage:
jira-helper assignRelease [flags]

Aliases:
assignRelease, assignVersion

Flags:
-h, --help                 help for assignRelease
-i, --issues strings       The issues you want to assign to release to, can be a single issue or comma separated
-b, --releaseBody string   The body of text which contains Jira issues, e.g. a GitHub release body

Global Flags:
-s, --host string      Host of the Jira API. If the host URL contains a scheme (e.g. https), you must include it
-p, --project string   Project key of the Jira project, e.g. MB
-t, --token string     Token used to authenticate against the Jira API
-u, --user string      User (email) for authenticating against the Jira API
-v, --version string   Name of the version

Create release

Create a fix version in Jira for the project with the provided name.

The release state of the fix version will be set to "released" and the day will be set to today.

Usage:
jira-helper createRelease [flags]

Aliases:
createRelease, createVersion

Flags:
-h, --help   help for createRelease

Global Flags:
-s, --host string      Host of the Jira API. If the host URL contains a scheme (e.g. https), you must include it
-p, --project string   Project key of the Jira project, e.g. MB
-t, --token string     Token used to authenticate against the Jira API
-u, --user string      User (email) for authenticating against the Jira API
-v, --version string   Name of the version

Create and assign

Creates a fix version in Jira and assigns it to the provided issues.

The release state of the fix version will be set to "released" and the day will be set to today.

Usage:
jira-helper createAndAssign [flags]

Flags:
-h, --help                 help for createAndAssign
-i, --issues strings       The issues you want to assign to release to, can be a single issue or comma separated
-b, --releaseBody string   The body of text which contains Jira issues, e.g. a GitHub release body

Global Flags:
-s, --host string      Host of the Jira API. If the host URL contains a scheme (e.g. https), you must include it
-p, --project string   Project key of the Jira project, e.g. MB
-t, --token string     Token used to authenticate against the Jira API
-u, --user string      User (email) for authenticating against the Jira API
-v, --version string   Name of the version

You might also like...
Yet another Yogurt - An AUR Helper written in Go
Yet another Yogurt - An AUR Helper written in Go

Yay Yet Another Yogurt - An AUR Helper Written in Go Help translate yay: Transifex Features Advanced dependency solving PKGBUILD downloading from ABS

A shell tool to create counting semaphores, acquire them and release them.

A shell tool to create counting semaphores, acquire them and release them. This is useful if you want to e.g. run no more than N out of M commands in parallel.

A CLI tool that you can use create regular backups of your Notion.so Pages.

notion-offliner A CLI tool that you can use create regular backups of your Notion.so Pages. Perfect for disaster scenarios and offline usage. MacOS an

Branch is a small CLI tool to automatically create git branches based on tickets

________ ________ ________ ________ ________ ___ ___ |\ __ \ |\ __ \ |\ __ \ |\ ___ \ |\ ___

Related is a simple cli utility tool to create files or a group of files.

Related - Create files based on individual definitions or groups Related helps with common file-creation-based tasks. You can predefine single types a

Tiny binary serializer and deserializer to create on demand parsers and compilers

Parco Hobbyist binary compiler and parser built with as less reflection as possible, highly extensible and with zero dependencies. There are plenty pa

Small, fast library to create ANSI colored strings and codes. [go, golang]

ansi Package ansi is a small, fast library to create ANSI colored strings and codes. Install Get it go get -u github.com/mgutz/ansi Example import "gi

✨ Create a new production-ready project with backend, frontend and deploy automation by running one CLI command!
✨ Create a new production-ready project with backend, frontend and deploy automation by running one CLI command!

✨ Create a new production-ready project with backend, frontend and deploy automation by running one CLI command!

Comments
  • [FEATURE]

    [FEATURE]

    Can this be used to create fix version when pull request merged? And find jira issue number from pull request description?

    If so can you please provide an example of GitHub actions?

    Thanks Justin

    enhancement 
    opened by Justin-JHG 1
  • Can we have release created as not released and not populate release date?

    Can we have release created as not released and not populate release date?

    Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

    Describe the solution you'd like A clear and concise description of what you want to happen.

    Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

    Additional context Add any other context or screenshots about the feature request here.

    enhancement 
    opened by Justin-JHG 0
  • [BUG]

    [BUG]

    Describe the bug action failing when commit message has '(' or ')' in it

    To Reproduce commit a change with message: proj-001 and proj-002 (this bit will cause error)

    Expected behavior action to find proj-001 and proj-002 and assign a release

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • OS: [e.g. macOS]
    • Tool: [e.g. dockerized or binary]

    Additional context Add any other context about the problem here.

    bug 
    opened by Justin-JHG 6
Releases(2022.05.11)
Owner
Marcel Blijleven
Marcel Blijleven
jt is a CLI tool for viewing and manipulating JIRA issues.

jt - jira-tool jt is a CLI tool for viewing and manipulating JIRA issues. One common example usage to transition an issue to a new status: jt "In Prog

Steve Coffman 14 Aug 9, 2022
🔥 [WIP] Interactive Jira Command Line

JiraCLI Interactive Jira CLI ?? This project is still a work in progress ?? This tool mostly focuses on issue search and navigation at the moment. How

Ankit Pokhrel 2.1k Sep 30, 2022
Submit timesheets to Jira from the command line

JiraTime jiratime makes it easy to submit worklog records to Jira quickly from the command line. It accepts timesheets on standard input so works well

Scott Leggett 8 Aug 12, 2022
A tiny cli command/daemon for syncing toggl time entries with Jira

toggl-sync A tiny cli command/daemon for syncing toggl time entries with Jira Installation Install the app via brew package manager. brew tap timemate

TimeMate 2 Nov 30, 2021
Declarative CLI Version manager. Support Lazy Install and Sharable configuration mechanism named Registry. Switch versions seamlessly

aqua Declarative CLI Version manager. Support Lazy Install and Sharable configuration mechanism named Registry. Switch versions seamlessly. Index Slid

Shunsuke Suzuki 197 Sep 27, 2022
A youtube library for retrieving metadata, and obtaining direct links to video-only/audio-only/mixed versions of videos on YouTube in Go.

A youtube library for retrieving metadata, and obtaining direct links to video-only/audio-only/mixed versions of videos on YouTube in Go. Install go g

José Pastor 4 Sep 2, 2022
ets2-dlc-repacker is a Windows / Linux / MacOS CLI util to automatically repack older DLC archives for compatibility with newer versions.

ets2-dlc-repacker is a Windows / Linux / MacOS CLI util to automatically repack older DLC archives for compatibility with newer versions.

Daniel 0 Dec 26, 2021
Node is where client will send data to, create block send to miner, create block send to parent and receive tick from validator and do validate

Node Receive Tick from validator Validate POH of tick send result to validator Receive confirm block from validator Send Checked block to validator Ho

Hieu Phan 0 Dec 31, 2021
Simple command line tool helper to integrate with hashicorp vault & github api

Overview CI/CD Toolkit is small command line tool helper to integrate with vault secret kv management & github api We can use simple command to genera

M Azwar Nurrosat 1 Apr 2, 2022
UltiTuner: a small helper tool to configure functions for Ultimaker S-Line printers

UltiTuner UltiTuner is a small helper tool to configure functions for Ultimaker

Christian Schmied 6 Apr 25, 2022