mirror of
https://github.com/vince-winkintel/gitlab-cli-skills.git
synced 2026-09-19 06:01:21 +08:00
c29467a0e7
- Added 5 high-value automation scripts: * mr-review-workflow.sh - Automated MR review with tests * create-mr-from-issue.sh - Create branch + draft MR from issue * ci-debug.sh - Debug CI failures (find failed jobs + logs) * batch-label-issues.sh - Apply labels to multiple issues * sync-fork.sh - Sync fork with upstream - Created scripts/README.md with usage documentation - Added TOC to glab-mr/references/commands.md (656 lines) - Updated SKILL.md files to reference relevant scripts - Added troubleshooting sections to: * glab-mr: merge conflicts, approval issues, pipeline problems * glab-repo: clone failures, fork issues, transfer problems * (glab-auth and glab-ci already had troubleshooting from Phase 1) Addresses #13 Phase 2 objectives: ✅ 5 high-value scripts created and documented ✅ TOC added to long reference file (>100 lines) ✅ Troubleshooting sections added to top 5 skills ✅ Scripts follow OpenClaw patterns (token-efficient, deterministic) ✅ All scripts executable and well-documented Token efficiency improvements: - Scripts execute without loading into context - Only script output consumes tokens - Reduces need to regenerate same code repeatedly - Better navigability via TOC in reference docs Co-authored-by: Ubuntu <ubuntu@vps-9755df38.vps.ovh.us>
GitLab CLI Scripts
Automation scripts for common GitLab CLI workflows.
Available Scripts
mr-review-workflow.sh
Automated MR review: checkout → run tests → approve if passed.
./scripts/mr-review-workflow.sh <MR_ID> [test_command]
# Examples
./scripts/mr-review-workflow.sh 123
./scripts/mr-review-workflow.sh 123 "pnpm test"
./scripts/mr-review-workflow.sh 123 "cargo test"
What it does:
- Checks out the MR locally
- Runs your test command (default:
npm test) - If tests pass: adds approval comment + approves MR
- If tests fail: adds failure comment with details
create-mr-from-issue.sh
Create branch from issue with proper naming.
./scripts/create-mr-from-issue.sh <ISSUE_ID> [--create-mr]
# Examples
./scripts/create-mr-from-issue.sh 456
./scripts/create-mr-from-issue.sh 456 --create-mr # Also creates draft MR
What it does:
- Fetches issue title
- Creates branch named
<issue-id>-<slugified-title> - Optionally creates draft MR linked to the issue
ci-debug.sh
Debug CI failures by showing failed job logs.
./scripts/ci-debug.sh <PIPELINE_ID>
# Example
./scripts/ci-debug.sh 987654
What it does:
- Lists all failed jobs in the pipeline
- Shows last 50 lines of each failed job's log
- Provides next steps for debugging
batch-label-issues.sh
Apply label to multiple issues at once.
./scripts/batch-label-issues.sh <label> <issue_id1> [issue_id2] ...
# Examples
./scripts/batch-label-issues.sh bug 100 101 102
./scripts/batch-label-issues.sh "priority::high" 200 201
What it does:
- Applies the specified label to all listed issues
- Shows progress for each issue
- Reports success/failure summary
sync-fork.sh
Sync your fork with upstream repository.
./scripts/sync-fork.sh [branch] [upstream_remote]
# Examples
./scripts/sync-fork.sh # Syncs main with upstream
./scripts/sync-fork.sh develop # Syncs develop with upstream
./scripts/sync-fork.sh main my-upstream # Custom upstream remote name
What it does:
- Fetches from upstream remote
- Merges upstream changes into local branch
- Pushes to your fork's origin
Usage Tips
Make scripts available globally:
# Add to your PATH
export PATH="$PATH:/path/to/gitlab-cli-skills/scripts"
# Or create aliases
alias mr-review="/path/to/gitlab-cli-skills/scripts/mr-review-workflow.sh"
alias ci-debug="/path/to/gitlab-cli-skills/scripts/ci-debug.sh"
Use with OpenClaw:
The agent can execute these scripts directly:
"Run the MR review workflow for MR 123"
"Debug the failed CI pipeline 456789"
"Create a branch for issue 789 and draft MR"
Requirements
glabCLI installed and authenticatedgitfor branch/fork operations- Test framework for
mr-review-workflow.sh(npm, pnpm, cargo, etc.)
Token Efficiency
These scripts are designed for OpenClaw's progressive disclosure pattern:
- Scripts execute without loading into context
- Only script output consumes tokens
- Deterministic behavior vs AI-generated code
- Reusable across multiple tasks