Beispiel #1
0
    def __init__(self, *args, **kw):
        super(GithubService, self).__init__(*args, **kw)

        self.auth = {}

        login = self.config_get('login')
        token = self.config_get_default('token')
        if token:
            if token.startswith('@oracle:'):
                username = self.config_get('username')
                token = get_service_password(
                    self.get_keyring_service(self.config, self.target),
                    login, oracle=token,
                    interactive=self.config.interactive
                )
            self.auth['token'] = token
        else:
            password = self.config_get_default('password')
            if not password or password.startswith('@oracle:'):
                username = self.config_get('username')
                password = get_service_password(
                    self.get_keyring_service(self.config, self.target),
                    login, oracle=password,
                    interactive=self.config.interactive
                )
            self.auth['basic'] = (login, password)

        self.exclude_repos = []
        if self.config_get_default('exclude_repos', None):
            self.exclude_repos = [
                item.strip() for item in
                self.config_get('exclude_repos').strip().split(',')
            ]

        self.include_repos = []
        if self.config_get_default('include_repos', None):
            self.include_repos = [
                item.strip() for item in
                self.config_get('include_repos').strip().split(',')
            ]

        self.import_labels_as_tags = self.config_get_default(
            'import_labels_as_tags', default=False, to_type=asbool
        )
        self.label_template = self.config_get_default(
            'label_template', default='{{label}}', to_type=six.text_type
        )
        self.filter_pull_requests = self.config_get_default(
            'filter_pull_requests', default=False, to_type=asbool
        )
        self.involved_issues = self.config_get_default(
            'involved_issues', default=False, to_type=asbool
        )
Beispiel #2
0
    def __init__(self, *args, **kw):
        super(GithubService, self).__init__(*args, **kw)

        self.auth = {}

        login = self.config_get('login')
        token = self.config_get_default('token')
        if token:
            if token.startswith('@oracle:'):
                username = self.config_get('username')
                token = get_service_password(
                    self.get_keyring_service(self.config, self.target),
                    login,
                    oracle=token,
                    interactive=self.config.interactive)
            self.auth['token'] = token
        else:
            password = self.config_get_default('password')
            if not password or password.startswith('@oracle:'):
                username = self.config_get('username')
                password = get_service_password(
                    self.get_keyring_service(self.config, self.target),
                    login,
                    oracle=password,
                    interactive=self.config.interactive)
            self.auth['basic'] = (login, password)

        self.exclude_repos = []
        if self.config_get_default('exclude_repos', None):
            self.exclude_repos = [
                item.strip()
                for item in self.config_get('exclude_repos').strip().split(',')
            ]

        self.include_repos = []
        if self.config_get_default('include_repos', None):
            self.include_repos = [
                item.strip()
                for item in self.config_get('include_repos').strip().split(',')
            ]

        self.import_labels_as_tags = self.config_get_default(
            'import_labels_as_tags', default=False, to_type=asbool)
        self.label_template = self.config_get_default('label_template',
                                                      default='{{label}}',
                                                      to_type=six.text_type)
        self.filter_pull_requests = self.config_get_default(
            'filter_pull_requests', default=False, to_type=asbool)
        self.involved_issues = self.config_get_default('involved_issues',
                                                       default=False,
                                                       to_type=asbool)
Beispiel #3
0
    def __init__(self, *args, **kw):
        super(BugzillaService, self).__init__(*args, **kw)
        self.base_uri = self.config_get('base_uri')
        self.username = self.config_get('username')
        self.password = self.config_get('password')
        self.ignore_cc = self.config_get_default('ignore_cc', default=False,
                                                 to_type=lambda x: x == "True")
        self.query_url = self.config_get_default('query_url', default=None)
        self.include_needinfos = self.config_get_default(
            'include_needinfos', False, to_type=lambda x: x == "True")
        self.open_statuses = self.config_get_default(
            'open_statuses', _open_statuses, to_type=lambda x: x.split(','))
        log.name(self.target).debug(" filtering on statuses: {0}", self.open_statuses)

        # So more modern bugzilla's require that we specify
        # query_format=advanced along with the xmlrpc request.
        # https://bugzilla.redhat.com/show_bug.cgi?id=825370
        # ...but older bugzilla's don't know anything about that argument.
        # Here we make it possible for the user to specify whether they want
        # to pass that argument or not.
        self.advanced = asbool(self.config_get_default('advanced', 'no'))

        if not self.password or self.password.startswith("@oracle:"):
            self.password = get_service_password(
                self.get_keyring_service(self.config, self.target),
                self.username, oracle=self.password,
                interactive=self.config.interactive
            )

        url = 'https://%s/xmlrpc.cgi' % self.base_uri
        self.bz = bugzilla.Bugzilla(url=url)
        self.bz.login(self.username, self.password)
Beispiel #4
0
    def __init__(self, *args, **kw):
        super(GitlabService, self).__init__(*args, **kw)

        host = self.config_get_default("host", default="gitlab.com", to_type=six.text_type)
        self.login = self.config_get("login")
        token = self.config_get("token")
        if not token or token.startswith("@oracle:"):
            token = get_service_password(
                self.get_keyring_service(self.config, self.target),
                self.login,
                oracle=password,
                interactive=self.config.interactive,
            )
        self.auth = (host, token)

        if self.config_get_default("use_https", default=True, to_type=asbool):
            self.scheme = "https"
        else:
            self.scheme = "http"

        self.exclude_repos = []
        if self.config_get_default("exclude_repos", None):
            self.exclude_repos = [item.strip() for item in self.config_get("exclude_repos").strip().split(",")]

        self.include_repos = []
        if self.config_get_default("include_repos", None):
            self.include_repos = [item.strip() for item in self.config_get("include_repos").strip().split(",")]

        self.import_labels_as_tags = self.config_get_default("import_labels_as_tags", default=False, to_type=asbool)
        self.label_template = self.config_get_default("label_template", default="{{label}}", to_type=six.text_type)
        self.filter_merge_requests = self.config_get_default("filter_merge_requests", default=False, to_type=asbool)
Beispiel #5
0
    def __init__(self, *args, **kw):
        super(GithubService, self).__init__(*args, **kw)

        login = self.config.get(self.target, 'login')
        password = self.config.get(self.target, 'passw')
        if not password or password.startswith('@oracle:'):
            username = self.config.get(self.target, 'username')
            service = "github://%[email protected]/%s" % (login, username)
            password = get_service_password(service, login, oracle=password,
                                           interactive=self.config.interactive)
        self.auth = (login, password)

        self.exclude_repos = []
        self.include_repos = []

        if self.config.has_option(self.target, 'exclude_repos'):
            self.exclude_repos = [
                item.strip() for item in
                self.config.get(self.target, 'exclude_repos')
                    .strip().split(',')
            ]

        if self.config.has_option(self.target, 'include_repos'):
            self.include_repos = [
                item.strip() for item in
                self.config.get(self.target, 'include_repos')
                    .strip().split(',')
            ]
Beispiel #6
0
    def __init__(self, *args, **kw):
        super(JiraService, self).__init__(*args, **kw)
        self.username = self.config_get('username')
        self.url = self.config_get('base_uri')
        password = self.config_get('password')
        if not password or password.startswith("@oracle:"):
            password = get_service_password(
                self.get_keyring_service(self.config, self.target),
                self.username,
                oracle=password,
                interactive=self.config.interactive)

        default_query = 'assignee=' + self.username + \
            ' AND resolution is null'
        self.query = self.config_get_default('query', default_query)
        self.jira = JIRA(options={
            'server':
            self.config_get('base_uri'),
            'rest_api_version':
            'latest',
            'verify':
            self.config_get_default('verify_ssl', default=None,
                                    to_type=asbool),
        },
                         basic_auth=(self.username, password))
        self.import_labels_as_tags = self.config_get_default(
            'import_labels_as_tags', default=False, to_type=asbool)
        self.label_template = self.config_get_default('label_template',
                                                      default='{{label}}',
                                                      to_type=six.text_type)
Beispiel #7
0
    def __init__(self, *args, **kw):
        super(BugzillaService, self).__init__(*args, **kw)
        base_uri = self.config.get(self.target, 'bugzilla.base_uri')
        username = self.config.get(self.target, 'bugzilla.username')
        password = self.config.get(self.target, 'bugzilla.password')

        # So more modern bugzilla's require that we specify
        # query_format=advanced along with the xmlrpc request.
        # https://bugzilla.redhat.com/show_bug.cgi?id=825370
        # ...but older bugzilla's don't know anything about that argument.
        # Here we make it possible for the user to specify whether they want
        # to pass that argument or not.
        self.advanced = True  # Default to True.
        if self.config.has_option(self.target, 'bugzilla.advanced'):
            self.advanced = asbool(self.config.get(
                self.target, 'bugzilla.advanced'))

        if not password or password.startswith("@oracle:"):
            service = "bugzilla://%s@%s" % (username, base_uri)
            password = get_service_password(service, username, oracle=password,
                                            interactive=self.config.interactive)

        url = 'https://%s/xmlrpc.cgi' % base_uri
        self.bz = bugzilla.Bugzilla(url=url)
        self.bz.login(username, password)
Beispiel #8
0
    def __init__(self, *args, **kw):
        super(GithubService, self).__init__(*args, **kw)

        login = self.config.get(self.target, 'login')
        password = self.config.get(self.target, 'passw')
        if not password or password.startswith('@oracle:'):
            username = self.config.get(self.target, 'username')
            service = "github://%[email protected]/%s" % (login, username)
            password = get_service_password(
                service,
                login,
                oracle=password,
                interactive=self.config.interactive)
        self.auth = (login, password)

        self.exclude_repos = []
        self.include_repos = []

        if self.config.has_option(self.target, 'exclude_repos'):
            self.exclude_repos = [
                item.strip() for item in self.config.get(
                    self.target, 'exclude_repos').strip().split(',')
            ]

        if self.config.has_option(self.target, 'include_repos'):
            self.include_repos = [
                item.strip() for item in self.config.get(
                    self.target, 'include_repos').strip().split(',')
            ]
Beispiel #9
0
    def __init__(self, *args, **kw):
        super(BitbucketService, self).__init__(*args, **kw)

        self.auth = None
        if self.config_get_default("login"):
            login = self.config_get("login")
            password = self.config_get_default("password")
            if not password or password.startswith("@oracle:"):
                username = self.config_get("username")
                password = get_service_password(
                    self.get_keyring_service(self.config, self.target),
                    login,
                    oracle=password,
                    interactive=self.config.interactive,
                )

            self.auth = (login, password)

        self.exclude_repos = []
        if self.config_get_default("exclude_repos", None):
            self.exclude_repos = [item.strip() for item in self.config_get("exclude_repos").strip().split(",")]

        self.include_repos = []
        if self.config_get_default("include_repos", None):
            self.include_repos = [item.strip() for item in self.config_get("include_repos").strip().split(",")]

        self.filter_merge_requests = self.config_get_default("filter_merge_requests", default=False, to_type=asbool)
Beispiel #10
0
    def __init__(self, *args, **kw):
        super(BugzillaService, self).__init__(*args, **kw)
        base_uri = self.config.get(self.target, 'bugzilla.base_uri')
        username = self.config.get(self.target, 'bugzilla.username')
        password = self.config.get(self.target, 'bugzilla.password')

        # So more modern bugzilla's require that we specify
        # query_format=advanced along with the xmlrpc request.
        # https://bugzilla.redhat.com/show_bug.cgi?id=825370
        # ...but older bugzilla's don't know anything about that argument.
        # Here we make it possible for the user to specify whether they want
        # to pass that argument or not.
        self.advanced = True  # Default to True.
        if self.config.has_option(self.target, 'bugzilla.advanced'):
            self.advanced = asbool(
                self.config.get(self.target, 'bugzilla.advanced'))

        if not password or password.startswith("@oracle:"):
            service = "bugzilla://%s@%s" % (username, base_uri)
            password = get_service_password(
                service,
                username,
                oracle=password,
                interactive=self.config.interactive)

        url = 'https://%s/xmlrpc.cgi' % base_uri
        self.bz = bugzilla.Bugzilla(url=url)
        self.bz.login(username, password)
Beispiel #11
0
    def __init__(self, *args, **kw):
        super(BitbucketService, self).__init__(*args, **kw)

        self.auth = None
        if self.config_get_default('login'):
            login = self.config_get('login')
            password = self.config_get_default('password')
            if not password or password.startswith('@oracle:'):
                username = self.config_get('username')
                password = get_service_password(
                    self.get_keyring_service(self.config, self.target),
                    login,
                    oracle=password,
                    interactive=self.config.interactive)

            self.auth = (login, password)

        self.exclude_repos = []
        if self.config_get_default('exclude_repos', None):
            self.exclude_repos = [
                item.strip()
                for item in self.config_get('exclude_repos').strip().split(',')
            ]

        self.include_repos = []
        if self.config_get_default('include_repos', None):
            self.include_repos = [
                item.strip()
                for item in self.config_get('include_repos').strip().split(',')
            ]

        self.filter_merge_requests = self.config_get_default(
            'filter_merge_requests', default=False, to_type=asbool)
Beispiel #12
0
    def __init__(self, *args, **kw):
        super(BugzillaService, self).__init__(*args, **kw)
        self.base_uri = self.config_get('base_uri')
        self.username = self.config_get('username')
        self.password = self.config_get('password')
        self.ignore_cc = self.config_get_default('ignore_cc',
                                                 default=False,
                                                 to_type=lambda x: x == "True")
        self.query_url = self.config_get_default('query_url', default=None)
        self.include_needinfos = self.config_get_default(
            'include_needinfos', False, to_type=lambda x: x == "True")
        self.open_statuses = self.config_get_default(
            'open_statuses', _open_statuses, to_type=lambda x: x.split(','))
        log.name(self.target).debug(" filtering on statuses: {0}",
                                    self.open_statuses)

        # So more modern bugzilla's require that we specify
        # query_format=advanced along with the xmlrpc request.
        # https://bugzilla.redhat.com/show_bug.cgi?id=825370
        # ...but older bugzilla's don't know anything about that argument.
        # Here we make it possible for the user to specify whether they want
        # to pass that argument or not.
        self.advanced = asbool(self.config_get_default('advanced', 'no'))

        if not self.password or self.password.startswith("@oracle:"):
            self.password = get_service_password(
                self.get_keyring_service(self.config, self.target),
                self.username,
                oracle=self.password,
                interactive=self.config.interactive)

        url = 'https://%s/xmlrpc.cgi' % self.base_uri
        self.bz = bugzilla.Bugzilla(url=url)
        self.bz.login(self.username, self.password)
Beispiel #13
0
    def __init__(self, *args, **kw):
        super(JiraService, self).__init__(*args, **kw)
        self.username = self.config_get("username")
        self.url = self.config_get("base_uri")
        password = self.config_get("password")
        if not password or password.startswith("@oracle:"):
            password = get_service_password(
                self.get_keyring_service(self.config, self.target),
                self.username,
                oracle=password,
                interactive=self.config.interactive,
            )

        default_query = "assignee=" + self.username + " AND resolution is null"
        self.query = self.config_get_default("query", default_query)
        self.jira = JIRA(
            options={
                "server": self.config_get("base_uri"),
                "rest_api_version": "latest",
                "verify": self.config_get_default("verify_ssl", default=None, to_type=asbool),
            },
            basic_auth=(self.username, password),
        )
        self.import_labels_as_tags = self.config_get_default("import_labels_as_tags", default=False, to_type=asbool)
        self.label_template = self.config_get_default("label_template", default="{{label}}", to_type=six.text_type)
Beispiel #14
0
    def __init__(self, *args, **kw):
        super(JiraService, self).__init__(*args, **kw)
        self.username = self.config_get('username')
        self.url = self.config_get('base_uri')
        password = self.config_get('password')
        if not password or password.startswith("@oracle:"):
            password = get_service_password(
                self.get_keyring_service(self.config, self.target),
                self.username, oracle=password,
                interactive=self.config.interactive
            )

        default_query = 'assignee=' + self.username + \
            ' AND status != closed and status != resolved'
        self.query = self.config_get_default('query', default_query)
        self.jira = JIRA(
            options={
                'server': self.config_get('base_uri'),
                'rest_api_version': 'latest',
                'verify': self.config_get_default('verify_ssl', default=None, to_type=asbool),
            },
            basic_auth=(self.username, password)
        )
        self.import_labels_as_tags = self.config_get_default(
            'import_labels_as_tags', default=False, to_type=asbool
        )
        self.label_template = self.config_get_default(
            'label_template', default='{{label}}', to_type=six.text_type
        )
Beispiel #15
0
 def config_get_password(self, key, login):
     password = self.config_get_default(key)
     keyring_service = self.get_keyring_service(self.config, self.target),
     if not password or password.startswith("@oracle:"):
         password = get_service_password(
             keyring_service, login, oracle=password,
             interactive=self.config.interactive)
     return password
Beispiel #16
0
 def get_password(self, key, login='******'):
     password = self.config.get(key)
     keyring_service = self.get_keyring_service(self.config)
     if not password or password.startswith("@oracle:"):
         password = get_service_password(
             keyring_service, login, oracle=password,
             interactive=self.config.interactive)
     return password
Beispiel #17
0
 def get_password(self, key, login='******'):
     password = self.config.get(key)
     keyring_service = self.get_keyring_service(self.config)
     if not password or password.startswith("@oracle:"):
         password = get_service_password(
             keyring_service, login, oracle=password,
             interactive=self.config.interactive)
     return password
Beispiel #18
0
    def __init__(self, *args, **kw):
        super(TracService, self).__init__(*args, **kw)
        base_uri = self.config.get(self.target, 'trac.base_uri')
        username = self.config.get(self.target, 'trac.username')
        password = self.config.get(self.target, 'trac.password')
        if not password or password.startswith('@oracle:'):
            service = "https://%s@%s/" % (username, base_uri)
            password = get_service_password(service, username, oracle=password,
                                            interactive=self.config.interactive)

        uri = 'https://%s:%s@%s/login/xmlrpc' % (username, password, base_uri)
        self.trac = offtrac.TracServer(uri)
Beispiel #19
0
    def __init__(self, *args, **kw):
        super(BitbucketService, self).__init__(*args, **kw)

        self.auth = None
        if self.config_get_default('login'):
            login = self.config_get('login')
            password = self.config_get_default('password')
            if not password or password.startswith('@oracle:'):
                username = self.config_get('username')
                password = get_service_password(
                    self.get_keyring_service(self.config, self.target),
                    login, oracle=password,
                    interactive=self.config.interactive)

            self.auth = (login, password)
Beispiel #20
0
    def __init__(self, *args, **kw):
        super(BitbucketService, self).__init__(*args, **kw)

        self.auth = None
        if self.config.has_option(self.target, 'login'):
            login = self.config.get(self.target, 'login')
            password = self.config.get(self.target, 'passw')
            if not password or password.startswith('@oracle:'):
                username = self.config.get(self.target, 'username')
                service = "bitbucket://%[email protected]/%s" % (login, username)
                password = get_service_password(
                    service, login, oracle=password,
                    interactive=self.config.interactive)

            self.auth = (login, password)
Beispiel #21
0
    def __init__(self, *args, **kw):
        super(TracService, self).__init__(*args, **kw)
        base_uri = self.config_get("base_uri")
        username = self.config_get("username")
        password = self.config_get("password")
        if not password or password.startswith("@oracle:"):
            password = get_service_password(
                self.get_keyring_service(self.config, self.target),
                username,
                oracle=password,
                interactive=self.config.interactive,
            )

        auth = "%s:%s" % (username, password)
        uri = "https://%s@%s/login/xmlrpc" % (urllib.quote_plus(auth), base_uri)
        self.trac = offtrac.TracServer(uri)
Beispiel #22
0
    def __init__(self, *args, **kw):
        super(TracService, self).__init__(*args, **kw)
        base_uri = self.config_get('base_uri')
        username = self.config_get('username')
        password = self.config_get('password')
        if not password or password.startswith('@oracle:'):
            password = get_service_password(
                self.get_keyring_service(self.config, self.target),
                username,
                oracle=password,
                interactive=self.config.interactive)

        auth = '%s:%s' % (username, password)
        uri = 'https://%s@%s/login/xmlrpc' % (urllib.quote_plus(auth),
                                              base_uri)
        self.trac = offtrac.TracServer(uri)
Beispiel #23
0
    def __init__(self, *args, **kw):
        super(BitbucketService, self).__init__(*args, **kw)

        self.auth = None
        if self.config_get_default('login'):
            login = self.config_get('login')
            password = self.config_get_default('password')
            if not password or password.startswith('@oracle:'):
                username = self.config_get('username')
                password = get_service_password(
                    self.get_keyring_service(self.config, self.target),
                    login,
                    oracle=password,
                    interactive=self.config.interactive)

            self.auth = (login, password)
Beispiel #24
0
    def __init__(self, *args, **kw):
        super(MegaplanService, self).__init__(*args, **kw)

        self.hostname = self.config.get(self.target, 'hostname')
        _login = self.config.get(self.target, 'login')
        _password = self.config.get(self.target, 'password')
        if not _password or _password.startswith("@oracle:"):
            service = "megaplan://%s@%s" % (_login, self.hostname)
            _password = get_service_password(service, _login, oracle=_password,
                                            interactive=self.config.interactive)

        self.client = megaplan.Client(self.hostname)
        self.client.authenticate(_login, _password)

        self.project_name = self.hostname
        if self.config.has_option(self.target, "project_name"):
            self.project_name = self.config.get(self.target, "project_name")
Beispiel #25
0
    def __init__(self, *args, **kw):
        super(BitbucketService, self).__init__(*args, **kw)

        self.auth = None
        if self.config.has_option(self.target, 'login'):
            login = self.config.get(self.target, 'login')
            password = self.config.get(self.target, 'passw')
            if not password or password.startswith('@oracle:'):
                username = self.config.get(self.target, 'username')
                service = "bitbucket://%[email protected]/%s" % (login, username)
                password = get_service_password(
                    service,
                    login,
                    oracle=password,
                    interactive=self.config.interactive)

            self.auth = (login, password)
Beispiel #26
0
    def __init__(self, *args, **kw):
        super(MegaplanService, self).__init__(*args, **kw)

        self.hostname = self.config_get('hostname')
        _login = self.config_get('login')
        _password = self.config_get('password')
        if not _password or _password.startswith("@oracle:"):
            _password = get_service_password(
                self.get_keyring_service(self.config, self.target),
                _login,
                oracle=_password,
                interactive=self.config.interactive)

        self.client = megaplan.Client(self.hostname)
        self.client.authenticate(_login, _password)

        self.project_name = self.config_get_default('project_name',
                                                    self.hostname)
Beispiel #27
0
    def __init__(self, *args, **kw):
        super(VersionOneService, self).__init__(*args, **kw)

        parsed_address = parse.urlparse(self.config_get("base_uri"))
        self.address = parsed_address.netloc
        self.instance = parsed_address.path.strip("/")
        self.username = self.config_get("username")
        self.password = self.config_get_default("password")
        if not self.password or self.password.startswith("@oracle:"):
            self.password = get_service_password(
                self.get_keyring_service(self.config, self.target),
                self.username,
                oracle=self.password,
                interactive=self.config.interactive,
            )

        self.timezone = self.config_get_default("timezone", default=LOCAL_TIMEZONE)
        self.project = self.config_get_default("project_name", default="")
        self.timebox_name = self.config_get_default("timebox_name")
Beispiel #28
0
    def __init__(self, *args, **kw):
        super(TeamLabService, self).__init__(*args, **kw)

        self.hostname = self.config_get('hostname')
        _login = self.config_get('login')
        _password = self.config_get('password')
        if not _password or _password.startswith("@oracle:"):
            _password = get_service_password(
                self.get_keyring_service(self.config, self.target),
                _login, oracle=_password,
                interactive=self.config.interactive
            )

        self.client = TeamLabClient(self.hostname)
        self.client.authenticate(_login, _password)

        self.project_name = self.config_get_default(
            'project_name', self.hostname
        )
Beispiel #29
0
    def __init__(self, *args, **kw):
        super(VersionOneService, self).__init__(*args, **kw)

        parsed_address = parse.urlparse(self.config_get('base_uri'))
        self.address = parsed_address.netloc
        self.instance = parsed_address.path.strip('/')
        self.username = self.config_get('username')
        self.password = self.config_get_default('password')
        if not self.password or self.password.startswith('@oracle:'):
            self.password = get_service_password(
                self.get_keyring_service(self.config, self.target),
                self.username,
                oracle=self.password,
                interactive=self.config.interactive)

        self.timezone = self.config_get_default('timezone',
                                                default=LOCAL_TIMEZONE)
        self.project = self.config_get_default('project_name', default='')
        self.timebox_name = self.config_get_default('timebox_name')
Beispiel #30
0
    def __init__(self, *args, **kw):
        super(GitlabService, self).__init__(*args, **kw)

        host = self.config_get_default('host',
                                       default='gitlab.com',
                                       to_type=six.text_type)
        self.login = self.config_get('login')
        token = self.config_get('token')
        if not token or token.startswith('@oracle:'):
            token = get_service_password(self.get_keyring_service(
                self.config, self.target),
                                         self.login,
                                         oracle=password,
                                         interactive=self.config.interactive)
        self.auth = (host, token)

        if self.config_get_default('use_https', default=True, to_type=asbool):
            self.scheme = 'https'
        else:
            self.scheme = 'http'

        self.exclude_repos = []
        if self.config_get_default('exclude_repos', None):
            self.exclude_repos = [
                item.strip()
                for item in self.config_get('exclude_repos').strip().split(',')
            ]

        self.include_repos = []
        if self.config_get_default('include_repos', None):
            self.include_repos = [
                item.strip()
                for item in self.config_get('include_repos').strip().split(',')
            ]

        self.import_labels_as_tags = self.config_get_default(
            'import_labels_as_tags', default=False, to_type=asbool)
        self.label_template = self.config_get_default('label_template',
                                                      default='{{label}}',
                                                      to_type=six.text_type)
        self.filter_merge_requests = self.config_get_default(
            'filter_merge_requests', default=False, to_type=asbool)
Beispiel #31
0
    def __init__(self, *args, **kw):
        super(TeamLabService, self).__init__(*args, **kw)

        self.hostname = self.config.get(self.target, 'hostname')
        _login = self.config.get(self.target, 'login')
        _password = self.config.get(self.target, 'password')
        if not _password or _password.startswith("@oracle:"):
            service = "teamlab://%s@%s" % (_login, self.hostname)
            _password = get_service_password(
                service,
                _login,
                oracle=_password,
                interactive=self.config.interactive)

        self.client = Client(self.hostname)
        self.client.authenticate(_login, _password)

        self.project_name = self.hostname
        if self.config.has_option(self.target, "project_name"):
            self.project_name = self.config.get(self.target, "project_name")
Beispiel #32
0
    def __init__(self, *args, **kw):
        super(GitlabService, self).__init__(*args, **kw)

        host = self.config_get_default(
            'host', default='gitlab.com', to_type=six.text_type)
        self.login = self.config_get('login')
        token = self.config_get('token')
        if not token or token.startswith('@oracle:'):
            token = get_service_password(
                self.get_keyring_service(self.config, self.target),
                self.login, oracle=password,
                interactive=self.config.interactive
            )
        self.auth = (host, token)

        self.exclude_repos = []
        if self.config_get_default('exclude_repos', None):
            self.exclude_repos = [
                item.strip() for item in
                self.config_get('exclude_repos').strip().split(',')
            ]

        self.include_repos = []
        if self.config_get_default('include_repos', None):
            self.include_repos = [
                item.strip() for item in
                self.config_get('include_repos').strip().split(',')
            ]

        self.import_labels_as_tags = self.config_get_default(
            'import_labels_as_tags', default=False, to_type=asbool
        )
        self.label_template = self.config_get_default(
            'label_template', default='{{label}}', to_type=six.text_type
        )
        self.filter_merge_requests = self.config_get_default(
            'filter_merge_requests', default=False, to_type=asbool
        )
Beispiel #33
0
    def __init__(self, *args, **kw):
        super(JiraService, self).__init__(*args, **kw)
        self.username = self.config.get(self.target, 'jira.username')
        self.url = self.config.get(self.target, 'jira.base_uri')
        password = self.config.get(self.target, 'jira.password')
        if not password or password.startswith("@oracle:"):
            service = "jira://%s@%s" % (self.username, self.url)
            password = get_service_password(service, self.username,
                                            oracle=password,
                                            interactive=self.config.interactive)

        default_query = 'assignee=' + self.username + \
            ' AND status != closed and status != resolved'
        self.query = self.config.get(self.target, 'jira.query', default_query)
        self.project_prefix = self.config.get(
            self.target, 'jira.project_prefix', '')
        self.jira = JIRA(
            options={
                'server': self.config.get(self.target, 'jira.base_uri'),
                'rest_api_version': 'latest',
            },
            basic_auth=(self.username, password)
        )
Beispiel #34
0
    def __init__(self, *args, **kw):
        super(TracService, self).__init__(*args, **kw)
        base_uri = self.config_get('base_uri')
        scheme = self.config_get_default('scheme', default='https')
        username = self.config_get_default('username', default=None)
        if username:
            password = self.config_get('password')
            if not password or password.startswith('@oracle:'):
                password = get_service_password(
                    self.get_keyring_service(self.config, self.target),
                    username,
                    oracle=password,
                    interactive=self.config.interactive)

            auth = urllib.quote_plus('%s:%s' % (username, password)) + '@'
        else:
            auth = ''
        if self.config_get_default('no_xmlrpc', default=False):
            uri = '%s://%s%s/' % (scheme, auth, base_uri)
            self.uri = uri
            self.trac = None
        else:
            uri = '%s://%s%s/login/xmlrpc' % (scheme, auth, base_uri)
            self.trac = offtrac.TracServer(uri)
Beispiel #35
0
    def __init__(self, *args, **kw):
        super(TracService, self).__init__(*args, **kw)
        base_uri = self.config_get('base_uri')
        scheme = self.config_get_default('scheme', default='https')
        username = self.config_get_default('username', default=None)
        if username:
            password = self.config_get('password')
            if not password or password.startswith('@oracle:'):
                password = get_service_password(
                    self.get_keyring_service(self.config, self.target),
                    username, oracle=password,
                    interactive=self.config.interactive
                )

            auth = urllib.quote_plus('%s:%s' % (username, password)) + '@'
        else:
            auth = ''
        if self.config_get_default('no_xmlrpc', default=False):
            uri = '%s://%s%s/' % (scheme, auth, base_uri)
            self.uri = uri
            self.trac = None
        else:
            uri = '%s://%s%s/login/xmlrpc' % (scheme, auth, base_uri)
            self.trac = offtrac.TracServer(uri)