211 lines
6.2 KiB
Markdown
211 lines
6.2 KiB
Markdown
---
|
|
name: github-ops
|
|
description: Provides comprehensive GitHub operations using gh CLI and GitHub API. Activates when working with pull requests, issues, repositories, workflows, or GitHub API operations including creating/viewing/merging PRs, managing issues, querying API endpoints, and handling GitHub workflows in enterprise or public GitHub environments.
|
|
---
|
|
|
|
# GitHub Operations
|
|
|
|
## Overview
|
|
|
|
This skill provides comprehensive guidance for GitHub operations using the `gh` CLI tool and GitHub REST/GraphQL APIs. Use this skill when performing any GitHub-related tasks including pull request management, issue tracking, repository operations, workflow automation, and API interactions.
|
|
|
|
## When to Use This Skill
|
|
|
|
This skill activates for tasks involving:
|
|
- Creating, viewing, editing, or merging pull requests
|
|
- Managing GitHub issues or repository settings
|
|
- Querying GitHub API endpoints (REST or GraphQL)
|
|
- Working with GitHub Actions workflows
|
|
- Performing bulk operations on repositories
|
|
- Integrating with GitHub Enterprise
|
|
- Automating GitHub operations via CLI or API
|
|
|
|
## Core Operations
|
|
|
|
### Pull Requests
|
|
|
|
```bash
|
|
# Create PR with NOJIRA prefix (bypasses JIRA enforcement checks)
|
|
gh pr create --title "NOJIRA: Your PR title" --body "PR description"
|
|
|
|
# List and view PRs
|
|
gh pr list --state open
|
|
gh pr view 123
|
|
|
|
# Manage PRs
|
|
gh pr merge 123 --squash
|
|
gh pr review 123 --approve
|
|
gh pr comment 123 --body "LGTM"
|
|
```
|
|
|
|
📚 See `references/pr_operations.md` for comprehensive PR workflows
|
|
|
|
**PR Title Convention:**
|
|
- With JIRA ticket: `GR-1234: Descriptive title`
|
|
- Without JIRA ticket: `NOJIRA: Descriptive title`
|
|
|
|
### Issues
|
|
|
|
```bash
|
|
# Create and manage issues
|
|
gh issue create --title "Bug: Issue title" --body "Issue description"
|
|
gh issue list --state open --label bug
|
|
gh issue edit 456 --add-label "priority-high"
|
|
gh issue close 456
|
|
```
|
|
|
|
📚 See `references/issue_operations.md` for detailed issue management
|
|
|
|
### Repositories
|
|
|
|
```bash
|
|
# View and manage repos
|
|
gh repo view --web
|
|
gh repo clone owner/repo
|
|
gh repo create my-new-repo --public
|
|
```
|
|
|
|
### Workflows
|
|
|
|
```bash
|
|
# Manage GitHub Actions
|
|
gh workflow list
|
|
gh workflow run workflow-name
|
|
gh run watch run-id
|
|
gh run download run-id
|
|
```
|
|
|
|
📚 See `references/workflow_operations.md` for advanced workflow operations
|
|
|
|
### GitHub API
|
|
|
|
The `gh api` command provides direct access to GitHub REST API endpoints. Refer to `references/api_reference.md` for comprehensive API endpoint documentation.
|
|
|
|
**Basic API operations:**
|
|
```bash
|
|
# Get PR details via API
|
|
gh api repos/{owner}/{repo}/pulls/{pr_number}
|
|
|
|
# Add PR comment
|
|
gh api repos/{owner}/{repo}/issues/{pr_number}/comments \
|
|
-f body="Comment text"
|
|
|
|
# List workflow runs
|
|
gh api repos/{owner}/{repo}/actions/runs
|
|
```
|
|
|
|
For complex queries requiring multiple related resources, use GraphQL. See `references/api_reference.md` for GraphQL examples.
|
|
|
|
## Authentication and Configuration
|
|
|
|
```bash
|
|
# Login to GitHub
|
|
gh auth login
|
|
|
|
# Login to GitHub Enterprise
|
|
gh auth login --hostname github.enterprise.com
|
|
|
|
# Check authentication status
|
|
gh auth status
|
|
|
|
# Set default repository
|
|
gh repo set-default owner/repo
|
|
|
|
# Configure gh settings
|
|
gh config set editor vim
|
|
gh config set git_protocol ssh
|
|
gh config list
|
|
```
|
|
|
|
## Output Formats
|
|
|
|
Control output format for programmatic processing:
|
|
|
|
```bash
|
|
# JSON output
|
|
gh pr list --json number,title,state,author
|
|
|
|
# JSON with jq processing
|
|
gh pr list --json number,title | jq '.[] | select(.title | contains("bug"))'
|
|
|
|
# Template output
|
|
gh pr list --template '{{range .}}{{.number}}: {{.title}}{{"\n"}}{{end}}'
|
|
```
|
|
|
|
📚 See `references/best_practices.md` for shell patterns and automation strategies
|
|
|
|
## Quick Reference
|
|
|
|
**Most Common Operations:**
|
|
```bash
|
|
gh pr create --title "NOJIRA: Title" --body "Description" # Create PR
|
|
gh pr list # List PRs
|
|
gh pr view 123 # View PR details
|
|
gh pr checks 123 # Check PR status
|
|
gh pr merge 123 --squash # Merge PR
|
|
gh pr comment 123 --body "LGTM" # Comment on PR
|
|
gh issue create --title "Title" --body "Description" # Create issue
|
|
gh workflow run workflow-name # Run workflow
|
|
gh repo view --web # Open repo in browser
|
|
gh api repos/{owner}/{repo}/pulls/{pr_number} # Direct API call
|
|
```
|
|
|
|
## Resources
|
|
|
|
### references/pr_operations.md
|
|
|
|
Comprehensive pull request operations including:
|
|
- Detailed PR creation patterns (JIRA integration, body from file, targeting branches)
|
|
- Viewing and filtering strategies
|
|
- Review workflows and approval patterns
|
|
- PR lifecycle management
|
|
- Bulk operations and automation examples
|
|
|
|
Load this reference when working with complex PR workflows or bulk operations.
|
|
|
|
### references/issue_operations.md
|
|
|
|
Detailed issue management examples including:
|
|
- Issue creation with labels and assignees
|
|
- Advanced filtering and search
|
|
- Issue lifecycle and state management
|
|
- Bulk operations on multiple issues
|
|
- Integration with PRs and projects
|
|
|
|
Load this reference when managing issues at scale or setting up issue workflows.
|
|
|
|
### references/workflow_operations.md
|
|
|
|
Advanced GitHub Actions workflow operations including:
|
|
- Workflow triggers and manual runs
|
|
- Run monitoring and debugging
|
|
- Artifact management
|
|
- Secrets and variables
|
|
- Performance optimization strategies
|
|
|
|
Load this reference when working with CI/CD workflows or debugging failed runs.
|
|
|
|
### references/best_practices.md
|
|
|
|
Shell scripting patterns and automation strategies including:
|
|
- Output formatting (JSON, templates, jq)
|
|
- Pagination and large result sets
|
|
- Error handling and retry logic
|
|
- Bulk operations and parallel execution
|
|
- Enterprise GitHub patterns
|
|
- Performance optimization
|
|
|
|
Load this reference when building automation scripts or handling enterprise deployments.
|
|
|
|
### references/api_reference.md
|
|
|
|
Contains comprehensive GitHub REST API endpoint documentation including:
|
|
- Complete API endpoint reference with examples
|
|
- Request/response formats
|
|
- Authentication patterns
|
|
- Rate limiting guidance
|
|
- Webhook configurations
|
|
- Advanced GraphQL query patterns
|
|
|
|
Load this reference when performing complex API operations or when needing detailed endpoint specifications.
|