Automated Release Notes

Including work items in the Continuous Integration Pipeline

Project logistics

  • Mentors:
    • Sam Howes Email:
    • Luke Hanscom Email:
  • Min-max team size: 3-5
  • Expected project hours per week (per team member): 6-8
  • Open source

Preferred past experience

  • Java
  • Build Automation (Nice to have)

Project Overview

Releasing software with a Continuous Integration (CI) Pipeline can greatly increase the speed with which code gets released. CI Pipelines can largely replace manual processes of releasing. When it comes to the content of a release however, most tools focus on relating each build to a set of changes in source control. This is great for developers to determine the source of a bug in a particular build, but the source control does not hold much value when it comes to communicating the business content of the build.

When a build gets deployed, the business wants to know what the content of the build is, so that they know what to test, as well as what can be released to production. This often means a manual step in the CI process is necessary: the developer must look up the work items in the work item tracking software, and enter them manually into the release tracking software. The goal of this project is to eliminate that manual step of entering release notes by integrating the build pipeline with Work Item Tracking software.

Some Technologies you will learn/use:

  • TeamCity build server
  • Java to write a TeamCity Plugin
  • Octopus Deploy release server
  • C# and .NET
    • Octopus Deploy is targeted at .NET applications
    • The overall approach should be configurable for multiple deployment servers, but our current need is for Octopus Deploy.
  • Visual Studio Team Services/Visual Studio Online (VSO) work item tracking.
    • Ideally the end-product will be configurable for multiple tracking servers, but the current need is for VSO.
    • Extensions homepage
    • *Note: Visual Studio Online has been re-branded as Visual Studio Team Services recently. It is a work item tracking system similar to JIRA, it is not to be conused with the Visual Studio IDE used for writing code.