mirror of
https://github.com/github/awesome-copilot.git
synced 2026-03-13 20:55:13 +00:00
Merge pull request #841 from fondoger/fondoger/ado-skill-update
Split azure-devops-cli SKILL.md into samller files
This commit is contained in:
333
skills/azure-devops-cli/references/repos-and-prs.md
Normal file
333
skills/azure-devops-cli/references/repos-and-prs.md
Normal file
@@ -0,0 +1,333 @@
|
||||
# Repositories & Pull Requests
|
||||
|
||||
## Table of Contents
|
||||
- [Repositories](#repositories)
|
||||
- [Repository Import](#repository-import)
|
||||
- [Pull Requests](#pull-requests)
|
||||
- [Git References](#git-references)
|
||||
- [Repository Policies](#repository-policies)
|
||||
|
||||
---
|
||||
|
||||
## Repositories
|
||||
|
||||
### List Repositories
|
||||
|
||||
```bash
|
||||
az repos list --org https://dev.azure.com/{org} --project {project}
|
||||
az repos list --output table
|
||||
```
|
||||
|
||||
### Show Repository Details
|
||||
|
||||
```bash
|
||||
az repos show --repository {repo-name} --project {project}
|
||||
```
|
||||
|
||||
### Create Repository
|
||||
|
||||
```bash
|
||||
az repos create --name {repo-name} --project {project}
|
||||
```
|
||||
|
||||
### Delete Repository
|
||||
|
||||
```bash
|
||||
az repos delete --id {repo-id} --project {project} --yes
|
||||
```
|
||||
|
||||
### Update Repository
|
||||
|
||||
```bash
|
||||
az repos update --id {repo-id} --name {new-name} --project {project}
|
||||
```
|
||||
|
||||
## Repository Import
|
||||
|
||||
### Import Git Repository
|
||||
|
||||
```bash
|
||||
# Import from public Git repository
|
||||
az repos import create \
|
||||
--git-source-url https://github.com/user/repo \
|
||||
--repository {repo-name}
|
||||
|
||||
# Import with authentication
|
||||
az repos import create \
|
||||
--git-source-url https://github.com/user/private-repo \
|
||||
--repository {repo-name} \
|
||||
--user {username} \
|
||||
--password {password-or-pat}
|
||||
```
|
||||
|
||||
## Pull Requests
|
||||
|
||||
### Create Pull Request
|
||||
|
||||
```bash
|
||||
# Basic PR creation
|
||||
az repos pr create \
|
||||
--repository {repo} \
|
||||
--source-branch {source-branch} \
|
||||
--target-branch {target-branch} \
|
||||
--title "PR Title" \
|
||||
--description "PR description" \
|
||||
--open
|
||||
|
||||
# PR with work items
|
||||
az repos pr create \
|
||||
--repository {repo} \
|
||||
--source-branch {source-branch} \
|
||||
--work-items 63 64
|
||||
|
||||
# Draft PR with reviewers
|
||||
az repos pr create \
|
||||
--repository {repo} \
|
||||
--source-branch feature/new-feature \
|
||||
--target-branch main \
|
||||
--title "Feature: New functionality" \
|
||||
--draft true \
|
||||
--reviewers user1@example.com user2@example.com \
|
||||
--required-reviewers lead@example.com \
|
||||
--labels "enhancement" "backlog"
|
||||
```
|
||||
|
||||
### List Pull Requests
|
||||
|
||||
```bash
|
||||
# All PRs
|
||||
az repos pr list --repository {repo}
|
||||
|
||||
# Filter by status
|
||||
az repos pr list --repository {repo} --status active
|
||||
|
||||
# Filter by creator
|
||||
az repos pr list --repository {repo} --creator {email}
|
||||
|
||||
# Output as table
|
||||
az repos pr list --repository {repo} --output table
|
||||
```
|
||||
|
||||
### Show PR Details
|
||||
|
||||
```bash
|
||||
az repos pr show --id {pr-id}
|
||||
az repos pr show --id {pr-id} --open # Open in browser
|
||||
```
|
||||
|
||||
### Update PR (Complete/Abandon/Draft)
|
||||
|
||||
```bash
|
||||
# Complete PR
|
||||
az repos pr update --id {pr-id} --status completed
|
||||
|
||||
# Abandon PR
|
||||
az repos pr update --id {pr-id} --status abandoned
|
||||
|
||||
# Set to draft
|
||||
az repos pr update --id {pr-id} --draft true
|
||||
|
||||
# Publish draft PR
|
||||
az repos pr update --id {pr-id} --draft false
|
||||
|
||||
# Auto-complete when policies pass
|
||||
az repos pr update --id {pr-id} --auto-complete true
|
||||
|
||||
# Set title and description
|
||||
az repos pr update --id {pr-id} --title "New title" --description "New description"
|
||||
```
|
||||
|
||||
### Checkout PR Locally
|
||||
|
||||
```bash
|
||||
# Checkout PR branch
|
||||
az repos pr checkout --id {pr-id}
|
||||
|
||||
# Checkout with specific remote
|
||||
az repos pr checkout --id {pr-id} --remote-name upstream
|
||||
```
|
||||
|
||||
### Vote on PR
|
||||
|
||||
```bash
|
||||
az repos pr set-vote --id {pr-id} --vote approve
|
||||
az repos pr set-vote --id {pr-id} --vote approve-with-suggestions
|
||||
az repos pr set-vote --id {pr-id} --vote reject
|
||||
az repos pr set-vote --id {pr-id} --vote wait-for-author
|
||||
az repos pr set-vote --id {pr-id} --vote reset
|
||||
```
|
||||
|
||||
### PR Reviewers
|
||||
|
||||
```bash
|
||||
# Add reviewers
|
||||
az repos pr reviewer add --id {pr-id} --reviewers user1@example.com user2@example.com
|
||||
|
||||
# List reviewers
|
||||
az repos pr reviewer list --id {pr-id}
|
||||
|
||||
# Remove reviewers
|
||||
az repos pr reviewer remove --id {pr-id} --reviewers user1@example.com
|
||||
```
|
||||
|
||||
### PR Work Items
|
||||
|
||||
```bash
|
||||
# Add work items to PR
|
||||
az repos pr work-item add --id {pr-id} --work-items {id1} {id2}
|
||||
|
||||
# List PR work items
|
||||
az repos pr work-item list --id {pr-id}
|
||||
|
||||
# Remove work items from PR
|
||||
az repos pr work-item remove --id {pr-id} --work-items {id1}
|
||||
```
|
||||
|
||||
### PR Policies
|
||||
|
||||
```bash
|
||||
# List policies for a PR
|
||||
az repos pr policy list --id {pr-id}
|
||||
|
||||
# Queue policy evaluation for a PR
|
||||
az repos pr policy queue --id {pr-id} --evaluation-id {evaluation-id}
|
||||
```
|
||||
|
||||
## Git References
|
||||
|
||||
### List References (Branches)
|
||||
|
||||
```bash
|
||||
az repos ref list --repository {repo}
|
||||
az repos ref list --repository {repo} --query "[?name=='refs/heads/main']"
|
||||
```
|
||||
|
||||
### Create Reference (Branch)
|
||||
|
||||
```bash
|
||||
az repos ref create --name refs/heads/new-branch --object-type commit --object {commit-sha}
|
||||
```
|
||||
|
||||
### Delete Reference (Branch)
|
||||
|
||||
```bash
|
||||
az repos ref delete --name refs/heads/old-branch --repository {repo} --project {project}
|
||||
```
|
||||
|
||||
### Lock/Unlock Branch
|
||||
|
||||
```bash
|
||||
az repos ref lock --name refs/heads/main --repository {repo} --project {project}
|
||||
az repos ref unlock --name refs/heads/main --repository {repo} --project {project}
|
||||
```
|
||||
|
||||
## Repository Policies
|
||||
|
||||
### List All Policies
|
||||
|
||||
```bash
|
||||
az repos policy list --repository {repo-id} --branch main
|
||||
```
|
||||
|
||||
### Create/Update/Delete Policy
|
||||
|
||||
```bash
|
||||
# Create from config file
|
||||
az repos policy create --config policy.json
|
||||
|
||||
# Update
|
||||
az repos policy update --id {policy-id} --config updated-policy.json
|
||||
|
||||
# Delete
|
||||
az repos policy delete --id {policy-id} --yes
|
||||
```
|
||||
|
||||
### Approver Count Policy
|
||||
|
||||
```bash
|
||||
az repos policy approver-count create \
|
||||
--blocking true \
|
||||
--enabled true \
|
||||
--branch main \
|
||||
--repository-id {repo-id} \
|
||||
--minimum-approver-count 2 \
|
||||
--creator-vote-counts true
|
||||
```
|
||||
|
||||
### Build Policy
|
||||
|
||||
```bash
|
||||
az repos policy build create \
|
||||
--blocking true \
|
||||
--enabled true \
|
||||
--branch main \
|
||||
--repository-id {repo-id} \
|
||||
--build-definition-id {definition-id} \
|
||||
--queue-on-source-update-only true \
|
||||
--valid-duration 720
|
||||
```
|
||||
|
||||
### Work Item Linking Policy
|
||||
|
||||
```bash
|
||||
az repos policy work-item-linking create \
|
||||
--blocking true \
|
||||
--branch main \
|
||||
--enabled true \
|
||||
--repository-id {repo-id}
|
||||
```
|
||||
|
||||
### Required Reviewer Policy
|
||||
|
||||
```bash
|
||||
az repos policy required-reviewer create \
|
||||
--blocking true \
|
||||
--enabled true \
|
||||
--branch main \
|
||||
--repository-id {repo-id} \
|
||||
--required-reviewers user@example.com
|
||||
```
|
||||
|
||||
### Merge Strategy Policy
|
||||
|
||||
```bash
|
||||
az repos policy merge-strategy create \
|
||||
--blocking true \
|
||||
--enabled true \
|
||||
--branch main \
|
||||
--repository-id {repo-id} \
|
||||
--allow-squash true \
|
||||
--allow-rebase true \
|
||||
--allow-no-fast-forward true
|
||||
```
|
||||
|
||||
### Case Enforcement Policy
|
||||
|
||||
```bash
|
||||
az repos policy case-enforcement create \
|
||||
--blocking true \
|
||||
--enabled true \
|
||||
--branch main \
|
||||
--repository-id {repo-id}
|
||||
```
|
||||
|
||||
### Comment Required Policy
|
||||
|
||||
```bash
|
||||
az repos policy comment-required create \
|
||||
--blocking true \
|
||||
--enabled true \
|
||||
--branch main \
|
||||
--repository-id {repo-id}
|
||||
```
|
||||
|
||||
### File Size Policy
|
||||
|
||||
```bash
|
||||
az repos policy file-size create \
|
||||
--blocking true \
|
||||
--enabled true \
|
||||
--branch main \
|
||||
--repository-id {repo-id} \
|
||||
--maximum-file-size 10485760 # 10MB in bytes
|
||||
```
|
||||
Reference in New Issue
Block a user