Skip to content

feat: add organization issue fields sync support#69

Merged
joshjohanning merged 4 commits into
mainfrom
joshjohanning/next-task
May 20, 2026
Merged

feat: add organization issue fields sync support#69
joshjohanning merged 4 commits into
mainfrom
joshjohanning/next-task

Conversation

@joshjohanning
Copy link
Copy Markdown
Owner

Summary

Adds support for syncing organization issue fields configuration, aligned to the GitHub issue-fields REST API.

What changed

  • Added new action inputs:
    • issue-fields-file
    • delete-unmanaged-issue-fields
  • Added org-level override support in orgs.yml:
    • issue-fields
    • issue-fields-file
    • delete-unmanaged-issue-fields
  • Implemented issue-fields parsing, normalization, merge, compare, and sync logic
    • Uses GET/POST/PATCH/DELETE /orgs/{org}/issue-fields
    • Validates enum option colors (gray|blue|green|yellow|orange|red|pink|purple)
    • Preserves existing single-select option ids on PATCH when names match
    • Treats data_type changes as incompatible in-place updates
  • Added docs and sample config updates (README.md, sample-configuration/orgs.yml, new sample-configuration/issue-fields.yml)
  • Added Jest coverage for validation, parsing, merge, sync behavior, and run() wiring

Rollout note

Issue fields are still gated/rolling out by organization preview. For orgs without access, the action handles 403/404 as a warning and skips issue-fields sync.

This PR is intentionally Draft until we can validate end-to-end on an org with issue-fields enabled.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@joshjohanning joshjohanning marked this pull request as ready for review May 20, 2026 14:51
Copilot AI review requested due to automatic review settings May 20, 2026 14:51
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the bulk org settings sync GitHub Action to support syncing organization issue fields via the GitHub REST API, including new inputs, per-org overrides, parsing/normalization, sync logic, docs, samples, and Jest coverage.

Changes:

  • Added new action inputs and per-org override keys for issue-fields configuration (including optional deletion of unmanaged issue fields).
  • Implemented issue-fields YAML parsing/normalization, merge-by-name behavior, comparison logic, and create/update/delete sync against /orgs/{org}/issue-fields.
  • Updated documentation, sample configurations, and bumped package version (with lockfile + coverage badge updates).
Show a summary per file
File Description
src/index.js Adds issue-fields config keys, parsing/normalization, merge/compare, and org sync execution logic.
action.yml Introduces issue-fields-file and delete-unmanaged-issue-fields inputs.
README.md Documents issue-fields syncing behavior, inputs, permissions, and per-org override semantics.
sample-configuration/orgs.yml Adds sample per-org inline and file-based issue-fields configuration.
sample-configuration/issue-fields.yml New standalone sample file for issue-fields definitions.
tests/index.test.js Adds Jest coverage for issue-fields validation, parsing, merging, sync behavior, and run() wiring.
package.json Bumps version and adds keyword for issue-fields.
package-lock.json Updates lockfile version metadata to match package version bump.
badges/coverage.svg Updates coverage badge after test/coverage changes.

Copilot's findings

  • Files reviewed: 7/9 changed files
  • Comments generated: 1

Comment thread src/index.js
joshjohanning and others added 2 commits May 20, 2026 10:05
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@joshjohanning joshjohanning merged commit 9018cc6 into main May 20, 2026
4 checks passed
@joshjohanning joshjohanning deleted the joshjohanning/next-task branch May 20, 2026 15:18
@github-actions
Copy link
Copy Markdown

📦 Draft Release Created

A draft release v1.12.0 has been created for this PR.

🔗 View Draft Release

Next Steps

  • Review the release notes
  • Publish the release to make it permanent

This is an automated reminder from the publish-github-action workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: sync issue fields (sub-issues, tracked-in fields) for organizations

2 participants