FN-7090: link imported GitHub issues as tracked tasks
Link GitHub issue imports to existing source issues when tracking defaults are enabled. - Resolve project/global GitHub tracking defaults before CLI, extension, and dashboard issue imports. - Mark imported issue tasks as tracking-enabled so the post-create hook adopts the source issue instead of creating duplicates. - Cover tracked and untracked import behavior across CLI tools, task commands, and dashboard GitHub routes. - Document the import tracking behavior and add a minor changeset for the published CLI. Files changed: .changeset/fn-7090-import-github-tracked.md | 7 ++ docs/cli-reference.md | 2 + docs/settings-reference.md | 2 +- .../__tests__/extension-github-tracking.test.ts | 63 +++++++++++ packages/cli/src/__tests__/extension.test.ts | 125 ++++++++++++++++++++- .../task-command-github-import-tracking.test.ts | 119 ++++++++++++++++++++ packages/cli/src/commands/__tests__/task.test.ts | 64 ++++++++++- packages/cli/src/commands/task.ts | 30 ++++- packages/cli/src/extension.ts | 27 +++++ .../dashboard/src/__tests__/routes-github.test.ts | 74 ++++++++++++ .../dashboard/src/routes/register-git-github.ts | 21 +++- 11 files changed, 524 insertions(+), 10 deletions(-) Fusion-Task-Id: FN-7090 Fusion-Task-Lineage: 1e5510c3-7a98-4ff2-a109-e465ff58b9c2 Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
This commit is contained in:
@@ -557,7 +557,7 @@ Default notes:
|
||||
| `githubCommentOnDone` | `boolean` | `false` | When enabled, tasks imported from GitHub issues post a completion comment to the source issue when the task moves to `done`. |
|
||||
| `githubCommentTemplate` | `string` | `undefined` | Optional issue comment template used by `githubCommentOnDone`. Supports `{taskId}` and `{taskTitle}` placeholders. If unset, Fusion uses a default completion message. |
|
||||
| `githubCloseSourceIssueOnDone` | `boolean` | `false` | When enabled, source-imported GitHub issues are automatically closed with `state_reason: completed` when the Fusion task moves to `done`. A startup reconciliation sweep also closes missed open source issues on boot. |
|
||||
| `githubTrackingEnabledByDefault` | `boolean` | `false` | Project-level default for enabling issue tracking on new tasks. When this is false, the Quick Entry GitHub toggle is disabled until tracking is enabled in Settings. |
|
||||
| `githubTrackingEnabledByDefault` | `boolean` | `false` | Project-level default for enabling issue tracking on new tasks. When this is false, the Quick Entry GitHub toggle is disabled until tracking is enabled in Settings. When this or the global new-task default enables tracking, imported GitHub issues are marked as tracked tasks and adopt the source issue instead of opening a duplicate tracking issue. |
|
||||
| `githubTrackingDefaultRepo` | `string` | `undefined` | Project default issue-tracking repo (`owner/repo`) used before global fallback for tracked task creation (precedence: task override → project default → global default). In Settings UI this is a detected-remote dropdown with a Custom fallback for manual entry. This key is dual-scope: project saves go through `PUT /api/settings` (Settings → General → GitHub Tracking) while global saves go through `PUT /api/settings/global` (Settings → Global General). |
|
||||
| `githubTrackingDedupEnabled` | `boolean` | `true` | When enabled, tracking issue creation searches open and closed repo issues for likely duplicates before opening a new issue (gh CLI search first, with REST search fallback). Set `false` to skip dedup and always create a new issue when tracking is enabled. Dashboard location: **Settings → Project → General → GitHub Tracking**. |
|
||||
| `githubAuthMode` | `"gh-cli" \| "token"` | `"gh-cli"` | Project GitHub auth strategy used by tracking lifecycle integration. `"gh-cli"` requires an installed/authenticated `gh` CLI. `"token"` requires a non-empty `githubAuthToken` (or `GITHUB_TOKEN` env fallback). Tracking lifecycle auth is strict per selected mode (no cross-fallback). |
|
||||
|
||||
Reference in New Issue
Block a user