{
  "slug": "github-projects-fields-resolve-by-name-8a57e8636de9",
  "title": "GitHub Projects fields resolve by name",
  "tools": [
    "github-mcp-server"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-07-15T13:03:57.000Z",
  "announced_at": "2026-07-15T13:03:57.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When reading or updating GitHub Projects item fields by name, use `field_names` for reads and `updated_field: {name, value}` for writes. For writes, resolve the item with `item_owner`, `item_repo`, and `issue_number` or pass `item_id`.",
    "examples": [
      "projects_list({\"method\":\"list_project_items\",\"owner\":\"<owner>\",\"project_number\":<project_number>,\"field_names\":[\"Status\",\"Priority\"]})",
      "projects_get({\"method\":\"get_project_item\",\"owner\":\"<owner>\",\"project_number\":<project_number>,\"item_id\":<item_id>,\"field_names\":[\"Status\",\"Priority\"]})",
      "projects_write({\"method\":\"update_project_item\",\"owner\":\"<owner>\",\"project_number\":<project_number>,\"item_owner\":\"<item_owner>\",\"item_repo\":\"<item_repo>\",\"issue_number\":<issue_number>,\"updated_field\":{\"name\":\"Status\",\"value\":\"In Progress\"}})"
    ],
    "gotchas": [
      "Version: v1.6.0",
      "projects_list.method (required): Use `list_project_items` to list items.",
      "projects_list.owner (required): Project owner login.",
      "projects_list.project_number (required): Project number for `list_project_items`.",
      "projects_list.field_names: Field names to include; mutually exclusive with `fields`.",
      "projects_get.method (required): Use `get_project_item` to get an item.",
      "projects_get.item_id (required): Project item ID for `get_project_item`.",
      "projects_get.field_names: Field names to include; mutually exclusive with `fields`. Without either, only title is included.",
      "projects_write.method (required): Use `update_project_item` to update an item.",
      "projects_write.owner (required): Project owner login.",
      "projects_write.project_number (required): Project number; required for methods other than `create_project`.",
      "projects_write.updated_field (required): Field and new value; accepts `{name, value}` or `{id, value}`. For single-select fields, name form resolves option names; set value to null to clear.",
      "updated_field.name: Field name; use instead of `id`. The `name` and `id` forms are mutually exclusive.",
      "updated_field.value (required): New field value; null clears the field.",
      "projects_write.item_id: Project item ID; provide this or the `item_owner` + `item_repo` + `issue_number` reference to resolve an item for update.",
      "projects_write.item_owner: Issue or pull request repository owner when resolving the item by issue number.",
      "projects_write.item_repo: Issue or pull request repository name when resolving the item by issue number.",
      "projects_write.issue_number: Issue number used with `item_owner` and `item_repo` to resolve the item.",
      "Prerequisite: Project reads require `read:project` scope (the docs also accept `project`); updates require `project` scope."
    ]
  },
  "why_it_matters": "Work with GitHub Projects fields through github-mcp-server when field names are used for resolution.",
  "before": "The PR states that updates previously required field and item IDs and did not resolve option names; reading item field values required listing project fields first.",
  "sources": [
    "https://github.com/github/github-mcp-server/releases/tag/v1.6.0",
    "https://github.com/github/github-mcp-server/blob/v1.6.0/README.md",
    "https://github.com/github/github-mcp-server/pull/2760"
  ],
  "rank": 0.92047,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v1+judge-v2x3-rejudge+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "backfill-20261007",
    "verdict_id": "backfill-20261007:backfill-20261007-0b099cf7fec760bb-7:rescue",
    "evidence_hash": "264de197d6b3493dde86924d735454c011f5d1c940531cdef15cb48b448be618"
  },
  "review": {
    "draft_hash": "9a8c4122b518bb7034d0ff2462e4ad1de0650e3775252e62a4e8633348161b4e",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "backfill-20261007:rescue",
    "reason": "Rescue path: first rejected only because the extracted card lacked usage; judged again on the enriched card, 2 of 3 judge runs approved with p_yes >= 0.9 (mean 0.92 >= 0.9; 2 needed) and Jev gave 0.75 (>= 0.6 needed)."
  }
}
