Challenge Overview
Challenge Objectives
-
Target environment: Bitbucket, Rally
-
Basic Requirements:
-
Ensure extension works on BitBucket Server and *pre-receive* push validator should reject changes pushed to origin that do not have well formed commit messages.
Project Background
Bitbucket is a Git-based SCM that is a product of Atlassian. Rally ALM (Application lifecycle management - now called CA Agile Central) is a software project management suite that focuses on the Agile delivery of projects. It allows scrum teams to define user stories, test cases, defects and other project artifacts. In order to gain higher levels of developer productivity, it is important that an enterprise’s SCM can talk to the project management tool and vice versa.
In the last two challenges, we’ve built a BitBucket server extension that replicates Rally Connector for Bitbucket Server - a server extension that allows Bitbucket to integrate with Rally.
Our first challenge was to build a skeleton connector which provides all the configuration parameters and builds the configuration interface for our extension. In the second challenge, we built the actual integration logic between Rally and BitBucket. The codebase of the extension is available in our Gitlab repo (request access via forums) and MUST be used as the baseline codebase for this challenge.
Technology Stack
Bitbucket Server Development Guide
Individual requirements
In this challenge, you are required to modify the server extension to ensure the following
-
Pre-Receive Push Validator
-
The pre-receive hook currently queries the commit messages for individual rally artifacts and verifies with Rally that they are valid (they exist in the attached workspace) or are merely being spoofed to bypass the commit checker hook. The hook should be configurable to check if the story is in progress , and/or if the commit author is assigned to the story. These should be optional configurations.
-
The *pre-receive* push validator should reject changes pushed to origin that do not have well formed commit messages.
Final Submission Guidelines
- Submit your extension code (zip) using develop branch as a baseline. Winner will be required to submit a git patch
- Provide configuration & deployment steps for your server extension
- A video walking through your extension is MANDATORY