gitlabでMRによって変更されたファイルリストを取得する方法

PHPz
リリース: 2023-03-31 10:35:53
オリジナル
1976 人が閲覧しました

GitLab でのコード レビューは非常に重要なリンクであり、その中でもマージ リクエスト (MR) は非常に重要な方法です。コードエディターが GitLab 上で MR を送信すると、MR ページで議論したりリクエストを変更したりできます。

MR について議論する場合、MR で変更されたファイルのリストを理解すると、開発者による変更をより深く理解し、評価することができます。この記事では、GitLab で MR が変更したファイル一覧を取得する方法を紹介します。

方法 1: コマンド ラインから取得する

まず、リポジトリをローカルに複製する必要があります。

次に、GitLab の API をインストールする必要があります。 pip を使用して次の方法でインストールできます:

pip install python-gitlab
ログイン後にコピー

インストールが完了したら、リポジトリの ID とプライベート トークンを取得する必要があります。プライベート トークンは、リポジトリのホームページにアクセスし、右上隅の 3 つの点をクリックし、[設定] にアクセスし、[アクセス トークン] にアクセスして取得できます。

プライベート トークンを取得した後、GitLab API に必要な環境変数を設定する必要があります:

export GITLAB_PRIVATE_TOKEN=<your_access_token>
export GITLAB_URL=https://<your_gitlab_server>/api/v4
ログイン後にコピー

これで、次のコマンドを使用して、MR で変更されたファイルを取得できます:

gl = gitlab.Gitlab(os.environ['GITLAB_URL'], private_token=os.environ['GITLAB_PRIVATE_TOKEN'])
project = gl.projects.get(<project_id>)
merge = project.merge_requests.get(<merge_request_id>)
changes = merge.changes()
files = changes.get('changes')
for file in files:
    print(file['new_file']['path'])
ログイン後にコピー

コード スニペット内の <project_id><merge_request_id> を実際の数値に置き換えることができます。

方法 2: GitLab API 経由で取得する

まず、リポジトリの ID とプライベート トークンを取得する必要があります。このプロセスについては、方法 1 を参照してください。

以下では、GitLab API を使用して MR で変更されたファイルを取得する方法を紹介します。

次のリクエストを送信できます (<your_gitlab_server><project_id><merge_request_id> およびその他の情報を置き換えてください) ):

GET https://<your_gitlab_server>/api/v4/projects/<project_id>/merge_requests/<merge_request_id>/changes
ログイン後にコピー

応答は次のようになります:

{
  "changes": [
    {
      "old_path": "Old file path",
      "new_path": "New file path"
    },
    ...
  ]
}
ログイン後にコピー

コード内で次の Python コードを使用して応答を解析し、ファイル リストを取得できます:

import os
import requests

url = f"https://<your_gitlab_server>/api/v4/projects/<project_id>/merge_requests/<merge_request_id>/changes"
response = requests.get(url, headers={"PRIVATE-TOKEN": "<your_access_token>"})
changes = response.json()["changes"]

for change in changes:
    print(change["new_path"])
ログイン後にコピー

ニーズに基づいて、ファイルリストを出力するためのコードを変更できます。

概要

この記事では、コマンドラインとGitLab APIを使用してMRによって変更されたファイルリストを取得する方法を紹介しました。ニーズに応じて、任意の方法を選択できます。どの方法を選択する場合でも、コードレビューの変更をより深く理解するのに役立ちます。

以上がgitlabでMRによって変更されたファイルリストを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!