Skip to content

Using GitHub Issues to Support Teamwork

Why Use Issues?

  1. Coordination: Assign work to individuals. Assign deadlines.

  2. Communication: Tell others what you are doing.

  3. Project Memory: Search Issues to find solutions to bugs, reasons why decisions where made, etc. Issues cannot be deleted.

Labels and Milestones for Capstone

The extra labels we will use in this class are:

  • client interactions. Give demo to client, get feedback from client, etc . Color: #fbca04

  • readme means read it then close it. Teachers will use this to provide feedback to you. Color: #c2e0c6

but feel free to add more labels if you want.

In the source control milestone you are instructed to add one Milestone to match each of the Milestones in this class. You can add more if want, say, for your weekly Sprints.

Notifications

Click on the on the top-right at GitHub. Read Managing subscriptions on GitHub. You can choose email, or use mobile app.

You should be “watching” your own repo, thus getting notified of anything new there. You probably should also be watching our class discussion.

Use @josemvidal to contact me, @instructors to contact the TAs and me. You only need to do it once in an Issue, after that we are “participating” and so will get notified of changes.

Conventions

Every other week I will add an Issue with a title like “Progress Report. Oct 1” and label:question. You will reply with all the work you have done up to and including that day (in the title). You have up to 3 days after the day to reply. Close the Issue when done. I might re-open with further discussion or advice.

We will use Issues with label:readme when we (the @instructors) want to communicate something to the team. You do not have to respond.

Use our milestones.

Use Issues with label:question for your own research work. For example, create an Issue with title “AWS vs Google: which one do we use?” and then enter what you find as comments.

Explain why you are closing the Issue, especially if it is a label:enhancement or label:bug. If you decide not to do it, add label:wontfix.

Assign work issue to 1 person, whenever possible.

If an assigned person does not get it done by your deadline and you need it done, you can re-assign.

Tips

Change the Title of an Issue to reflect its current mission.

Use 👍 and 👎 reactions to vote.

Close Issue when you are done doing it. You do not need anyone’s permission.

Close issues in commit messages or pull requests using closes #5. See documentation.

Link multiple commits to the same Issue by just mentioning it (#5) in the comment.

Use @username to get that user’s attention, @josemvidal for me.

Break up an Issue into smaller parts by using task lists:

- [x] Add component
- [ ] Add css
- [ ] Cleanup

Child issues refer to parent using “for #1” or “child of #1

Add a project board to control flow, prioritize: In-progress, Blocked, Todo Later, Maybe, Review, Testing.

Resources