Azure DevOps のプルリクのタグ(ラベル):付け外し・作業項目と共有の名前・REST API
プルリクエストのタグは、WIP・hotfix・Bug のような短い語で、変更がどんな状態か、何のための変更かをレビューする人に伝えます。Web の画面ではタグ、REST API と Visual Studio では同じものをラベルと呼びます。以下は Microsoft の プルリクエストの作成(タグの追加)、プルリクエストの表示・絞り込み・オープン、REST の Pull Request Labels にもとづく説明です。
Web の画面でのタグの付け外し
- 作成時:New pull request の画面の Tags 欄にタグの名前を入力します。
- 作成後:プルリクの Overview の Tags 欄で付け外しします。
- タグはプルリクの画面と、プルリクの一覧の両方に出ます。
- プルリクからタグを外しても、タグの名前そのものは消えません。同じタグを持つほかのプルリクや作業項目はそのままです。
タグの名前は作業項目と共有
- プルリクのタグの名前と作業項目のタグの名前は、組織(Azure DevOps Server ではプロジェクト コレクション)で1つの置き場を共有します。
- 上限は合わせて15万個の異なる名前です。まだどのプルリクにも作業項目にも使われていない名前をプルリクに付けると、その置き場に新しい名前が1つ増えます。
タグでプルリクを探す
- Visual Studio 2022 のプルリクの一覧(Git > お使いの Git サービス > View Pull Requests)は、作成者・ラベルなどで絞り込めます。
az repos pr listにはタグで絞る引数がありません。絞れるのは作成者・レビュー担当者・元ブランチ・マージ先ブランチ・状態・リポジトリ・プロジェクトです。
REST API
GET …/_apis/git/repositories/{repositoryId}/pullRequests/{pullRequestId}/labels?api-version=7.1で、プルリクのタグを一覧します。- 同じアドレスへの
POST(本文は{"name": "hotfix"})は、タグがまだ無ければ作ってからプルリクに付けます。項目は名前だけで、答えはタグの定義(id・name・active)です。 DELETE …/labels/{labelIdOrName}は、名前か id でプルリクからタグを外します。タグそのものは消えません。- 付け外しには、トークンに Code (Read & write) が要ります。Microsoft のリファレンスには、リポジトリの読み取り権限がある利用者ならラベルの追加・取得・削除ができるとあります。
- REST 7.0(Azure DevOps Server 2022)で正式版になりました。それより古いサーバーでは 4.1(TFS 2018 Update 2)までさかのぼってプレビュー版があり、
api-version=6.0-preview.1・5.0-preview.1のように書きます。
IntelliJ IDEA でのタグ
Azure DevOps Pull Requests は、Lesstep が作っている JetBrains IDE(2024.1 以降)と Android Studio のプラグインです。Azure DevOps Services と Azure DevOps Server のプルリクエストを IDE のツールウィンドウに並べます。1.0.62 からは、一覧の各行のブランチの後ろにタグを出し、概要では説明の上に出します。「タグを編集」(Pro)では、タグをカンマ区切りで並べた欄が1つ開きます。名前を書き足せば付き、消せば外れます。名前の大文字と小文字は区別せず、変わった分だけを送ります。レビューの受信箱とタグの表示は無料、投票・コメント・タグの編集・レビュー担当者の追加・完了・プルリクの作成は Pro(30日間の無料試用つき)です。画面は日本語です。
Azure DevOps と Visual Studio は Microsoft Corporation の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは Microsoft・JetBrains のいずれとも提携しておらず、承認も受けていません。
ほかに:プルリクと作業項目 · 下書きのプルリクエスト · 状態チェック · 必須のレビュー担当者とパスの絞り込み · English