diff --git a/doc/source/tools/stackalytics-processor.txt b/doc/source/tools/stackalytics-processor.txt index f98c985b5..43cbdcfd9 100644 --- a/doc/source/tools/stackalytics-processor.txt +++ b/doc/source/tools/stackalytics-processor.txt @@ -17,6 +17,7 @@ usage: stackalytics-processor [-h] [--config-dir DIR] [--config-file PATH] [--sources-root SOURCES_ROOT] [--ssh-key-filename SSH_KEY_FILENAME] [--ssh-username SSH_USERNAME] + [--github-token GITHUB_TOKEN] [--github-login GITHUB_LOGIN] [--github-password GITHUB_PASSWORD] [--syslog-log-facility SYSLOG_LOG_FACILITY] @@ -91,10 +92,14 @@ optional arguments: SSH key for gerrit review system access --ssh-username SSH_USERNAME SSH username for gerrit review system access + --github-token GITHUB_TOKEN + Token for github access. (string value) --github-login GITHUB_LOGIN - Login for github access (string value) + Login for github access. If GITHUB_TOKEN is specified, + GITHUB_LOGIN will be ignored (string value) --github-password GITHUB_PASSWORD - Password for github access + Password for github access. If GITHUB_TOKEN is specified, + GITHUB_PASSWORD will be ignored (string value) --syslog-log-facility SYSLOG_LOG_FACILITY Syslog facility to receive log lines. This option is ignored if log_config_append is set. diff --git a/etc/stackalytics.conf b/etc/stackalytics.conf index 1d018d3fe..035a4d22f 100644 --- a/etc/stackalytics.conf +++ b/etc/stackalytics.conf @@ -190,6 +190,9 @@ # How many times to retry after Gerrit errors (integer value) #gerrit_retry = 10 +# Token for github access. If specified, github_login and github_password will be ignored (string value) +#github_token = token + # Login for github access (string value) #github_login = login diff --git a/stackalytics/processor/config.py b/stackalytics/processor/config.py index d078ef7c7..d0db12b5f 100644 --- a/stackalytics/processor/config.py +++ b/stackalytics/processor/config.py @@ -46,6 +46,8 @@ PROCESSOR_OPTS = [ help='SSH key for gerrit review system access'), cfg.StrOpt('ssh-username', default='user', help='SSH username for gerrit review system access'), + cfg.StrOpt('github-token', default=None, + help='Token for github access'), cfg.StrOpt('github-login', default=None, help='Login for github access'), cfg.StrOpt('github-password', default=None, diff --git a/stackalytics/processor/default_data_processor.py b/stackalytics/processor/default_data_processor.py index d065adc47..a09fc3493 100644 --- a/stackalytics/processor/default_data_processor.py +++ b/stackalytics/processor/default_data_processor.py @@ -108,9 +108,13 @@ def _retrieve_project_list_from_gerrit(project_source): def _retrieve_project_list_from_github(project_source): LOG.info('Retrieving project list from GitHub') - github = MainClass.Github(timeout=60, - login_or_token=CONF.github_login, - password=CONF.github_password) + if CONF.github_token: + github = MainClass.Github(timeout=60, + login_or_token=CONF.github_token) + else: + github = MainClass.Github(timeout=60, + login_or_token=CONF.github_login, + password=CONF.github_password) organization = project_source['organization'] LOG.debug('Get list of projects for organization %s', organization)