Notice in the set above, there are two publishing steps, that effectively push the artifacts (products) of the build into the build storage - once the build completes, you can take the approach of configuring a release pipeline (e.g. in scenarios where you have different environments), or a human can just download the results, and then push them manually into the repository. import sys import shutil import os import subprocess import datetime from github import Github def git ( * args ): return subprocess . join ( cloneLocation , ".git" ), "--work-tree=" + cloneLocation , "push" ) # Step 3: Create a pull request against the content repo repo .