Heim  >  Artikel  >  Entwicklungswerkzeuge  >  So erhalten Sie die von MR geänderte Dateiliste in Gitlab

So erhalten Sie die von MR geänderte Dateiliste in Gitlab

PHPz
PHPzOriginal
2023-03-31 09:03:321896Durchsuche

Die Codeüberprüfung in GitLab ist ein sehr wichtiger Link, wobei Merge Request (MR) eine sehr wichtige Methode ist. Wenn der Code-Editor einen MR auf GitLab einreicht, können Sie Anfragen auf der MR-Seite besprechen und ändern.

Wenn es um MR geht, kann die Kenntnis der Liste der in MR geänderten Dateien dabei helfen, die von Entwicklern vorgenommenen Änderungen besser zu verstehen und zu bewerten. In diesem Artikel erfahren Sie, wie Sie die von MR in GitLab geänderte Dateiliste erhalten.

Methode 1: Holen Sie es sich über die Befehlszeile

Zunächst müssen Sie das Repo lokal klonen.

Als nächstes müssen wir die API von GitLab installieren. Sie können es mit pip wie folgt installieren:

pip install python-gitlab

Nachdem die Installation abgeschlossen ist, müssen wir die ID und den privaten Token des Repos erhalten. Sie können das private Token erhalten, indem Sie die Repo-Homepage besuchen. Klicken Sie auf die drei Punkte in der oberen rechten Ecke. Besuchen Sie „Einstellungen“.

Nach Erhalt des privaten Tokens müssen Sie die für die GitLab-API erforderlichen Umgebungsvariablen festlegen:

export GITLAB_PRIVATE_TOKEN=<your_access_token>
export GITLAB_URL=https://<your_gitlab_server>/api/v4

Jetzt können wir den folgenden Befehl verwenden, um die geänderten Dateien in MR abzurufen:

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'])

Sie können den ändern &lt im Code-Snippet Ersetzen Sie ;project_id> und <merge_request_id> durch tatsächliche Zahlen. <project_id><merge_request_id>替换为实际的数字。

方法二:通过GitLab API获取

首先,你需要获取到repo的ID和私有token,这个过程请参考方法一。

下面,我们将向你介绍如何使用GitLab API来获取MR中的修改文件。

我们可以发送以下请求(请替换<your_gitlab_server><project_id><merge_request_id>

Methode 2: Über die GitLab-API abrufen

Zunächst müssen Sie die ID und den privaten Token des Repos abrufen. Bitte beachten Sie für diesen Vorgang Methode 1.

Im Folgenden stellen wir Ihnen vor, wie Sie die GitLab-API verwenden, um geänderte Dateien in MR zu erhalten.

Wir können die folgende Anfrage senden (bitte ersetzen Sie <your_gitlab_server>, <project_id>, <merge_request_id> und andere Informationen) :

GET https://<your_gitlab_server>/api/v4/projects/<project_id>/merge_requests/<merge_request_id>/changes
Die Antwort sieht so aus:

{
  "changes": [
    {
      "old_path": "Old file path",
      "new_path": "New file path"
    },
    ...
  ]
}
Wir können den folgenden Python-Code in unserem Code verwenden, um die Antwort zu analysieren und die Dateiliste zu erhalten:🎜
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"])
🎜Sie können den Code, der die Dateiliste ausgibt, entsprechend Ihren Anforderungen ändern Bedürfnisse. 🎜🎜Zusammenfassung🎜🎜In diesem Artikel haben wir Ihnen vorgestellt, wie Sie die Dateiliste von MR über die Befehlszeile und die GitLab-API ändern können. Je nach Bedarf können Sie eine beliebige Methode wählen. Egal für welche Methode Sie sich entscheiden, sie hilft Ihnen, die Änderungen bei der Codeüberprüfung besser zu verstehen. 🎜

Das obige ist der detaillierte Inhalt vonSo erhalten Sie die von MR geänderte Dateiliste in Gitlab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn