LogoLogo
  • FAC Curriculum
  • archive
    • Node & npm introduction
    • developer
      • Programming Paradigms
    • handbook
      • Asking for help
      • Coaching groups
      • Code review
      • Course rules
      • Debugging
      • Employment schedule and material delivered in FAC20
      • GitHub Workflow
      • Glossary or terms
      • Presentation Guidance
      • Equality, Diversity and Inclusion
      • Installation guide
      • Learning circles
      • Mentoring guidance
      • What to expect from your mentors
      • One-day projects
      • Pair programming
      • Portfolio
      • Questions for problem solving
      • Progress Logs
      • Final project report
      • Managing software projects
      • Project Presentations
      • Project roles
      • Projects
      • Retrospectives
      • Role Circles
      • Safeguarding policy
      • Technical Spikes
      • System requirements
      • Tech for Better
      • User Manuals
      • Wellbeing Support
      • project-docs
        • What makes a mentor?
        • Product Handover
        • Sprint Planning
        • Tech for Better Presentations
        • User Research & Usability Testing
    • foundation
      • full-stack
        • Learning Outcomes
        • project
      • testing
        • project
        • spikes
  • docs
    • Contributing to the curriculum
    • Curriculum intent
    • Curriculum process
  • src
    • About our curriculum
    • course
      • Code of Conduct
      • Docker
      • .NET and Umbraco
      • Getting started
      • Founders and Coders coursebook
      • KSB's
      • Mini projects
      • Revision checklist
      • Svelte
      • TypeScript
      • handbook
        • Software Developer Handbook
        • Software Foundation Handbook
      • precourse
        • Before you start the course
        • Installation List
      • syllabus
        • developer
          • app
            • learning-outcomes
            • project
            • schedule
            • spikes
          • introduction
            • learning-outcomes
            • project
            • resources
            • schedule
          • week00-pre-course
            • We'd like you to spend some time before starting the course working on useful fundamentals.
            • spikes
          • week01-project01-basics
            • Employability introduction
            • Homework
            • learning-outcomes
            • Week of September 9th
            • project
            • resources
            • schedule
            • spikes
          • week02-project02-chatbot
            • employability
            • Homework
            • learning-outcomes
            • Week of September 16th
            • project
            • resources
            • schedule
            • spikes
          • week03-project03-server
            • Learning Outcomes
            • Week of September 23th
            • The Amazin' Quizzer API Backend
            • resources
            • schedule
          • week04-project03-frontend
            • learning-outcomes
            • Week of September 30th
            • UI for Quizzer App
            • resources
            • schedule
          • week05-project03-test-deploy
            • Testing and deployment
            • Week of October 7th
            • project
            • resources
            • schedule
          • week06-project04-databases
            • learning-outcomes
            • Week of October 14th
            • project
            • Databases
            • schedule
          • week07-project04-authentication
            • Learning Outcomes
            • Week of October 21st
            • project
            • resources
            • schedule
          • week08-project04-test-deploy
            • Learning Outcomes
            • Week of October 28th
            • project
            • resources
            • schedule
          • week09-reading-week
            • Learning Outcomes
            • overview
            • Project
            • Resources
            • schedule
          • week10-project05-DOTNET-intro
            • Learning Outcomes
            • overview
            • project
            • Resources
            • schedule
          • week11-project05-DOTNET-testing
            • Testing and deployment
            • Week of November 18th
            • project
            • Resources
            • schedule
          • week12-project05-DOTNET-deploy
            • Learning Outcomes
            • Week of November 25th
            • project
            • Resources
            • schedule
            • Spikes
          • week13-TFB-design
            • Learning Outcomes
            • overview
            • Project
            • Resources
            • schedule
            • Design Week Spikes
          • week14-TFB-build
            • Learning Outcomes
            • overview
            • Project
            • DevOps Resources
            • schedule
            • Spikes
          • week15-TFB-build
            • Learning Outcomes
            • overview
            • Project
            • Resources
            • schedule
            • Spikes
          • projects
            • in-house-design
              • Learning Outcomes
              • Project
              • Resources
              • schedule
              • Design Week Spikes
        • foundation
          • Obsolete-full-stack
            • project
          • post-course
            • Homework
            • schedule
        • portfolio
          • fruit-shop
            • learning-outcomes
            • project
            • resources
          • game
            • learning-outcomes
            • project
            • resources
          • hobby-page
            • learning-outcomes
            • project
            • resources
          • movie-data
            • learning-outcomes
            • project
            • resources
          • project-gallery
            • learning-outcomes
            • project
            • resources
          • website
            • learning-outcomes
            • project
            • JavaScript
        • tfb
          • week 1
            • Introduction (45 minutes)
            • Further reading
          • week 10
            • content
            • resources
          • week 11
            • What will we be doing this week?
            • resources
          • week 12
            • What will we be doing this week?
            • Further reading
          • week 2
            • Discover (90 minutes)
            • resources
          • week 3
            • content
            • resources
          • week 4
            • Mapping the user journey (90 minutes)
            • resources
          • week 5
            • Figma Workshop 1 (90 minutes)
            • Further reading
          • week 6
            • Figma Workshop 2 (90 minutes)
            • resources
          • week 7
            • Product pitches & Selection (90 minutes)
            • resources
          • week 8
            • content
            • resources
          • week 9
            • content
            • resources
    • learn
      • DOTNET
        • Introduction to .NET
      • auth
        • Authenticating web apps
      • database
        • Persisting data with SQLite and Node
      • dotnet-two
        • Dependency injections and interfaces in .NET
      • form-validation
        • Form validation
      • react
        • Building client-side apps with React
      • server
        • HTTP servers with Node & Express
      • typescript
        • TypeScript
    • mentoring
      • design-week
        • Analysis Workshop
        • Code planning
        • Definition Workshop
        • Discovery Workshop
        • Figma introduction
        • Usability testing
        • User Research
    • resources
      • http
        • introduction
    • workshops
      • cookie-auth
        • index
      • creating-promises
        • index
      • css-layout
        • index
      • cypress-testing
        • index
      • database-testing
        • index
      • dev-tooling
        • Developer tooling
      • dom-challenge
        • index
      • dom-rendering
        • index
      • es-modules
        • index
      • express-middleware
        • Express middleware
      • first-class-functions
        • index
      • form-validation
        • index
      • functions-callbacks-async
        • Functions, callbacks, & async JavaScript
      • git-intro
        • Introduction to Git
      • git-terminal
        • Using Git in the terminal
      • git-workflow
        • Git workflow
      • github-projects
        • GitHub Projects Workflow Workshop
      • heroku-sql-challenge
        • index
      • html-forms
        • index
      • learn-a11y
        • index
        • starter-files
          • solution
            • Accessibility solution explanation
      • learn-fetch
        • index
      • learn-integration-testing
        • index
      • learn-testing
        • Learn testing in JavaScript
      • learn-unit-testing
        • index
      • node-error-handling
        • Node error-handling
      • node-express-server
        • Node and Express HTTP server
      • node-npm-intro
        • Node & npm introduction
      • node-postgres
        • Learn Postgres with Node
      • node-scripting-challenge
        • index
      • password-security
        • index
      • promise-practice
        • index
      • react-components
        • React components
      • react-fetch
        • index
      • react-forms
        • React forms
      • react-refactor-classes
        • index
      • react-state-effects
        • React state & effects
      • real-world-fetch
        • index
      • scope-challenge
        • Scope debugging challenge
      • semantic-html
        • index
      • server-side-forms
        • Server-side forms
      • session-auth
        • Session authentication
      • sql-intro
        • index
      • tdd-array-methods
        • index
Powered by GitBook
On this page
  • Part 1: Understanding GitHub Projects
  • Step 1: What is GitHub Projects?
  • Step 2: Creating a GitHub Project
  • Step 3: Managing Access
  • Part 2: Working with GitHub Projects
  • Step 1: Exploring Different Views
  • Step 2: Creating Tasks (Tickets)
  • Step 3: Converting Tasks to Issues
  • Step 4: Assigning Tasks
  • Step 5: Using the Roadmap View
  • Part 3: Integrating with Repositories
  • Step 1: Linking a Project to a Repository
  • Step 2: Managing Workflows
Export as PDF
  1. src
  2. workshops
  3. github-projects

GitHub Projects Workflow Workshop

Learn how to use GitHub Projects for effective project management and collaboration.

Previousgithub-projectsNextheroku-sql-challenge

Last updated 8 months ago

This workshop will guide you through the process of setting up and using GitHub Projects for effective project management and collaboration. You'll learn how to create a project, add tasks, link them to issues, and use different views to track progress.

Part 1: Understanding GitHub Projects

Step 1: What is GitHub Projects?

Despite its name, GitHub Projects is not tied to a single repository. It's a project management tool that can be used across multiple repositories or even without any repository at all.

  1. GitHub Projects is a flexible tool for planning and tracking work.

  2. It can be used for various purposes, from software development to event planning.

  3. Projects are not automatically tied to repositories when created.

Step 2: Creating a GitHub Project

  1. Go to your GitHub profile or organization.

  2. Click on "Projects" in the top navigation bar.

  3. Click "New project".

  4. Choose a template or start from scratch.

  5. Give your project a name and description.

Step 3: Managing Access

Like repositories, GitHub Projects can be public or private, and you need to manage access to them.

  1. Go to your newly created project.

  2. Click on the three dots (...) menu in the top right corner.

  3. Select "Settings".

  4. Go to "Manage access".

  5. Add collaborators as needed.

Part 2: Working with GitHub Projects

Step 1: Exploring Different Views

GitHub Projects offers different views to help you visualize your work:

  1. Board view: A Kanban-style board for task management.

  2. Table view: A spreadsheet-like view for detailed tracking.

  3. Roadmap view: A Gantt chart for timeline visualization.

Let's explore each of these:

  1. In your project, click on the dropdown next to the current view name (likely "Board").

  2. Select each view and observe how the information is presented differently.

Step 2: Creating Tasks (Tickets)

In the Board view:

  1. Click the "+ Add item" button at the bottom of a column.

  2. Type a title for your task.

  3. Press Enter to create the task.

Step 3: Converting Tasks to Issues

Converting a task to an issue allows for better traceability and automation.

Method 1: From the task detail

  1. Click on a task to open its details.

  2. Click on the "Convert to issue" button.

  3. Select the repository where you want to create the issue.

  4. Click "Create issue".

Method 2: Using the three dots menu

  1. Click on the three dots (...) menu next to the task.

  2. Select "Convert to issue" from the dropdown menu.

Step 4: Assigning Tasks

  1. Click on a task to open its details.

  2. In the sidebar, click on "Assignees".

  3. Select the team member you want to assign the task to.

Step 5: Using the Roadmap View

The Roadmap view helps in setting deadlines and visualizing the project timeline.

  1. Switch to the Roadmap view.

  2. Click and drag on a task to set its start and end dates.

  3. Observe how tasks are arranged on the timeline.

Part 3: Integrating with Repositories

Step 1: Linking a Project to a Repository

  1. Go to your repository on GitHub.

  2. Click on the "Projects" tab.

  3. Click "Link a project".

  4. Select your project from the list.

Repeat these steps for each repository you want to link to the project. This allows you to:

  • Track issues and pull requests from multiple repositories in one place

  • Create cross-repository dependencies

  • Get a holistic view of your entire project, even when the code is distributed across different repositories

Remember, you can link as many repositories as needed to a single project, making it easier to manage large, multi-component software projects.

Step 2: Managing Workflows

GitHub Projects allows you to manage automation workflows based on repository activity.

  1. In your project, go to "Settings" > "Workflows".

  2. You'll see a list of predefined workflows that you can enable or disable.

  3. To adjust a workflow, click on it to edit its settings. For example, make sure the workflow "When an issue is closed, set its status to Done" is enabled. (Note: This workflow may already be enabled by default in some project templates).