Planner is a front-end for GitLab that makes it significantly faster for teams to create, estimate, and manage tickets.
It incorporates over a decade of agile software management learnings, to increase both velocity and collaboration for teams.
Merge requests can also be explored, with statistics on response time and a view that encourages faster code review turnaround times.
To run locally:
npm install
npm start
To deploy changes:
npm run deploy
To customize for your organization, please edit the constants in:
src/data/customize.ts
For deployment to Google Cloud, you will need to update the project ID marked XX
in:
script/setup/1-gcp.sh
And update the domain name marked companyname
in:
script/setup/kube-certificate.yml
script/setup/kube-ingress.yml
This project is currently designed for deployment using Google Cloud and Kubernetes:
- Create a project in Google Cloud and write down the ID
- Make sure Kubernetes, Container API, and Compute API are enabled
- Go to terminal locally and
cd script/setup
- Add the project ID and run
./1-gcp.sh
- Add the domain name to the .yml files and run
./2-kube.sh
- This script will return an IP. You can also use
kubectl get ingress
to get the IP address anytime. - Go to the DNS provider and link the domain name to this IP
To setup OAuth:
- Go to your user Preferences in GitLab, and then select Applications.
- Add a new Application in GitLab with a redirect URI of
https://planner.companyname.com
- Copy the clientID and paste in
src/data/customize.ts
underproduction
- Add a second Application in GitLab with a redirect URI of
http://localhost:3000
for local development - Copy the clientID and paste in
src/data/customize.ts
underdevelopment
Planner was built to use GitLab's new GraphQL API... but it has some missing functionality for mutations, so we still need to use REST calls to modify data.
All API calls require an authorization token in the HTTP header of form Authorization: Bearer <token>
. This token can either be retrieved using OAuth, or by getting a personal access token from GitLab.
For local development, you can create an Application in GitLab and point it to http://localhost:3000
to test OAuth locally, or you can use a personal access token (instructions are provided in the app).
Pull request viewing was supported for GitHub in a prior version of the Planner app. This version is still available in the github-tickets-only
branch, which will show tickets from GitLab and pull requests from GitHub.
In the future, it would be great to add full support for GitHub in the same branch for both Issues and Pull Requests, by adding an abstraction layer that sits in front of both GitLab and GitHub APIs.
This app was created by Pete DeLaurentis in his personal time over the course of a few weekends in 2020, and was subsequently adopted by Pete's team and several other teams at his then-employer, PicnicHealth.
Planner is officially published as an open source project, with his employer's blessing.
Pete continues to maintain the app in his spare time, including updates to make sure it continues to work with the latest version of GitLab.