Skip to content

Files

69 lines (49 loc) · 2.48 KB

GitHub_Get_files_added_on_pull_request.md

File metadata and controls

69 lines (49 loc) · 2.48 KB



Template request | Bug report | Generate Data Product

Tags: #github #pullrequest #files #merge #api #python

Author: Florent Ravenel

Description: This notebook get the files added on a pull request using the GitHub API.

References:

Input

Import libraries

import requests
import naas

Setup Variables

  • token: Create your personal access token here
  • owner: owner of the repository
  • repo: name of the repository
  • pull_number: number of the pull request
  • file_status: file types to be extracted: "added", "removed", "renamed"
token = naas.secret.get("GITHUB_TOKEN") or "GITHUB_TOKEN"
owner = "jupyter-naas"
repo = "awesome-notebooks"
pull_number = 1496
file_status = "added"

Model

Get files added on pull request

def get_files_added_on_pull_request(owner, repo, pull_number, file_status):
    files = []
    url = f"https://api.github.com/repos/{owner}/{repo}/pulls/{pull_number}/files"
    response = requests.get(url)
    files_changed = response.json()
    for file in files_changed:
        filename = file["filename"]
        status = file["status"]
        if status == file_status:
            files.append(filename)
    return files

files_added = get_files_added_on_pull_request(owner, repo, pull_number, file_status)

Output

Display result

if len(files_added) > 0:
    for file in files_added:
        print("File added:", file)