Example #1
0
    def fetch_scrum(self, sprint_name, project_id=None, component_id=None):
        base_url = '%srepos/%s/%s/' % (
            self.tracker.url,
            project_id,
            component_id,
        )
        milestones_url = ''.join((base_url, 'milestones'))
        issues_url = ''.join((base_url, 'issues?'))

        milestones = self.fetch_milestones(
            milestones_url,
        )

        if sprint_name not in milestones:
            raise FetcherBadDataError('There is no %s milestone' % sprint_name)

        opened_bugs_url = serialize_url(
            issues_url,
            **dict(
                milestone=milestones.get(sprint_name),
                state='open'
            )
        )

        closed_bugs_url = serialize_url(
            issues_url,
            **dict(
                milestone=milestones.get(sprint_name),
                state='closed'
            )
        )

        self.consume(RPC(url=opened_bugs_url))
        self.consume(RPC(url=closed_bugs_url))
Example #2
0
    def fetch_scrum(self, sprint_name, project_id=None, component_id=None):
        base_url = '%srepos/%s/%s/' % (self.tracker.url, project_id, component_id)
        milestones_url = ''.join((base_url, 'milestones'))
        issues_url = ''.join((base_url, 'issues?'))
        if self.milestones is None:
            self.fetch_milestones(partial(self.fetch_scrum, sprint_name, project_id, component_id), milestones_url)
        elif self.milestones == {}:
            return self.fail('No milestones')
        else:
            opened_bugs_url = serialize_url(
                issues_url,
                **dict(
                        milestone = self.milestones.get(sprint_name),
                        state = 'open'
                )
            )

            closed_bugs_url = serialize_url(
                issues_url,
                **dict(
                        milestone = self.milestones.get(sprint_name),
                        state = 'closed'
                )
            )

            self.fetch(opened_bugs_url)
            self.fetch(closed_bugs_url)
Example #3
0
    def fetch_bugs_for_query(self, ticket_ids=None, project_selector=None,
                             component_selector=None, version=None,
                             resolved=False):
        if resolved:
            return
        super(GithubFetcher, self).fetch_bugs_for_query(
            ticket_ids,
            project_selector,
            component_selector,
            version,
            resolved,
        )

        params = self.common_url_params()
        if ticket_ids:
            self._wanted_ticket_ids = ticket_ids

        if project_selector and component_selector:
            uri = self.tracker.url + "repos/%s/%s/issues?" % (
                project_selector,
                component_selector[0],
            )
            url = serialize_url(uri, **params)

            self.consume(RPC(url=url))
Example #4
0
    def fetch_bugs_for_query(self, ticket_ids=None, project_selector=None,
                             component_selector=None, version=None,
                             resolved=False):
        super(TracFetcher, self).fetch_bugs_for_query(
            ticket_ids,
            project_selector,
            component_selector,
            version,
            resolved,
        )

        if resolved:
            params = self.resolved_common_url_params()
        else:
            params = self.common_url_params()

        if ticket_ids:
            params.update(id=[str(id) for id in ticket_ids])
        elif project_selector:
            params.update(client_name=project_selector)
            if component_selector:
                params.update(component=component_selector)

        url = serialize_url(self.tracker.url + '/query?', **params)
        self.fetch(url)
Example #5
0
 def prepare_url(self, project_id='', endpoint='', params={}):
     tracker_url = self.tracker.url.replace('http://', 'https://')
     url = make_path(tracker_url, self.api_url, project_id, endpoint)
     if params:
         url += '?'
         url = serialize_url(url, **params)
     return url
Example #6
0
 def get_dependson_and_blocked_by(self):
     url = h.serialize_url('%s/show_bug.cgi?' % self.tracker.url,
                           ctype='xml',
                           id=self.bugs.keys(),
                           field=['blocked', 'dependson', 'bug_id'])
     headers = self.get_headers()
     self.request(url, headers, partial(self.xml_response, self.parse_xml))
Example #7
0
 def fetch_post(self, url, params, on_success=None):
     if not on_success:
         on_success = self.responded
     url = url.encode('utf-8')
     body = h.serialize_url('', **params)
     headers = self.get_headers()
     self.request(url, headers, on_success, method='POST', body=body)
Example #8
0
 def fetch_scrum(self, sprint_name, project_id=None):
     if not self._custom_fields:
         url = '/api/v1/projects/%s/custom_field_values.json' % project_id
         url = str(make_path(self.tracker.url, url))
         self.request(
             url,
             self.get_headers(),
             partial(self.responded, on_success=partial(self.parse_custom_fields, partial(self.fetch_scrum, sprint_name, project_id))),
         )
     elif not self._milestones:
         url = '/api/v1/milestones.json'
         url = str(make_path(self.tracker.url, url))
         self.request(
             url,
             self.get_headers(),
             partial(self.responded, on_success=partial(self.parse_milestones, partial(self.fetch_scrum, sprint_name, project_id))),
         )
     else:
         url = self.api_url() + '?'
         milestone_id = self._milestones.get(sprint_name)
         if not milestone_id:
             flash('Wrong sprint name')
             self.fail('Wrong sprint name')
         else:
             conditions_string = 'milestone-eq-%s' % self._milestones[sprint_name]
             full_url = serialize_url(url, conditions_string=conditions_string)
             self.fetch(full_url)
 def prepare_url(self, project_id='', endpoint='', params={}):
     tracker_url = self.tracker.url.replace('http://', 'https://')
     url = make_path(tracker_url, self.api_url, project_id, endpoint)
     if params:
         url += '?'
         url = serialize_url(url, **params)
     return url
Example #10
0
 def get_dependson_and_blocked_by(self):
     url = h.serialize_url('%s/show_bug.cgi?' % self.tracker.url,
                         ctype='xml',
                         id=self.bugs.keys(),
                         field=['blocked', 'dependson', 'bug_id'])
     headers = self.get_headers()
     self.request(url, headers, partial(self.xml_response, self.parse_xml))
Example #11
0
 def fetcher(self):
     params = self.resolved_common_url_params(
     ) if resolved else self.common_url_params()
     params.update(
         self.single_user_params() if single else self.all_users_params())
     url = h.serialize_url(self.tracker.url + '/buglist.cgi?', **params)
     self.fetch(url)
Example #12
0
    def fetch_bugs_for_query(self,
                             ticket_ids=None,
                             project_selector=None,
                             component_selector=None,
                             version=None,
                             resolved=False):
        super(TracFetcher, self).fetch_bugs_for_query(
            ticket_ids,
            project_selector,
            component_selector,
            version,
            resolved,
        )

        if resolved:
            params = self.resolved_common_url_params()
        else:
            params = self.common_url_params()

        if ticket_ids:
            params.update(id=[str(id) for id in ticket_ids])
        elif project_selector:
            params.update(client_name=project_selector)
            if component_selector:
                params.update(component=component_selector)

        url = serialize_url(self.tracker.url + '/query?', **params)
        self.fetch(url)
Example #13
0
 def fetch_post(self, url, params, on_success=None):
     if not on_success:
         on_success = self.responded
     url = url.encode('utf-8')
     body = h.serialize_url('', **params)
     headers = self.get_headers()
     self.request(url, headers, on_success, method='POST', body=body)
Example #14
0
    def fetch_all_tickets(self, resolved=False):
        if resolved:
            return
        params = self.common_url_params()
        params.update(self.all_users_params())
        url = serialize_url(self.tracker.url + 'issues?', **params)

        self.consume(RPC(url=url))
Example #15
0
 def fetcher(self):
     params = self.resolved_common_url_params() if resolved else self.common_url_params()
     params.update(self.single_user_params() if single else self.all_users_params())
     if resolved:
         params['reporter'] = params['owner']
         del params['owner']
     url = serialize_url(self.tracker.url + '/query?', **params)
     self.fetch(url)
Example #16
0
 def fetch_all_resolved_tickets(self):
     if not self.unfuddle_data:
         self.get_data(self.fetch_all_resolved_tickets)
     else:
         url = self.api_url() + '?'
         conditions_string = '%s,%s' % (self.get_resolved_conditions(), self.get_user_conditions(all=True))
         full_url = serialize_url(url, conditions_string=conditions_string)
         self.fetch(full_url)
Example #17
0
    def fetch_resolved_bugs_for_query(self, ticket_ids, project_selector, component_selector, version):
        url = self.api_url(project_selector) + '?'
        conditions_string = self.get_resolved_conditions()
        if ticket_ids:
            conditions_string += ',' + self.get_ticket_conditions(ticket_ids)

        full_url = serialize_url(url, conditions_string=conditions_string)
        self.fetch(full_url)
Example #18
0
 def fetcher(self):
     if resolved:
         # bitbucked doesn't have resolved not-closed
         self.success()
         return
     params = self.common_url_params()
     params.update(self.single_user_params() if single else self.all_users_params())
     url = serialize_url(self.tracker.url + '/issues?', **params)
     self.fetch(url)
Example #19
0
def bugzilla_new_ticket_url(tracker_url, project_selector, component_selector):
    params = {}
    
    if project_selector:
        params['product'] = project_selector
    if component_selector:
        params['component'] = component_selector

    return serialize_url(tracker_url + '/enter_bug.cgi?', **params)
Example #20
0
 def fetch_scrum(self, sprint_name, project_id=None):
     params = dict(
         ctype='csv',
         status_whiteboard_type='substring',
         status_whiteboard='s=%s' % sprint_name,
         bug_status=['NEW', 'ASSIGNED', 'REOPENED', 'UNCONFIRMED', 'CONFIRMED', 'WAITING', 'RESOLVED', 'VERIFIED', 'CLOSED'],
     )
     url = h.serialize_url(self.tracker.url + '/buglist.cgi?', **params)
     self.fetch(url)
Example #21
0
def trac_new_ticket_url(tracker_url, project_selector, component_selector):
    params = {}

    if project_selector:
        params["client_name"] = project_selector
    if component_selector:
        params["component"] = component_selector

    return serialize_url(tracker_url + "/newticket?", **params)
Example #22
0
def trac_new_ticket_url(tracker_url, project_selector, component_selector):
    params = {}
    
    if project_selector:
        params['client_name'] = project_selector
    if component_selector:
        params['component'] = component_selector

    return serialize_url(tracker_url + '/newticket?', **params)
Example #23
0
    def fetch_all_tickets(self, resolved=False):
        params = self.resolved_common_url_params() \
            if resolved else self.common_url_params()
        params.update(self.all_users_params())

        url = '%s/buglist.cgi' % self.tracker.url
        body = h.serialize_url('', **params)
        rpc = RPC(url=url, method='POST', data=body)
        self.consume(rpc)
Example #24
0
def bugzilla_new_ticket_url(tracker_url, project_selector, component_selector):
    params = {}

    if project_selector:
        params['product'] = project_selector
    if component_selector:
        params['component'] = component_selector

    return serialize_url(tracker_url + '/enter_bug.cgi?', **params)
Example #25
0
def trac_new_ticket_url(tracker_url, project_selector, component_selector):
    params = {}

    if project_selector:
        params['client_name'] = project_selector
    if component_selector:
        params['component'] = component_selector

    return serialize_url(tracker_url + '/newticket?', **params)
Example #26
0
    def fetch_all_tickets(self, resolved=False):
        params = self.resolved_common_url_params() \
            if resolved else self.common_url_params()
        params.update(self.all_users_params())

        url = '%s/buglist.cgi' % self.tracker.url
        body = h.serialize_url('', **params)
        rpc = RPC(url=url, method='POST', data=body)
        self.consume(rpc)
Example #27
0
 def fetch_bug_titles_and_depends_on(self, ticket_ids):
     params = dict(
         ctype='xml',
         field=['dependson', 'bug_id', 'short_desc', 'bug_severity', 'resolution'],
         id=[str(id) for id in ticket_ids],
         #bug_status=['NEW', 'ASSIGNED', 'REOPENED', 'UNCONFIRMED', 'RESOLVED', 'VERIFIED']
     )
     url = h.serialize_url(self.tracker.url + '/show_bug.cgi?', **params)
     headers = self.get_headers()
     self.request(url, headers, partial(self.xml_response, self.parse_response_of_bug_titles_and_depends_on))
Example #28
0
 def fetcher(self):
     params = self.resolved_common_url_params(
     ) if resolved else self.common_url_params()
     params.update(
         self.single_user_params() if single else self.all_users_params())
     if resolved:
         params['reporter'] = params['owner']
         del params['owner']
     url = serialize_url(self.tracker.url + '/query?', **params)
     self.fetch(url)
Example #29
0
 def fetcher(self, ticket_ids, project_selector, component_selector, version):
     params = self.resolved_common_url_params() if resolved else self.common_url_params()
     if ticket_ids:
         params.update(id=[str(id) for id in ticket_ids])
     else:
         if project_selector:
             params.update(client_name=project_selector)
             if component_selector:
                 params.update(component=component_selector)
     url = serialize_url(self.tracker.url + '/query?', **params)
     self.fetch(url)
Example #30
0
 def get_status_of_dependson_and_blocked_bugs(self):
     bug_ids = self.dependson_and_blocked_status.keys()
     if bug_ids:
         url = h.serialize_url('%s/show_bug.cgi?' % self.tracker.url,
                             ctype='xml',
                             id=bug_ids,
                             field=['bug_status', 'bug_id', 'short_desc'])
         headers = self.get_headers()
         self.request(url, headers, partial(self.xml_response, self.parse_dependson_and_blocked_bugs_xml))
     else:
         self.success()
Example #31
0
    def fetcher(self):
        if resolved:
            # Github doesn't have open resolved
            self.success()
            return

        params = self.common_url_params()
        extra = self.single_user_params() if single else self.all_users_params()
        params.update(extra)

        url = serialize_url(self.tracker.url + 'issues?', **params)
        self.fetch(url)
Example #32
0
    def fetch_all_tickets(self, resolved=False):
        if resolved:
            params = self.resolved_common_url_params()
        else:
            params = self.common_url_params()

        params.update(self.all_users_params())
        if resolved:
            params['reporter'] = params['owner']
            del params['owner']
        url = serialize_url(self.tracker.url + '/query?', **params)
        self.fetch(url)
Example #33
0
 def fetch_scrum(self, sprint_name, project_id=None):
     params = dict(
         ctype='csv',
         status_whiteboard_type='substring',
         status_whiteboard='s=%s' % sprint_name,
         bug_status=[
             'NEW', 'ASSIGNED', 'REOPENED', 'UNCONFIRMED', 'CONFIRMED',
             'WAITING', 'RESOLVED', 'VERIFIED', 'CLOSED'
         ],
     )
     url = h.serialize_url(self.tracker.url + '/buglist.cgi?', **params)
     self.fetch(url)
Example #34
0
    def fetch_all_tickets(self, resolved=False):
        if resolved:
            params = self.resolved_common_url_params()
        else:
            params = self.common_url_params()

        params.update(self.all_users_params())
        if resolved:
            params['reporter'] = params['owner']
            del params['owner']
        url = serialize_url(self.tracker.url + '/query?', **params)
        self.fetch(url)
Example #35
0
 def fetcher(self, ticket_ids, project_selector, component_selector,
             version):
     params = dict(ctype='csv')
     params.update(conditions)
     if ticket_ids:
         params.update(bug_id=','.join(str(id) for id in ticket_ids))
     else:
         if project_selector:
             params.update(product=project_selector)
             if component_selector:
                 params.update(component=component_selector)
     url = h.serialize_url(self.tracker.url + '/buglist.cgi?', **params)
     self.fetch(url)
Example #36
0
 def fetcher(self, ticket_ids, project_selector, component_selector,
             version):
     params = self.resolved_common_url_params(
     ) if resolved else self.common_url_params()
     if ticket_ids:
         params.update(id=[str(id) for id in ticket_ids])
     else:
         if project_selector:
             params.update(client_name=project_selector)
             if component_selector:
                 params.update(component=component_selector)
     url = serialize_url(self.tracker.url + '/query?', **params)
     self.fetch(url)
Example #37
0
    def fetcher(self):
        if resolved:
            # Github doesn't have open resolved
            self.success()
            return

        params = self.common_url_params()
        extra = self.single_user_params() if single else self.all_users_params(
        )
        params.update(extra)

        url = serialize_url(self.tracker.url + 'issues?', **params)
        self.fetch(url)
Example #38
0
 def fetcher(self, ticket_ids, project_selector, component_selector, version):
     params = dict(
         ctype='csv'
     )
     params.update(conditions)
     if ticket_ids:
         params.update(bug_id=','.join(str(id) for id in ticket_ids))
     else:
         if project_selector:
             params.update(product=project_selector)
             if component_selector:
                 params.update(component=component_selector)
     url = h.serialize_url(self.tracker.url + '/buglist.cgi?', **params)
     self.fetch(url)
Example #39
0
 def get_status_of_dependson_and_blocked_bugs(self):
     bug_ids = self.dependson_and_blocked_status.keys()
     if bug_ids:
         url = h.serialize_url('%s/show_bug.cgi?' % self.tracker.url,
                               ctype='xml',
                               id=bug_ids,
                               field=['bug_status', 'bug_id', 'short_desc'])
         headers = self.get_headers()
         self.request(
             url, headers,
             partial(self.xml_response,
                     self.parse_dependson_and_blocked_bugs_xml))
     else:
         self.success()
Example #40
0
 def fetch_user_tickets(self, resolved=False):
     url = self.api_url() + '?'
     if resolved:
         conditions_string = '%s,%s' % (
             self.get_user_conditions(),
             self.get_resolved_conditions(),
         )
     else:
         conditions_string = '%s,%s' % (
             self.get_user_conditions(),
             self.get_unresolved_conditions(),
         )
     full_url = serialize_url(url, conditions_string=conditions_string)
     rpc = self.fetch(full_url)
     self.consume(rpc)
Example #41
0
    def fetch_scrum(self, sprint_name, project_id=None, component_id=None):
        base_url = '%srepos/%s/%s/' % (self.tracker.url, project_id,
                                       component_id)
        milestones_url = ''.join((base_url, 'milestones'))
        issues_url = ''.join((base_url, 'issues?'))
        if self.milestones is None:
            self.fetch_milestones(
                partial(self.fetch_scrum, sprint_name, project_id,
                        component_id), milestones_url)
        elif self.milestones == {}:
            return self.fail('No milestones')
        else:
            opened_bugs_url = serialize_url(
                issues_url,
                **dict(milestone=self.milestones.get(sprint_name),
                       state='open'))

            closed_bugs_url = serialize_url(
                issues_url,
                **dict(milestone=self.milestones.get(sprint_name),
                       state='closed'))

            self.fetch(opened_bugs_url)
            self.fetch(closed_bugs_url)
Example #42
0
 def fetcher(self, ticket_ids, project_selector, component_selector):
     if resolved:
         # bitbucked doesn't have resolved not-closed
         self.success()
         return
     params = self.common_url_params()
     if ticket_ids:
         # query not supported by bitbucket - we will do it manually later
         self.wanted_ticket_ids = ticket_ids
     else:
         # project selector is not supported in bitbucket
         if component_selector:
             params.update(component=component_selector)
     url = serialize_url(self.tracker.url + '/issues?', **params)
     self.fetch(url)
Example #43
0
 def fetch_scrum(self, sprint_name, project_id=None):
     if not self.unfuddle_data:
         self.get_data(partial(self.fetch_scrum, sprint_name, project_id=project_id))
     else:
         projects_reversed = dict((v, k) for k, v in self.unfuddle_data["projects"].iteritems())
         project_id = projects_reversed[project_id]
         url = self.api_url() + "?"
         milestone_id = self.unfuddle_data["milestones"].get((str(project_id), sprint_name))
         if not milestone_id:
             flash("Wrong sprint name")
             self.fail("Wrong sprint name")
         else:
             conditions_string = "milestone-eq-%s" % milestone_id
             full_url = serialize_url(url, conditions_string=conditions_string)
             self.fetch(full_url)
Example #44
0
    def fetch_scrum(self, sprint_name, project_id=None, component_id=None):
        params = dict(
            ctype='csv',
            status_whiteboard_type='regexp',
            status_whiteboard=self.SPRINT_REGEX % sprint_name,
            bug_status=[
                'NEW', 'ASSIGNED', 'REOPENED', 'UNCONFIRMED', 'CONFIRMED',
                'WAITING', 'RESOLVED', 'VERIFIED', 'CLOSED'
            ],
        )
        url = '%s/buglist.cgi' % self.tracker.url

        body = h.serialize_url('', **params)
        rpc = RPC(url=url, method='POST', data=body)
        self.consume(rpc)
Example #45
0
 def fetch_user_tickets(self, resolved=False):
     url = self.api_url() + '?'
     if resolved:
         conditions_string = '%s,%s' % (
             self.get_user_conditions(),
             self.get_resolved_conditions(),
         )
     else:
         conditions_string = '%s,%s' % (
             self.get_user_conditions(),
             self.get_unresolved_conditions(),
         )
     full_url = serialize_url(url, conditions_string=conditions_string)
     rpc = self.fetch(full_url)
     self.consume(rpc)
Example #46
0
 def get_status_of_dependson_and_blocked_bugs(self):
     for bug in self.bugs.itervalues():
         self.dependson_and_blocked_status.update(bug.dependson)
         self.dependson_and_blocked_status.update(bug.blocked)
     
     bug_ids = self.dependson_and_blocked_status.keys()
     if bug_ids:
         url = serialize_url('%s/query?' % self.tracker.url,
                             col=['id', 'status', 'summary'],
                             id=','.join(bug_ids),
                             format='csv')
         
         headers = self.get_headers()
         self.request(url, headers, partial(self.parse_response, self.parse_dependson_and_blocked_bugs_csv))
     else:
         self.success()
Example #47
0
 def fetch_dependons_for_ticket_ids(self, ticket_ids):
     params = dict(
         ctype='xml',
         field=['dependson', 'bug_id', 'bug_severity', 'resolution']
     )
     if ticket_ids:
         ids = []
         for id in ticket_ids:
             if id:
                 ids.append(str(id))
         params.update(id=ids)
     if not ids:
         return self.fail(FetchException(u'Ticket ids list is empty'))
     url = h.serialize_url(self.tracker.url + '/show_bug.cgi?', **params)
     headers = self.get_headers()
     self.request(url, headers, partial(self.xml_response, self.parse_response_of_dependons_for_ticket_ids))
Example #48
0
 def fetch_bug_titles_and_depends_on(self, ticket_ids):
     params = dict(
         ctype='xml',
         field=[
             'dependson', 'bug_id', 'short_desc', 'bug_severity',
             'resolution'
         ],
         id=[str(id) for id in ticket_ids],
         #bug_status=['NEW', 'ASSIGNED', 'REOPENED', 'UNCONFIRMED', 'RESOLVED', 'VERIFIED']
     )
     url = h.serialize_url(self.tracker.url + '/show_bug.cgi?', **params)
     headers = self.get_headers()
     self.request(
         url, headers,
         partial(self.xml_response,
                 self.parse_response_of_bug_titles_and_depends_on))
Example #49
0
    def fetcher(self, ticket_ids, project_selector, component_selector,
                version):
        if resolved:
            # bitbucked doesn't have resolved not-closed
            self.success()
            return

        params = self.common_url_params()
        if ticket_ids:
            # query not supported by bitbucket - we will do it manually later
            self.wanted_ticket_ids = ticket_ids
        else:
            if project_selector and component_selector:
                uri = self.tracker.url + "repos/%s/%s/issues?" % (project_selector, component_selector[0])
                url = serialize_url(uri, **params)

        self.fetch(url)
Example #50
0
 def _fetch_tickets_by_ids(self, ticket_ids, callback):
     params = dict(max='1000',
                   col=[
                       'id', 'blockedby', 'dependencies', 'priority',
                       'severity', 'resolution', 'summary'
                   ],
                   format='csv')
     ids = []
     if ticket_ids:
         for id in ticket_ids:
             if id:
                 ids.append(str(id))
         params['id'] = ids
     if not ids:
         return self.success()
     url = serialize_url(self.tracker.url + '/query?', **params)
     headers = self.get_headers()
     self.request(url, headers, partial(self.parse_response, callback))
Example #51
0
 def fetch_dependons_for_ticket_ids(self, ticket_ids):
     params = dict(
         ctype='xml',
         field=['dependson', 'bug_id', 'bug_severity', 'resolution'])
     if ticket_ids:
         ids = []
         for id in ticket_ids:
             if id:
                 ids.append(str(id))
         params.update(id=ids)
     if not ids:
         return self.fail(FetchException(u'Ticket ids list is empty'))
     url = h.serialize_url(self.tracker.url + '/show_bug.cgi?', **params)
     headers = self.get_headers()
     self.request(
         url, headers,
         partial(self.xml_response,
                 self.parse_response_of_dependons_for_ticket_ids))
Example #52
0
    def fetcher(self, ticket_ids, project_selector, component_selector,
                version):
        if resolved:
            # bitbucked doesn't have resolved not-closed
            self.success()
            return

        params = self.common_url_params()
        if ticket_ids:
            # query not supported by bitbucket - we will do it manually later
            self.wanted_ticket_ids = ticket_ids
        else:
            if project_selector and component_selector:
                uri = self.tracker.url + "repos/%s/%s/issues?" % (
                    project_selector, component_selector[0])
                url = serialize_url(uri, **params)

        self.fetch(url)
Example #53
0
    def get_status_of_dependson_and_blocked_bugs(self):
        for bug in self.bugs.itervalues():
            self.dependson_and_blocked_status.update(bug.dependson)
            self.dependson_and_blocked_status.update(bug.blocked)

        bug_ids = self.dependson_and_blocked_status.keys()
        if bug_ids:
            url = serialize_url('%s/query?' % self.tracker.url,
                                col=['id', 'status', 'summary'],
                                id=','.join(bug_ids),
                                format='csv')

            headers = self.get_headers()
            self.request(
                url, headers,
                partial(self.parse_response,
                        self.parse_dependson_and_blocked_bugs_csv))
        else:
            self.success()