Giter Site home page Giter Site logo

jonaskunz / release-plugin-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jenkinsci/release-helper-plugin

0.0 1.0 0.0 174 KB

This repository contains the Jenkins Plugin to automate tasks of the inspectIT release build. The plugin is able to interact with Atlassian Confluence and Jira as well as GitHub.

Home Page: http://www.inspectit.rocks

License: GNU Affero General Public License v3.0

Java 96.47% HTML 3.53%

release-plugin-1's Introduction

Jenkins Release Plugin

What is it?

This plugin aims to automate several tasks of the release process of InspectIT. It offers the following features:

  • update / create JIRA Tickets
  • update / create JIRA Releases
  • publish release notes and artifacts on GitHub
  • publish release notes on Confluence
  • publish status updates on Twitter
  • publish measurement points in an InfluxDB

How to use it

This project uses Apache Maven. Execute

mvn clean install hpi:hpi -DskipTests=true

to create the .hpi file. This file can then be installed to your Jenkins Instance using the Jenkins settings / advanced menu.

Jenkins Configuration

Variables

Build Parameters as well as Environment Variables can be accessed from every field using the ${variablename} syntax. The plugin will then replace this placeholder with the actual contents of the parameter or variable named variablename.

Credentials

The plugin adds two new credential types to your Jenkins: one for access a certain JIRA Project, and another one for accessing Confluence. These credentials can be entered using the Jenkins credentials settings, a screenshot of the JIRA credentials dialog is given below. Note that these dialogs do automatically check whether JIRA / Confluence is accessible using the data you entered.

alt text

Adding and Modifying JIRA Tickets

To add or Modify Tickets, add the JIRA Ticket Editor Build-Step to your project. There are two ways to select the Tickets to be modified:

  1. Enter a JIRA-Query-Language (JQL) statement selecting your tickets
  2. If the Build was triggered by the GitHub Pull Request Builder Plugin, you can give a regular expression to extract the Ticket-Keys from the commit messages of the pull request.

Afterwards, you can select the modifications to apply to the tickets matching these criteria.

alt text

In a similar way, new JIRA Tickets can be published:

alt text

Adding and Modifying JIRA Releases

Select the Add / Modify JIRA Project Versions build-step. Using this buildstep, you can modify or add multiple project versions. If the given version name already exists, it is updated, otherwise a new version for the project is created.

alt text

Publishing Release Notes on Confluence

The bundle also offers a build step called Publish Release Notes on Confluence which creates a confluence page. This confluence page contains a list of tickets, selected using a JQL Query provided by the user. Below you can see an example configuration, including the page which it creates.

alt text

alt text

Publishing Releases on GitHub

This feature is available as the Publish A Release on GitHub post-build action. Using this action, you can create a release on GitHub and upload build artifacts to it. The release description works in the same manner as for the confluence release notes page.

Twitter Publisher

This build step offers you the possibility to publish a Twitter status update. The build step checks whether a recent tweet with the same text already exists in order to prevent duplicate tweets.

InfluxDB Publisher

The InfluxDB Publisher build step allows you to add measurement points to an InfluxDB instance. The measurement points are given to the plugin in the format specified here.

release-plugin-1's People

Contributors

hegerchr avatar jonaskunz avatar

Watchers

 avatar

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.