Skip to content

Project board: manual view setup + PROJECT_SYNC_PAT provisioning #920

@danielmeppiel

Description

@danielmeppiel

Followup to #919 (PGS project board sync). Tracks the manual one-time setup steps the GitHub GraphQL API does not allow us to automate.

Parent epic: #916
Reference target shape: GitHub Public Roadmap

Verified gap: views are UI-only

__type(name:"Mutation") { fields } returns zero mutations matching ProjectV2View. There is no createProjectV2View / updateProjectV2View / layout-mutation in the public GraphQL schema. Layout, grouping, slicing, filtering, and column ordering must be configured by hand in the project UI.

1. Org-admin: provision the PAT secret

The auto-sync workflow (.github/workflows/project-sync.yml) authenticates to the project via repo secret PROJECT_SYNC_PAT. Until this is set, the workflow runs but the sync step fails (no-op on PRs without theme/* labels).

Steps:

  1. An org owner generates a fine-grained PAT
  2. Scopes: Projects: Read & Write (org microsoft), Issues: Read + Pull requests: Read (microsoft/apm)
  3. Save as repo secret PROJECT_SYNC_PAT

2. Convert the default view into a Now / Next / Later board

The Roadmap template auto-created a single timeline view (View 1, layout ROADMAP_LAYOUT). Convert it to a board sliced by Theme so it matches GitHub Public Roadmap:

In the project UI, on View 1:

  1. Rename to Roadmap
  2. Layout -> Board
  3. Group by -> Tier (gives Now / Next / Later / Shipped / Declined columns)
  4. Slice by -> Theme (gives Portability / Security / Governance left-rail, identical to github/4247 product-areas filter)
  5. Filter -> is:open -tier:Declined so the default view shows in-flight roadmap only
  6. Sort -> Priority desc
  7. Drag column order to put Now first, then Next, then Later
  8. Optionally hide Shipped and Declined columns from this view (use the column visibility menu) -- or expose them at the right edge as github does
  9. Set as the default view (the public landing view when someone opens the project URL)

3. Optional secondary views (one click each, "Save as new view")

View Layout Group by Slice by Filter
Triage queue Table -- -- label:status/needs-triage is:open
Good first issues Board Theme -- label:"good first issue" is:open
Shipped log Table Theme -- tier:Shipped (sort: closed-at desc)

Skip the per-theme boards from the previous draft -- the slice-by-Theme on the main Roadmap view supersedes them.

4. Polish

Acceptance

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/ci-cdGitHub workflows, merge queue, gh-aw integrations, release pipeline.priority/highShips in current or next milestonestatus/acceptedDirection approved, safe to start work.theme/governanceGoverned by policy. apm-policy, audit, enforcement, enterprise rollout.type/automationAutomation script, workflow, gh-aw, dependabot config.

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions