def external_repo_scan(): repo = request.args.get('r') report_directory = request.args.get('p') json_results = init.start(repo, report_directory, internal=False) if not os.path.exists(os.path.dirname(report_directory)): os.makedirs(os.path.dirname(report_directory), mode=0777) results = str(json.dumps(json_results)) fhandle = open(report_directory, "w") content = fhandle.write(results) fhandle.close() log.logger.debug("Report created at %s" % (report_directory)) return jsonify(json_results)
def gitHook(): try: filename = '%s.json' % (str(int(time.time()))) parsed = json.loads(request.form['payload']) repo = parsed['repository']['full_name'] head_commitId = parsed['head_commit']['id'] user = parsed['repository']['owner']['name'] url = parsed['repository']['html_url'] if url.startswith(os.environ['ext_git_url']): internal = False r = requests.get('%s/repos/%s/git/commits/%s?access_token=%s' % (os.environ['ext_git_apiurl'], repo, head_commitId, os.environ['ext_git_token'])) elif url.startswith(os.environ['int_git_url']): internal = True r = requests.get('%s/repos/%s/git/commits/%s?access_token=%s' % (os.environ['int_git_apiurl'], repo, head_commitId, os.environ['int_git_apiurl'])) if r.json()['message'] == parsed['head_commit']['message']: report_directory = '%s/%s/commit-%s/%s/%s' % ( os.environ['reportpath'], user, head_commitId, repo, filename) json_results = init.start(repo, report_directory, internal) if not os.path.exists(os.path.dirname(report_directory)): os.makedirs(os.path.dirname(report_directory), mode=0777) results = str(json.dumps(json_results)) fhandle = open(report_directory, "w") content = fhandle.write(results) fhandle.close() log.logger.debug("Report created at %s" % (report_directory)) return jsonify(json_results) except Exception as e: log.logger.error(str(e)) return ""