Commit Graph

52 Commits

Author SHA1 Message Date
15972095207 84e3a37daa 1 2026-06-09 08:04:41 +08:00
15972095207 47c06bca21 测试流水线 2026-06-04 15:02:49 +08:00
15972095207 f113735d69 测试流水线 2026-06-04 14:56:04 +08:00
15972095207 ecc6bcca2b fix: use correct API endpoint for notification delete
DELETE /users/{owner}/messages with {type, ids} body,
not DELETE on individual message path.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 10:16:50 +08:00
15972095207 97ddd456dd fix: add type field to notification read request body
API requires both type and ids fields for marking notifications as read.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 09:44:48 +08:00
15972095207 49415faf54 fix: use correct API endpoint for notification read
GitLink uses POST /users/{owner}/messages/read with ids array,
not PATCH on individual message. Fixed code and test accordingly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 09:42:26 +08:00
15972095207 97f9f63645 fix: use --label clear to remove labels from issue
Empty string doesn't work as CLI flag value. Use 'clear' keyword instead:
- --label 327264,327265  set labels
- --label clear          remove all labels

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 09:12:44 +08:00
15972095207 c8b4eb2ea0 feat: add --label support to issue update command
Support setting or clearing labels on existing issues:
- --label 327264,327265  set labels
- --label ""            clear all labels

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 09:10:15 +08:00
15972095207 ed7a2bbcd6 feat: support multiple labels in issue create (--label id1,id2)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 08:59:33 +08:00
15972095207 7f53548244 fix: use correct issue_tag_ids field for issue create --label
The GitLink v1 API expects issue_tag_ids (array of integers), not label_id.
This fixes the bug where --label was silently ignored when creating issues.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 08:50:37 +08:00
15972095207 2760c47115 fix: use PUT method for wiki update and align with reference implementation
The update API requires PUT, not POST. Previous commit 7a85c6d incorrectly
changed it to POST which caused HTTP 500 errors. Also added shared test
helpers to common package and rewrote wiki tests to match reference files.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 21:46:34 +08:00
15972095207 7a82eef766 fix: always include message field in wiki update request body
The gateway API requires the message field to be present (even as empty
string). Previously update omitted it when --message was not provided,
causing HTTP 500 errors. Also removed dead code in callWikiAPI and added
a test for update without message.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 21:08:54 +08:00
15972095207 7a85c6df88 fix: use POST instead of PUT for wiki update (gateway compatibility) 2026-06-03 20:59:37 +08:00
15972095207 114aed603b fix: omit empty message field in wiki update to avoid 500 error 2026-06-03 20:46:01 +08:00
15972095207 5cb6ea1cd1 fix: wiki commands use correct gateway API (gateway.gitlink.org.cn) 2026-06-03 20:27:19 +08:00
ZxR d3bdbbc28a Merge branch 'master' of https://gitlink.org.cn/ylly/gitlink-cli 2026-06-02 16:02:12 +08:00
ZxR 1c6cb6ae9c fix: update label tests to match corrected API path 2026-06-02 16:01:00 +08:00
zhangqing 263c20801a fix: update notification test paths to include .json suffix
The HTTP client automatically appends .json to API paths.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-02 15:24:15 +08:00
zhangqing dee04432d2 fix: use ctx.Owner instead of global cmdutil.Owner in notification
Tests set Owner on RuntimeContext, not on the global cmdutil variable.
This fixes all 4 notification test failures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-02 15:21:12 +08:00
zhangqing 1e32e12145 feat: add notification module + fix issue --label bug
- Add notification +list, +view, +read, +delete commands
- Add notification unit tests
- Register notification module in register.go
- Fix issue +create ignoring --label flag

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-02 15:08:53 +08:00
ZxR e53c92be46 fix: correct label API path to /{owner}/{repo}/labels 2026-06-02 11:48:20 +08:00
ZxR 67f8068e3e 增加label 标签管理 2026-06-02 11:14:40 +08:00
15972095207 0362f3f604 feat: add wiki +view,+create,+update,+delete shortcuts with tests 2026-06-02 10:42:25 +08:00
15972095207 1e28d3775d feat: fix wiki +list API path to /{owner}/{repo}/wiki/pages 2026-06-02 09:42:26 +08:00
15972095207 0c76b3bab0 feat: add wiki +list shortcut 2026-06-02 09:21:25 +08:00
wbtiger 2f8b987c2c Merge pull request 'feat(issue): add user lookup shortcuts' (#44) from wangyue111/gitlink-cli:feat/issue-user-shortcuts into master 2026-05-27 01:14:31 +08:00
wbtiger 5369ce65bb Merge pull request 'fix(pr): include closed time in view output' (#49) from dtwdtw/gitlink-cli:fix/issue-14-pr-closed-at into master 2026-05-27 00:52:20 +08:00
wbtiger 898b7f59d1 feat: add milestone, compare, pr reopen shortcuts and api enhancements (#45)
- milestone shortcuts: list, create, view, update, delete, close, reopen
- compare shortcuts: view, files (compare branches/tags/commits)
- pr +reopen: reopen closed pull requests
- api: add --body-file and --body-stdin for reading JSON from file/stdin
- comprehensive tests for all new shortcuts

Co-authored-by: wangyue111 <wangyue111>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 00:44:39 +08:00
wbtiger 36249f3087 feat: add PR closed time and repo README shortcuts (#49, #52)
PR #49 (dtwdtw): enrich PR view with closed_at from issue journals
- Fetches close timestamp for closed/rejected PRs
- Skips extra API call for open PRs
- 2 new tests

PR #52 (dtwdtw): add repo +readme shortcut
- Fetches README content with optional --ref and --path params
- normalizeAPIPath prevents duplicate /api prefix in client
- 4 new tests (3 client + 1 repo)

Co-authored-by: dtwdtw <dtwdtw>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 00:35:31 +08:00
wbtiger 7bcba5aed8 feat(member): add repository member shortcuts (#46)
Add member command group with 8 shortcuts:
- +list, +add, +batch-add, +remove, +role
- +invite-link, +invite-info, +accept-invite

Batch add supports --dry-run, CSV file input, and partial failure
reporting. 12 tests included.

Co-authored-by: Jiachen Li (puygob236) <noreply@gitlink.org.cn>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 00:24:15 +08:00
fsafasff 7f0f332f77 fix(pr): include closed time in view output 2026-05-26 17:11:33 +08:00
wbtiger 6b355e19e2 fix(workflow): improve input mode detection and error hint
- hasLocalTriageInput now also detects triage-specific flags (--body,
  --number, --author, --url, --labels) to enter local input mode.
- hasLocalHealthInput now checks all health-related flags to prevent
  invalid values like --open-issues=abc from silently falling through
  to remote fetch instead of being validated.
- Remote fetch failure in +triage now includes a hint suggesting
  --title or --from for local analysis.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 16:28:28 +08:00
whzy a904f48099 Add workflow repo-report command 2026-05-26 16:28:28 +08:00
whzy 7730347253 Add workflow pr-summary command 2026-05-26 16:28:00 +08:00
whzy 5673a109a4 Add workflow agent triage and health commands 2026-05-26 16:28:00 +08:00
wangyue789 23a478bd69 feat(issue): add authors shortcut 2026-05-25 08:50:47 +08:00
wangyue789 9638d279d3 feat(issue): add assigners shortcut 2026-05-25 08:49:41 +08:00
Tiger 64c0ff3cb5 Normalize issue +list output to use project-level issue numbers
The API returns both "id" (global database PK) and "project_issues_index"
(per-project sequential number). The +list JSON output was a raw API
pass-through, making the database ID the most prominent identifier.

This change normalizes each issue in the list:
- Add "number" field from project_issues_index (matches the web URL)
- Rename "id" to "database_id" to prevent confusion

The "number" field now matches the --number flag used by +view, +close,
+update, and +comment commands.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 01:00:31 +08:00
Tiger 4bfbfc6e8f Replace PR #20 webhook with PR #22 improved implementation
- Use v1 API paths for all webhook endpoints (fixes view/test returning HTML/404)
- Add +tasks command for listing webhook delivery tasks
- Add webhook event validation (10-event whitelist)
- Add webhook type validation (10-type whitelist)
- Add content-type and http-method validation
- Fix update to preserve unspecified fields via fetch-and-merge
- Add event deduplication in parseWebhookEvents
- Add 9 comprehensive unit tests (up from 3)
- Use --http-method flag (maintains backward compatibility with PR #20)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 22:45:34 +08:00
Tiger 49cd590227 Merge PR #26: feat(pr): add review shortcuts
Resolved conflicts between PR #24 (+versions, +version-diff) and PR #26
(+reviews, +review). Unified prReviewsPath() to use existing prV1Path() helper.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 22:12:01 +08:00
wbtiger 2b64b8efa7 Merge pull request 'feat(pr): add patchset version shortcuts' (#24) from wangyue111/gitlink-cli:feat/pr-patchset-versions into master 2026-05-23 21:45:41 +08:00
wangyue789 fbea42ecce feat(pr): add review shortcuts 2026-05-21 17:20:15 +08:00
wangyue789 e85dd367d8 feat(pr): add patchset version shortcuts 2026-05-21 11:58:47 +08:00
Mengz df1d6bb29e test: fix webhook endpoint expectations 2026-05-20 09:30:51 +08:00
Mengz 2f84f3c62e docs: finalize webhook shortcut docs 2026-05-19 15:54:31 +08:00
Mengz 83a642a72d feat: add webhook shortcut group 2026-05-19 10:55:23 +08:00
wbtiger 6ff7384f99 fix(branch): URL-encode branch name in unprotect, add +unprotect to Skill
- shortcuts/branch/branch.go: unprotect 使用 url.PathEscape 编码分支名(含 / 的分支名)
- skills/gitlink-branch/SKILL.md: 新增 +unprotect 命令(参数、示例、Workflow)
- skills/gitlink-branch/examples/branch-workflow.md: 注意事项补 +unprotect 说明
- 注意:含 / 的分支名 unprotect 受限于 Gitea API 路由,需通过 Web 操作
2026-05-17 12:19:04 +08:00
wbtiger 20c3a4ff62 feat(pr): add pr +comment shortcut
Add a convenience command to comment on pull requests directly,
without needing to look up the underlying issue ID first.

Internally resolves the PR's issue ID via pr +view, then posts
to the issues journals API.
2026-05-14 14:23:04 +08:00
wangyue789 b2e840f498 feat(issue): add batch close shortcut with dry-run support 2026-05-13 17:27:50 +08:00
wbtiger 44147bd71a fix: Issue 操作切换到 v1 API,统一使用 project_issues_index 替代数据库 ID
改动:
- Issue 所有操作(list/view/create/update/close/comment)从旧版 /api/ 切到 /api/v1/
- flag --id/-i 改为 --number/-n(与网页 URL 中的 Issue 编号一致)
- create 增加 status_id:1(必填,v1 API 要求)
- update/close 的 HTTP 方法从 PUT 改为 PATCH(v1 API 规范)
- comment 的请求字段从 content 改为 notes(v1 API 字段名)
- comment 路径从 /issues/{id}/journals 改为 /v1/{owner}/{repo}/issues/{number}/journals

Fixes #9
2026-05-12 16:55:23 +08:00