Create a GitHub project board
github_project_createCreates a GitHub project board for a user or organization, or reuses an existing one by title, and applies the standard template with Status, Start and Target fields plus Roadmap, Kanban and Backlog views.
Instructions
Create a project board for a user or organization, or reuse the open board of that owner and exact title (case-insensitive; several are invalid_argument), and bring it to the standard template. The title defaults to Roadmap. A board that has to be made is empty, or a copy of template without its draft items. With standard (the default): the fields Status (Todo, In Progress, Waiting, Done, Cancelled, each with a color and a description), Start and Target (dates), and the views Roadmap, Kanban and Backlog. On a board this call made, Status gets exactly those options, keeping the ids of GitHub's own Todo, In Progress and Done, and GitHub's default view View 1 is deleted once the three views exist. On a reused or copied board only the missing fields, options and views are added, and nothing is deleted. A reused board must be one the viewer may update. dates: "issue_fields" uses the organization's issue fields Start date and Target date as the board's dates, refused before the board is made when the owner is a user or lacks them. link_repo links the board to a repository (needs write permission there) unless it is already linked. GitHub links only boards of the repository's own owner, so a repository of another owner is invalid_argument, before the board is made. Once the board exists, a failed step does not fail the call: it is listed in errors and the board is still returned. notes lists what the API cannot do, such as setting the Roadmap view's date fields. Needs a token with the project scope; if GitHub reports missing scopes, run gh auth refresh -s project.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dates | No | "board" (default) makes the board's own date fields Start and Target; "issue_fields" uses the organization's issue fields Start date and Target date instead, so an issue carries the same dates on every board and they are set with the issue tools (a pull request or draft has none). Organization boards only. | |
| owner | Yes | The user or organization login that owns the board, or "@me". | |
| title | No | The board's title (default Roadmap). | |
| standard | No | Bring the board to the standard template: its fields and views (default true). | |
| template | No | A board to copy, without its draft items, when the board has to be made: its number, owner/number or URL (a bare number or a title is looked up among owner's boards). | |
| link_repo | No | owner/name of a repository to link the board to; needs write permission. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| notes | Yes | What still has to be done by hand. | |
| views | Yes | The standard views, in order; created: false when the board already had one of that name. | |
| errors | Yes | Failed steps (fields, views, default_view, link), keyed by step; {} when none. | |
| fields | Yes | The standard fields, in order. | |
| linked | Yes | owner/name of the repository the board is linked to; null when none was asked. | |
| created | Yes | false when an open board of that owner and title was reused. | |
| project | Yes | ||
| copied_from | Yes | owner/projects/N of the board that was copied; null when none was. | |
| deleted_default_view | Yes | Whether View 1, GitHub's default view, was deleted; only on a board this call made. |