Using GitHub Issues to Support Teamwork¶
Why Use Issues?¶
-
Coordination: Assign work to individuals. Assign deadlines.
-
Communication: Tell others what you are doing.
-
Project Memory: Search Issues to find solutions to bugs, reasons why decisions where made, etc. Issues cannot be deleted.
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 SCCapstone discussion (click on the top-right of this page).
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¶
The Weekly Report is an Issue.
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.
If you have a question for us, create an Issue with label:question and assign it to @josemvidal or @instructors. We will answer.
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. The Issue will look like this.
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
Tasks can be turned into an Issue with one click. They reference each other.
Add a project board to control flow, prioritize: In-progress, Blocked, Todo Later, Maybe, Review, Testing.
Resources¶
-
Mastering Issues at GitHub Guides
-
GitHub for Project Management Video is a 1-hour video from GitHub where they go into a lot of details on how to use Issues.
-
My Markdown Tips gist.