示例#1
0
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)
示例#2
0
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 ""