|
| 1 | +import json |
| 2 | +import os |
| 3 | +import logging |
| 4 | +from socketdev import socketdev |
| 5 | +logging.basicConfig(level=logging.INFO) |
| 6 | + |
| 7 | + |
| 8 | +sdk = socketdev(token=os.getenv("SOCKET_SECURITY_API_KEY")) |
| 9 | + |
| 10 | +orgs = sdk.org.get() |
| 11 | +if len(orgs) > 0: |
| 12 | + org_id = None |
| 13 | + org_slug = None |
| 14 | + for org_key in orgs['organizations']: |
| 15 | + org = orgs['organizations'][org_key] |
| 16 | + org_id = org_key |
| 17 | + org_slug = org['slug'] |
| 18 | +else: |
| 19 | + print("Something went wrong with getting org info") |
| 20 | + exit(1) |
| 21 | +per_page = 100 |
| 22 | +response = sdk.repos.get(org_slug, per_page=per_page) |
| 23 | +next_page = response.get("nextPage") |
| 24 | +repos = response.get("results") |
| 25 | +while next_page is not None and next_page != 0: |
| 26 | + response = sdk.repos.get(org_slug, per_page=per_page, page=next_page) |
| 27 | + next_page = response.get("nextPage") |
| 28 | + repos.extend(response.get("results")) |
| 29 | + if len(response.get("results", [])) == 0: |
| 30 | + break |
| 31 | + |
| 32 | +# repos = repos[:20] |
| 33 | +head_full_scans_ids = [] |
| 34 | +for repo in repos: |
| 35 | + head_full_scans_id = repo.get("head_full_scan_id") |
| 36 | + if head_full_scans_id: |
| 37 | + head_full_scans_ids.append(head_full_scans_id) |
| 38 | + |
| 39 | +socket_results = {} |
| 40 | +for head_full_scan_id in head_full_scans_ids: |
| 41 | + full_scan_metadata = sdk.fullscans.metadata(org_slug=org_slug, full_scan_id=head_full_scan_id) |
| 42 | + full_scan_result = { |
| 43 | + "repo": full_scan_metadata.get("repo"), |
| 44 | + "branch": full_scan_metadata.get("branch"), |
| 45 | + "commit_hash": full_scan_metadata.get("commit_hash"), |
| 46 | + "commit_message": full_scan_metadata.get("commit_message"), |
| 47 | + "pull_request_url": full_scan_metadata.get("pull_request_url"), |
| 48 | + "committers": full_scan_metadata.get("committers"), |
| 49 | + "created_at": full_scan_metadata.get("created_at"), |
| 50 | + "results": sdk.fullscans.stream(org_slug=org_slug, full_scan_id=head_full_scan_id) or None |
| 51 | + } |
| 52 | + socket_results[head_full_scan_id] = full_scan_result |
| 53 | + |
| 54 | +print(json.dumps(socket_results, indent=4)) |
0 commit comments