|
| 1 | +''' |
| 2 | +Created on Mar 7, 2023 |
| 3 | +
|
| 4 | +@author: kumykov |
| 5 | +''' |
| 6 | +import argparse |
| 7 | +import json |
| 8 | +import logging |
| 9 | +import sys |
| 10 | + |
| 11 | +from blackduck import Client |
| 12 | + |
| 13 | +parser = argparse.ArgumentParser("Get all the users") |
| 14 | +parser.add_argument("--base-url", required=True, help="Hub server URL e.g. https://your.blackduck.url") |
| 15 | +parser.add_argument("--token-file", dest='token_file', required=True, help="containing access token") |
| 16 | +parser.add_argument("--no-verify", dest='verify', action='store_false', help="disable TLS certificate verification") |
| 17 | +args = parser.parse_args() |
| 18 | + |
| 19 | + |
| 20 | +logging.basicConfig(format='%(asctime)s:%(levelname)s:%(message)s', stream=sys.stderr, level=logging.DEBUG) |
| 21 | +logging.getLogger("requests").setLevel(logging.WARNING) |
| 22 | +logging.getLogger("urllib3").setLevel(logging.WARNING) |
| 23 | +logging.getLogger("blackduck").setLevel(logging.WARNING) |
| 24 | + |
| 25 | +with open(args.token_file, 'r') as tf: |
| 26 | + access_token = tf.readline().strip() |
| 27 | + |
| 28 | +bd = Client( |
| 29 | + base_url=args.base_url, |
| 30 | + token=access_token, |
| 31 | + verify=args.verify |
| 32 | +) |
| 33 | + |
| 34 | +headers = {'Accept': 'application/vnd.blackducksoftware.internal-1+json'} |
| 35 | +status = {"in_progress": 0, "completed": 0, "error": 0, "skipped": 0} |
| 36 | + |
| 37 | +for i in status.keys(): |
| 38 | + params = {"filter": ["codeLocationStatus:{}".format(i)]} |
| 39 | + codelocations = bd.get_resource('codeLocations', params=params, headers=headers) |
| 40 | + status[i] = sum(1 for _ in codelocations) |
| 41 | + |
| 42 | +print (status) |
| 43 | + |
0 commit comments