Fields in your GitHub Project

A schema for your work tickets

What are fields?

Fields define the schema of your Project, and are entirely metadata (they exist only in the Project, and aren't recorded within the ticket itself). You may call "schema" the "data model", or "columns": it just means what will be recorded for each and every item in the Project.

There is a default set of fields (that cannot be deleted in the field settings), importantly this includes Status — however you can and should edit this field.

There are different types of 'View', and the fields are most visible in the 'Table' View (close to a spreadsheet). To edit a field's settings in this View, click the ⋯ next to its column header then the ⚙️ icon.

Field types

In a Project, you get simple types for Text and Number (in a programming languages they'd be the simple string and integer types), however after trying different designs I chose to stick to just 3:

Text fields give you freedom to add new values on-the-fly, but this also means the freedom to make mistakes (typos and inconsistent names). It's better to use the Single select (Enum) as it is ordered, and can therefore be used to sort in ways other than alphabetically - not possible with a simple Text type field.

My suggested fields

Firstly, for visual clarity I choose to keep field names always in sentence case.

I use ten fields to plan my open source projects, whose names (and emojified types) are:

  1. Status ⬇️ – in progress or otherwise
  2. Start date 📆 – real or scheduled
  3. End date 📆 – deadline (optional)
  4. Goal ⬇️ – categorised aim of the ticket's request
  5. Area ⬇️ – genre of the ticket's domain
  6. Size ⬇️ – estimated scale of work
  7. Day 🔂 – scheduled day
  8. Week 🔂 – scheduled week
  9. Month 🔂 – scheduled month
  10. Library ⬇️ – repo/etc.

1. Status ⬇️ (built in)

2. - 3. Start date, End date 📆

4. Goal ⬇️

5. Area ⬇️

6. Size ⬇️

7. Day 🔂

8. Week 🔂

9. Month 🔂

10. Library ⬇️