glab

📁 ianphil/my-skills 📅 10 days ago
1
总安装量
1
周安装量
#49855
全站排名
安装命令
npx skills add https://github.com/ianphil/my-skills --skill glab

Agent 安装分布

opencode 1
cursor 1

Skill 文档

glab – GitLab CLI

Quick Reference

# Authentication
glab auth login                    # Interactive login
glab auth status                   # Check auth status

# Merge Requests
glab mr create                     # Create MR interactively
glab mr list                       # List open MRs
glab mr view <id>                  # View MR details
glab mr merge <id>                 # Merge an MR
glab mr checkout <id>              # Checkout MR branch locally

# Issues
glab issue create                  # Create issue interactively
glab issue list                    # List open issues
glab issue view <id>               # View issue details
glab issue close <id>              # Close an issue

# Pipelines
glab ci status                     # Current branch pipeline status
glab ci view                       # View pipeline in browser
glab ci list                       # List recent pipelines
glab ci trace                      # Stream job logs live

MR Creation Flow

# Create MR with options
glab mr create \
  --title "feat: add user authentication" \
  --description "Implements OAuth2 login flow" \
  --assignee @me \
  --reviewer @teammate \
  --label "feature,needs-review" \
  --milestone "v1.0"

# Create draft MR
glab mr create --draft --title "WIP: refactoring auth"

# Create MR targeting specific branch
glab mr create --target-branch develop

# Push and create MR in one step
glab mr create --push

MR Review Workflow

# List MRs needing review
glab mr list --reviewer=@me

# Checkout MR for local testing
glab mr checkout 42
# ... test locally ...

# Approve MR
glab mr approve 42

# Merge when ready
glab mr merge 42 --squash --remove-source-branch

Issue Management

Creating Issues with Descriptions

Simple inline description:

glab issue create --title "Fix login bug" --description "Users cannot log in"

Multiline descriptions – use $'...' syntax for newlines:

glab issue create \
  --title "Bug: login fails on mobile" \
  --description $'## Summary\nLogin fails on iOS devices.\n\n## Steps to Reproduce\n1. Open app\n2. Tap login\n3. Enter credentials\n\n## Expected\nUser logs in successfully'

Complex descriptions – use a temp file (most reliable):

cat << 'EOF' > /tmp/issue-body.md
## Summary
Login fails on iOS devices when using OAuth.

## Steps to Reproduce
1. Open the app on iOS 17+
2. Tap "Login with Google"
3. Complete OAuth flow
4. App crashes on redirect

## Expected Behavior
User should be logged in and see dashboard.

## Environment
- iOS 17.2
- App version 2.3.1
EOF

glab issue create \
  --title "Bug: OAuth login crashes on iOS" \
  --label "bug,priority::high" \
  --assignee @me \
  < /tmp/issue-body.md

Interactive mode (opens editor):

glab issue create  # Opens $EDITOR for description

Updating Issues

# Update description (use -d flag)
glab issue update 123 -d "New description here"

# Multiline description update
glab issue update 123 -d $'## Updated\n\nNew multiline description'

# Open editor for description (-d "-" opens $EDITOR)
glab issue update 123 -d -

# Update from file
glab issue update 123 -d "$(cat /tmp/new-description.md)"

# Other updates
glab issue update 123 --title "New title"
glab issue update 123 -l "in-progress"
glab issue update 123 --unlabel "needs-triage"
glab issue update 123 --assignee @teammate
glab issue update 123 --milestone "v1.0"

Note: For very complex updates, the API gives more control:

glab api --method PUT projects/:fullpath/issues/123 \
  -f description="$(cat /tmp/description.md)"

Issue Search and Filtering

glab issue list --search "authentication"
glab issue list --label "bug"
glab issue list --label "bug" --label "priority::high"  # AND logic
glab issue list --assignee @me
glab issue list --author @me
glab issue list --closed
glab issue list --milestone "v1.0"

Linking Issues to MRs

In MR descriptions, use keywords to auto-close issues on merge:

  • Closes #123
  • Fixes #123
  • Resolves #123
glab issue close 123
glab issue reopen 123

Pipeline Debugging

# Check current pipeline status
glab ci status

# List recent pipelines
glab ci list
glab ci list --status=failed

# View pipeline interactively (shows jobs, allows actions)
glab ci view

# View specific branch pipeline
glab ci view main

Job Operations

# Stream live logs (interactive job selection)
glab ci trace

# Stream logs from specific job (by name or ID)
glab ci trace build
glab ci trace 224356863

# Retry a failed job
glab ci retry deploy
glab ci retry 224356863

# Trigger a manual job
glab ci trigger deploy-production

# Cancel running pipeline or job
glab ci cancel pipeline
glab ci cancel job 224356863

Artifacts

# Download artifacts (use glab job artifact)
glab job artifact main build
glab job artifact main build --path="./artifacts/"

Project Operations

# Clone with glab
glab repo clone owner/repo

# Fork a project
glab repo fork owner/repo

# View project in browser
glab repo view --web

# List project members
glab api projects/:id/members

Tips

  • Use --web or -w flag to open result in browser
  • Use glab alias set to create shortcuts
  • Environment variable GITLAB_TOKEN for CI/CD auth
  • Use glab api for any GitLab API endpoint not covered by commands