Rumah > alat pembangunan > git > teks badan

Bagaimana untuk mendapatkan senarai fail yang diubah suai oleh MR dalam gitlab

PHPz
Lepaskan: 2023-03-31 10:35:53
asal
1975 orang telah melayarinya

Semakan kod dalam GitLab ialah pautan yang sangat penting, antaranya Merge Request (MR) ialah kaedah yang sangat penting. Apabila editor kod menyerahkan MR pada GitLab, anda boleh berbincang dan menukar permintaan pada halaman MR.

Apabila membincangkan MR, mengetahui senarai fail yang diubah suai dalam MR boleh membantu lebih memahami dan menilai perubahan yang dibuat oleh pembangun. Artikel ini akan memperkenalkan anda cara mendapatkan senarai fail yang diubah suai oleh MR dalam GitLab.

Kaedah 1: Dapatkannya melalui baris arahan

Pertama, anda perlu mengklon repo secara setempat.

Seterusnya, kita perlu memasang API GitLab. Anda boleh menggunakan pip untuk memasang dengan cara berikut:

pip install python-gitlab
Salin selepas log masuk

Selepas pemasangan selesai, kami perlu mendapatkan ID repo dan token peribadi. Anda boleh mendapatkan token peribadi dengan melawati halaman utama repo -->

Selepas mendapatkan token persendirian, anda perlu menetapkan pembolehubah persekitaran yang diperlukan oleh API GitLab:

export GITLAB_PRIVATE_TOKEN=<your_access_token>
export GITLAB_URL=https://<your_gitlab_server>/api/v4
Salin selepas log masuk

Sekarang, kita boleh menggunakan arahan berikut untuk mendapatkan fail yang diubah suai dalam 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'])
Salin selepas log masuk

Anda boleh menggantikan <project_id> dan <merge_request_id> dalam coretan kod dengan nombor sebenar.

Kaedah 2: Dapatkan melalui API GitLab

Mula-mula, anda perlu mendapatkan ID repo dan token peribadi Sila rujuk Kaedah 1 untuk proses ini.

Di bawah, kami akan memperkenalkan anda cara menggunakan API GitLab untuk mendapatkan fail yang diubah suai dalam MR.

Kami boleh menghantar permintaan berikut (sila gantikan <your_gitlab_server>, <project_id>, <merge_request_id> dan maklumat lain):

GET https://<your_gitlab_server>/api/v4/projects/<project_id>/merge_requests/<merge_request_id>/changes
Salin selepas log masuk

Tanggapan akan kelihatan seperti ini:

{
  "changes": [
    {
      "old_path": "Old file path",
      "new_path": "New file path"
    },
    ...
  ]
}
Salin selepas log masuk

Kami boleh menggunakan kod Python berikut dalam kod untuk menghuraikan respons dan mendapatkan senarai fail:

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"])
Salin selepas log masuk

Anda boleh mengubah suai kod yang mengeluarkan senarai fail mengikut keperluan anda.

Ringkasan

Dalam artikel ini, kami memperkenalkan anda cara untuk mendapatkan senarai fail yang diubah suai oleh MR melalui baris arahan dan API GitLab. Bergantung pada keperluan anda, anda boleh memilih mana-mana kaedah. Tidak kira kaedah yang anda pilih, kaedah ini akan membantu anda memahami dengan lebih baik perubahan dalam semakan kod.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan senarai fail yang diubah suai oleh MR dalam gitlab. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!