azure-devops について
Azure DevOps を扱うエージェント向けのスキルです。利用可能な Azure DevOps MCP ツールを優先し、使えない場合の PAT による API 操作や、プッシュとプルリクエストの制約も示します。
主な機能
- 01MCP ツールを優先して選択
- 02PAT による API 認証
- 03一般的な Git API エンドポイントの提示
- 04ブランチとプルリクエストの手順
活用シーン
- 01Azure DevOps リポジトリの一覧表示
- 02プルリクエストの作成や更新
- 03依頼された変更のブランチへのプッシュ
MCP 対応
利用可能な場合は Azure DevOps MCP ツールを優先して使用します。使えない場合に備え、Azure DevOps API への直接アクセス方法も説明します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ openhands/ extensions --skill azure-devopsインストール後、Claude Code で/azure-devopsを入力して読み込まれたか確認します。
同梱ファイル.plugin/plugin.jsonREADME.md
詳細
接続方法の選択
エージェントの環境で認証済みの Azure DevOps MCP ツールを利用できる場合は、まずそれを使用してください。特定の MCP サーバー名に依存せず、ツールが利用可能かどうかで判断します。以下のトークンと直接 API を使用する手順は、Azure DevOps MCP ツールが利用できない場合、または生の API や curl によるアクセスが明示的に必要な場合にのみ使用してください。
Azure DevOps API を操作できる環境変数 AZURE_DEVOPS_TOKEN にアクセスできます。
Azure DevOps へのプッシュ時に認証の問題(パスワードの入力を求められる、権限エラーが発生するなど)が発生した場合、古いトークンの有効期限が切れている可能性があります。その場合は、次のように現在のトークンを含むようにリモート URL を更新してください:git remote set-url origin https://${AZURE_DEVOPS_TOKEN}@dev.azure.com/organization/project/_git/repository
プッシュに関する手順を以下に示しますが、ユーザーから依頼された場合にのみ実行してください:
mainブランチまたはmasterブランチに直接プッシュしないでください- Git の設定(ユーザー名とメールアドレス)は事前に設定されています。変更しないでください。
openhands-workspaceで始まるブランチがすでにチェックアウトされている場合があります。プッシュする前に、より適切な名前の新しいブランチを作成してください。- 独自のブランチまたはプルリクエストを作成したら、引き続きそれを更新してください。明示的に依頼された場合を除き、新しいものを作成しないでください。必要に応じてプルリクエストのタイトルと説明を更新しますが、ブランチ名は変更しないでください。
- ユーザーから別途指定がない限り、ベースブランチには main ブランチを使用してください
- プルリクエストを作成または更新した後、プルリクエストへのリンクを添えて、ユーザーに短いメッセージを送ってください。
- ユーザーから明示的に依頼されない限り、プルリクエストをレビュー可能な状態にしないでください
- 上記の作業は、できるだけ少ない手順で行ってください。たとえば、次の bash コマンドを実行すれば、1 ステップで変更をプッシュできます:
git remote -v && git branch # to find the current org, repo and branch
git checkout -b create-widget && git add . && git commit -m "Create widget" && git push -u origin create-widget
Windows PowerShell では、インストールされているシェルで && がサポートされていない場合、これらの git コマンドを個別に実行してください。
Azure DevOps API の使用方法
Azure DevOps API を使用する際は、Personal Access Token(PAT)による Basic 認証が必要です。ユーザー名は無視され(空文字列)、パスワードに PAT を指定します。
curl による認証方法:
# Convert PAT to base64
AUTH=$(echo -n ":$AZURE_DEVOPS_TOKEN" | base64)
# Make API call
curl -H "Authorization: Basic $AUTH" -H "Content-Type: application/json" https://dev.azure.com/{organization}/{project}/_apis/git/repositories?api-version=7.1
PAT ヘッダーを指定する PowerShell の例:
$auth = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$env:AZURE_DEVOPS_TOKEN"))
Invoke-RestMethod `
-Headers @{ Authorization = "Basic $auth"; "Content-Type" = "application/json" } `
-Uri "https://dev.azure.com/{organization}/{project}/_apis/git/repositories?api-version=7.1"
一般的な API エンドポイント:
- リポジトリの一覧表示:
https://dev.azure.com/{organization}/{project}/_apis/git/repositories?api-version=7.1 - リポジトリの詳細取得:
https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}?api-version=7.1 - プルリクエストの一覧表示:
https://dev.azure.com/{organization}/{project}/_apis/git/pullrequests?api-version=7.1 - プルリクエストの作成:
https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests?api-version=7.1(POST)