feat: issue metadata API — first-class status, priority, type fields #591

Open
jmiller wants to merge 2 commits from dev into main
Owner

Summary\n\nMerges the issue metadata feature from chore/mcp-cleanup through dev into main.\n\nAdds first-class status_id, priority_id, and type_id fields to issues with org-level definitions.\n\n## API Endpoints\n\n### Org-level definitions\n- GET /orgs/{org}/issue-statuses\n- GET /orgs/{org}/issue-priorities\n- GET /orgs/{org}/issue-types\n\n### Issue fields\n- Issue JSON now includes: status_id, status_name, priority_id, priority_name, type_id, type_name\n- Set via PATCH /repos/{owner}/{repo}/issues/{number} with status_id, priority_id, type_id\n- Set on create via POST /repos/{owner}/{repo}/issues with same fields\n\n## Database\n- Migration v348: issue_status table\n- Migration v351: issue_priority, issue_type tables\n- Migration v355: manifest metadata fields\n\n## Files Changed\n- models/issues/issue_status.go, issue_priority.go, issue_type.go\n- modules/structs/issue.go — added fields to Issue, CreateIssueOption, EditIssueOption\n- routers/api/v1/org/issue_metadata.go — org-level list endpoints\n- routers/api/v1/repo/issue.go — set on create/edit\n- services/convert/issue.go — populate names from IDs"

## Summary\n\nMerges the issue metadata feature from `chore/mcp-cleanup` through `dev` into `main`.\n\nAdds first-class `status_id`, `priority_id`, and `type_id` fields to issues with org-level definitions.\n\n## API Endpoints\n\n### Org-level definitions\n- `GET /orgs/{org}/issue-statuses`\n- `GET /orgs/{org}/issue-priorities`\n- `GET /orgs/{org}/issue-types`\n\n### Issue fields\n- Issue JSON now includes: `status_id`, `status_name`, `priority_id`, `priority_name`, `type_id`, `type_name`\n- Set via `PATCH /repos/{owner}/{repo}/issues/{number}` with `status_id`, `priority_id`, `type_id`\n- Set on create via `POST /repos/{owner}/{repo}/issues` with same fields\n\n## Database\n- Migration v348: issue_status table\n- Migration v351: issue_priority, issue_type tables\n- Migration v355: manifest metadata fields\n\n## Files Changed\n- `models/issues/issue_status.go`, `issue_priority.go`, `issue_type.go`\n- `modules/structs/issue.go` — added fields to Issue, CreateIssueOption, EditIssueOption\n- `routers/api/v1/org/issue_metadata.go` — org-level list endpoints\n- `routers/api/v1/repo/issue.go` — set on create/edit\n- `services/convert/issue.go` — populate names from IDs"
jmiller added 2 commits 2026-06-08 10:45:46 +00:00
feat: issue metadata API + org wiki tab with internal/external mode
Generic: Project CI / Tests (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Auto Version Bump / Version Bump (push) Failing after 6s
Generic: Project CI / Tests (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (push) Successful in 27s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Branch Policy Check / Verify merge target (pull_request) Successful in 2s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: Build & Release / Promote to RC (pull_request) Failing after 8s
Universal: PR Check / Validate PR (pull_request) Failing after 10s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 28s
Generic: Project CI / Lint & Validate (pull_request) Successful in 29s
PR RC Release / Build RC Release (pull_request) Failing after 30s
abf3bdb59b
Issue Status/Priority/Type API:
- Expose status_id, priority_id, type_id (with resolved names) on Issue API struct
- New endpoints: GET /orgs/{org}/issue-statuses, /issue-priorities, /issue-types
- CreateIssue and EditIssue handlers accept status_id, priority_id, type_id
- MCP tools: 5 new tools + updated create/update with metadata params

Org Wiki Tab:
- Convention repos: wiki (public) and wiki-private (members-only)
- Inline wiki rendering with markdown pipeline, sidebar, footer, page list
- Public/private view dropdown (same UX as org profile README selector)
- External wiki mode: link to outside URL from wiki tab
- Wiki mode setting in org settings (internal vs external with URL field)
- Migration 354: add wiki_mode and wiki_url to user table
Some required checks failed
Generic: Project CI / Tests (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Auto Version Bump / Version Bump (push) Failing after 6s
Generic: Project CI / Tests (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (push) Successful in 27s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Branch Policy Check / Verify merge target (pull_request) Successful in 2s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: Build & Release / Promote to RC (pull_request) Failing after 8s
Universal: PR Check / Validate PR (pull_request) Failing after 10s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 28s
Generic: Project CI / Lint & Validate (pull_request) Successful in 29s
PR RC Release / Build RC Release (pull_request) Failing after 30s
This pull request has changes conflicting with the target branch.
  • CHANGELOG.md
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin dev:dev
git checkout dev
Sign in to join this conversation.