Maison  >  Article  >  outils de développement  >  Comment faire modifier la liste des fichiers par MR dans gitlab

Comment faire modifier la liste des fichiers par MR dans gitlab

PHPz
PHPzoriginal
2023-03-31 09:03:321996parcourir

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 &lt 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>

Méthode 2 : Obtenir via l'API GitLab

Tout d'abord, vous devez obtenir l'ID du dépôt et le jeton privé. Veuillez vous référer à la méthode 1 pour ce processus.

Ci-dessous, nous allons vous présenter comment utiliser l'API GitLab pour obtenir des fichiers modifiés dans MR.

Nous pouvons envoyer la demande suivante (veuillez remplacer <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
La réponse ressemblera à ceci :

{
  "changes": [
    {
      "old_path": "Old file path",
      "new_path": "New file path"
    },
    ...
  ]
}
Nous pouvons utiliser le code Python suivant dans notre code pour analyser la réponse et obtenir la liste des fichiers :🎜
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"])
🎜Vous pouvez modifier le code qui génère la liste des fichiers en fonction de votre besoins. 🎜🎜Résumé🎜🎜Dans cet article, nous vous avons présenté comment modifier la liste des fichiers par MR via la ligne de commande et l'API GitLab. En fonction de vos besoins, vous pouvez choisir n'importe quelle méthode. Quelle que soit la méthode que vous choisissez, elle vous aidera à mieux comprendre les changements apportés à la révision du code. 🎜

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn