Skip to content

[plan] Implement issue field discovery safe output for org-level fields #30886

Closed as not planned

Description

@github-actions

Objective

Research and implement a discovery mechanism for available issue fields and their allowed values at the org level, so workflows can enumerate fields without hardcoding them.

Context

Workflows need to know which fields exist and what values are valid before setting them. The MCP issues_granular toolset (e.g., list_issue_fields, get_issue_field_values) provides this at the API level. A corresponding safe output or read-only helper is needed. Tracked in #30846.

Reference: issues_granular.go

Approach

  1. Investigate the GitHub GraphQL/REST API for listing issue fields at the org/repo level
  2. Evaluate whether to expose this as:
    • A new list-issue-fields safe output
    • A step output from existing safe outputs (e.g., return available fields on error)
    • Documentation guidance pointing to MCP tools
  3. Implement the chosen approach in actions/setup/js/
  4. Cache field discovery results within a workflow run to avoid repeated API calls
  5. Return structured output (JSON) listing field names, types, and allowed values

Files to Modify

  • actions/setup/js/ — add discovery handler or enhance existing ones
  • pkg/workflow/js/safe_outputs_tools.json — register new tool if applicable

Acceptance Criteria

  • Workflows can discover available issue fields for an org/repo
  • Response includes field names, types (text, single-select, iteration, date, etc.), and allowed values for enum fields
  • Discovery is efficient (cached or lazy-loaded within a run)
  • Documented with usage examples
    Related to Implement Issue Fields Support in Safe Outputs #30846

Generated by Plan Command for issue #30846 · ● 3.1M · ◷

  • expires on May 9, 2026, 6:53 PM UTC

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions