Name

bamboo-jiraversions-plugin

Version

1.3.0

Product Versions

2.2 (2.1.x & 2.0.x available)

Author(s)

Jonathan Doklovic [developer(at)sysbliss(dot)com]

Homepage

http://blog.sysbliss.com

Price

Free (taking donations)

License

BSD

JavaDocs

 

IssueTracking

http://developer.atlassian.com/jira/browse/BJVER

Subversion URL

https://svn.atlassian.com/svn/public/contrib/bamboo/bamboo-jiraversions-plugin or browse via fisheye

Download JAR

bamboo-jiraversions-plugin-1.3.0.jar

Download Source

bamboo-jiraversions-plugin-1.3.0-sources.jar

2.1.x compatible JAR

bamboo-jiraversions-plugin-1.2.4.jar

2.0.x compatible JAR

bamboo-jiraversions-plugin-1.0.2.jar

Description/Features

This is a suite of plugins that enable release management in Bamboo using version numbers and metadata from Jira.
In it's simplest form, it makes version information for a specific Jira project available to your build.
With the help of the Bamboo Tagger Plugin and the latest (2.0.2) version of the Pre-Post Build Command Plugin you gain advanced scm tagging and deployment features.
A comprehensive tutorial on using Bamboo and Jira with this plugin for release management can be found here: http://blog.sysbliss.com/uncategorized/release-management-with-atlassian-bamboo-and-jira.html

What's New in 1.3

  • Now works with Bamboo 2.2

What's New in 1.2

(see Jira history below for detailed info)

  • Now works with remote agents
  • Now works with Bamboo Tagger Plugin v 1.x
  • Auto-detects releases in Jira
  • Allows null strategies per reason for build
    1.2.2
  • Ability to define a list of version names to ignore

    Skipped builds show as errors

    Due to the fact that there is currently no way to "skip" a build in Bamboo, this plugin uses a workaround for the "Skip and Pass Build" options.
    This workaround has the small side effect that any skipped builds show up in the logs as errors with a message saying it was skipped.
    This is not harmful in any way as the build is still marked as successful... it's just annoying.
    I am working with Atlassian to come up with a better solution to this problem

Installation

Download and install the plugin into your Bamboo WEB-INF/lib folder

Configuration Details

Builder Tab

Enable Jira

To use the JiraVersions plugin, you must define a default Jira server in the Bamboo Administrator.

General Configuration
The Builder configuration tab is where you can specify the options for which Jira project to connect to as well as the default version strategy.
The version strategy can be set to return either the current unreleased version (the most useful) or the last released version from Jira.
The plugin will use this strategy everytime the plan is built unless it is manually overridden by doing a manual build on the Jira Versions tab (described later).
new in 1.2
If the latest unreleased version strategy is used, Bamboo will now check to see if there's a previous released version in Jira that has not been built by bamboo yet. If it finds one, it will override the unreleased version and do a release build automatically.

Also in this section is the Null Version Strategy. This tells the plugin what you want it to do when Jira does not return a version (due to no versions defined, no unreleased versions, etc).
The possible actions are:

  • Skip Build and Pass - marks the build as success, but doesn't actually run the builder
  • Fail Build - fails the build
  • Use Default Version - let's you specify a default version to use

Appenders
The configuration also contains Unreleased and Released Appender fields.
These fields can be used to append strings to the version number before the builder runs.
example:
adding -${bamboo.buildResultKey}

to the unreleased appender field will add something like: BAM-TEST-15 to the end of the version number.
so if the version returned from Jira was 1.0.0-rc1, the version would become 1.0.0-rc1-BAM-TEST-15.

Excluded Versions
In this field, you can provide a comma delimited list of version names to exclude.
When Bamboo encounters these version in Jira, it will completely disregard them and essentially pretend like they don't exist.
This is useful if you want to setup versions in Jira that should never be built but are there just to organize new issues.
An example would be having a version named "next bugfix release" that nevers gets closed.

Version Types
Version Types (for lack of a better descriptor) are "special meaning" keywords that may be found in the version name returned by Jira.
You can add any custom version types that you wish the plugin to search for. The most common examples are: dev, alpha, beta, rc, etc.
When the version type is found, you can pass it to any fields that expand custom variables (i.e. the target attribute of the ant builder) and it also enables advanced scm tagging options. (more on that later)

Post Actions Tab

General Tagging
On the Post Actions Tab, you can setup tagging of a build in scm.
This option is only available if you have the Bamboo Tagger Plugin installed. (although you'll probably want to disable it on this screen).
In the General Settings you can enable/disable the tagging of successful and failed builds individually as well as specify the tag destination if you're using subversion.

Version Types
If you've specified Version Types on the Builder Tab, you can configure how the tagger plugin deals with each version type individually on this screen.
For example, you can tell the tagger to only tag versions that have been released that contain the RC version type.
When the tagger runs, it will use the *expanded* version name (including any appenders) as the label for the tag.

Deployment
If you have the Pre-Post Build Command Plugin version 2.0.2 or higher installed, it will now expand the custom build properties set by the JiraVersions plugin.
This enables the ability to pass build and version variables to a post build script that can now make very advanced decisions about when and how to deploy a particular build.

Usage

The JiraVersions plugin first runs a Pre-Build plugin before each build.
This will set the following variables that can be used in any fields that expand custom build data.

property

description

${bamboo.buildKey}

the build key. (i.e. PRJ-PLAN)

${bamboo.buildNumber}

the build number. (i.e. 14)

${bamboo.buildResultKey}

the full build key. (i.e. PRJ-PLAN-14)

${bamboo.custom.jiraversion.name}

the fully expanded version name

${bamboo.custom.jiraversion.rawname}

the version name as it was returned by Jira

${bamboo.custom.jiraversion.type}

the version type keyword found (or blank)

${bamboo.custom.jiraversion.released}

(true or false) if the version has been released in Jira

Jira Versions Tab

The JiraVersions plugin adds a new tab to the build plan screen aptly called: Jira Versions.
This screen Will show all versions in Jira for the projectkey defined in the configuration.
Under each version, it will allow authorized users to do a manual build forcing the version number to the one chosen. (note: all appenders will still run).
In addition to allowing manual builds, it will list each previous build under each related version.

Version History

1.3.0

type key summary priority status

Data cannot be retrieved due to an unexpected error.

View these issues in Jira

1.2.4

type key summary priority status

Data cannot be retrieved due to an unexpected error.

View these issues in Jira

1.2.3

type key summary priority status

Data cannot be retrieved due to an unexpected error.

View these issues in Jira

1.2.2

type key summary priority status

Data cannot be retrieved due to an unexpected error.

View these issues in Jira

1.2.1

type key summary priority status

Data cannot be retrieved due to an unexpected error.

View these issues in Jira

1.2.0

type key summary priority status

Data cannot be retrieved due to an unexpected error.

View these issues in Jira

1.1.0

type key summary priority status

Data cannot be retrieved due to an unexpected error.

View these issues in Jira

1.0.2

type key summary priority status

Data cannot be retrieved due to an unexpected error.

View these issues in Jira

1.0.1

type key summary priority status

Data cannot be retrieved due to an unexpected error.

View these issues in Jira

1.0.0 - First Release.

Open Issues

type key summary reporter status

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Screenshots

  • No labels