>  기사  >  개발 도구  >  gitlab에서 MR에 의해 수정된 파일 목록을 얻는 방법

gitlab에서 MR에 의해 수정된 파일 목록을 얻는 방법

PHPz
PHPz원래의
2023-03-31 09:03:321896검색

GitLab의 코드 리뷰는 매우 중요한 링크이며, 그 중 Merge Request(MR)가 매우 중요한 방법입니다. 코드 편집기가 GitLab에 MR을 제출하면 MR 페이지에서 요청을 논의하고 변경할 수 있습니다.

MR을 논의할 때 MR에서 수정된 파일 목록을 알면 개발자가 변경한 내용을 더 잘 이해하고 평가하는 데 도움이 될 수 있습니다. 이 글에서는 GitLab에서 MR로 수정된 파일 목록을 가져오는 방법을 소개합니다.

방법 1: 명령줄을 통해 가져옵니다

먼저 저장소를 로컬로 복제해야 합니다.

다음으로 GitLab의 API를 설치해야 합니다. 다음과 같은 방법으로 pip를 사용하여 설치할 수 있습니다.

pip install python-gitlab

설치가 완료된 후 repo의 ID와 개인 토큰을 가져와야 합니다. repo 홈페이지를 방문하여 개인 토큰을 얻을 수 있습니다 --> 오른쪽 상단에 있는 세 개의 점을 클릭하세요 --> "설정"을 방문하세요 --> "액세스 토큰"을 방문하세요.

프라이빗 토큰을 얻은 후 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'])

를 변경할 수 있습니다 &lt 코드 조각에서 ;project_id><merge_request_id>를 실제 숫자로 바꾸세요. <project_id><merge_request_id>替换为实际的数字。

方法二:通过GitLab API获取

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

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

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

방법 2: GitLab API를 통해 획득

먼저 repo의 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.