Skip to content

Support the org-level Skillset field in sync-issue-fields #75

Description

Summary

sync-issue-fields currently copies an issue form's type and scope dropdown answers onto the repo-level issue type and the OvertureMaps org-level Scope field (ID 44814929). The org has since added a Skillset field (ID 45229885, "What is the primary skill needed to complete this task?", options: data analysis, data science, dev ops, engineering). Issues opened from a form with a Skillset dropdown still require manual triage to set it.

Proposed change

Extend the action so a skillset form answer is written to the org-level Skillset field with the same semantics already used for Scope:

  • New inputs: skillset-form-field (default skillset) and skillset-org-field-id (default 45229885).
  • Include Skillset in the existing single PATCH /repos/{owner}/{repo}/issues/{issue_number} call — issue_field_values already accepts multiple {field_id, value} entries, so no extra API round trip.
  • Preserve existing behavior: skip if the field is already set (don't clobber manual triage), skip entirely if no recognized form answers are present, and keep the try/catch warning for 422s from unexpected values.
  • Update the "Determine desired updates" step so the skillset answer short-circuits alongside type/scope, leaving the no-op path unchanged for issues not created from a matching template.

Open question

The current design hardcodes one org field via scope-org-field-id. Adding a second field this way works but doesn't scale. An alternative is a single org-fields input taking a JSON/YAML map of form field id → org field id, which would make future fields config-only. Worth deciding before implementing.

Acceptance criteria

  • An issue opened from a form with type, scope, and skillset answers has all three set automatically.
  • A Skillset value already set before the action runs is not overwritten.
  • Issues without a skillset answer behave exactly as they do today.
  • README.md documents the new input(s), defaults, and how to find the field ID.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions