La révision de code dans GitLab est un lien très important, parmi lesquels Merge Request (MR) est une méthode très importante. Une fois que l'éditeur de code a soumis un MR sur GitLab, vous pouvez discuter et modifier les demandes sur la page MR.
Lorsque l'on parle de MR, connaître la liste des fichiers modifiés dans MR peut aider à mieux comprendre et évaluer les modifications apportées par les développeurs. Cet article vous expliquera comment modifier la liste des fichiers par MR dans GitLab.
Méthode 1 : obtenez-le via la ligne de commande
Tout d'abord, vous devez cloner le dépôt localement.
Ensuite, nous devons installer l'API de GitLab. Vous pouvez l'installer en utilisant pip de la manière suivante :
pip install python-gitlab
Une fois l'installation terminée, nous devons obtenir l'ID du dépôt et le jeton privé. Vous pouvez obtenir le jeton privé en visitant la page d'accueil du dépôt --> Cliquez sur les trois points dans le coin supérieur droit --> Visitez « Paramètres » -->
Après avoir obtenu le token privé, vous devez définir les variables d'environnement requises par l'API GitLab :
export GITLAB_PRIVATE_TOKEN=<your_access_token> export GITLAB_URL=https://<your_gitlab_server>/api/v4
Maintenant, nous pouvons utiliser la commande suivante pour obtenir les fichiers modifiés dans 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'])
Vous pouvez modifier le < dans l'extrait de code Remplacez ;project_id>
et <merge_request_id>
par des nombres réels. <project_id>
和<merge_request_id>
替换为实际的数字。
方法二:通过GitLab API获取
首先,你需要获取到repo的ID和私有token,这个过程请参考方法一。
下面,我们将向你介绍如何使用GitLab API来获取MR中的修改文件。
我们可以发送以下请求(请替换<your_gitlab_server>
,<project_id>
,<merge_request_id>
<your_gitlab_server>
, <project_id>
, <merge_request_id>
et d'autres informations) :
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" }, ... ] }
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"])
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!