Skip to content

Instantly share code, notes, and snippets.

@julienemo
Created June 12, 2020 12:54
Show Gist options
  • Save julienemo/ae4d8313072fe4839e1d30bba4a546f5 to your computer and use it in GitHub Desktop.
Save julienemo/ae4d8313072fe4839e1d30bba4a546f5 to your computer and use it in GitHub Desktop.
Some github project management tools to setup before fully launching a group work

Setting up your working group on Github

This is for fellows who work for the first time as a group on github. All features mentioned are available for free accounts.

Here is my little TODO list after repo creation.

TD;NL

  • create a project board
  • plug Github to a dedicated Slack workplace
  • set templates for issue and PR
  • Protect branches

A repo is better with a project board

Official doc here

In one word, Github project board is your project trello. The visual layout is a kanban. Issues and PRs goes to different columns, with the right config, they go to corresponding columns automatically.

A project can be specific to a repo, or not. To create

  • a repo project, go to repo page => project tab => create a project
  • a multi-repo project, go to personal profile => projects => create a project

Don't rush over during the creation: Github provides project board templates. I've tried Automated kanban with review, which, on top of having the traditionnal Trello view, automatically moves PR in review to the Review column. If you did rush over, it is always possible to edit the layout later in the setting tab, but the automatization on Review and bug triggers are only possible at creation.

The setting tab of project allows inviting collaborators, with either writing or reading access.

In a multi-repo project (created from personaly profile), it is possible to link related repos in setting tab of the project.


Let Slack update you

Official doc here

Github sends out emails on review requests and comments. Personally I am not a email person when I code in a project. Slack, however, has me locked anyway. It is possible to subscribe a Slack workspace to specified Github repos, but you need to have admin right on the Slack workspace. It is also possible to create a free and restrained Slack workspace before doing exactly what the doc says.

Once Slack and Github are communicating, create a dedicated channel to subscribe to corresponding repo. By default, new issues, PR and merges will trigger notif in the subscribed channel.


Enforce templates, write less, think less

Official doc for issue template here

Official doc for PR template here

A well written issue and PR reduces useless exchange, serves as a checklist and makes integration easier. They are also source of futur doc. Github provides possibilities to enforce a template on issues and PRs, with bug report and feature requests predefined. There are many PR templates online. The one adapted to your team if always the best.


Protect, don't trust

Official doc here

Examples of stuffs we can do

  • Set default target branch of merge from master to delivery
  • Enforces n reviews before the button merge be ope
  • Enforces n checks/ branch be update with master to merge

Force pushes are by default forbidden and can be unlocked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment