~launchpad-pqm/launchpad/devel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
Bug tracker
===========

The bug tracker set is exported as a collection at /bugs/bugtrackers that
any user can access.

    >>> from lazr.restful.testing.webservice import (
    ...     pprint_collection, pprint_entry)

    >>> bug_tracker_collection = anon_webservice.get(
    ...     '/bugs/bugtrackers').jsonBody()
    >>> pprint_collection(bug_tracker_collection)
    next_collection_link: u'http://.../bugs/bugtrackers?ws.start=5&ws.size=5'
    resource_type_link: u'http://.../#bug_trackers'
    start: 0
    total_size: 8
    ---
    active: True
    base_url: u'https://bugzilla.mozilla.org/'
    base_url_aliases: []
    bug_tracker_type: u'Bugzilla'
    contact_details: u'Carrier pigeon only'
    has_lp_plugin: None
    name: u'mozilla.org'
    registrant_link: u'http://.../~name12'
    resource_type_link: u'http://.../#bug_tracker'
    self_link: u'http://.../bugs/bugtrackers/mozilla.org'
    summary: u'The Mozilla.org bug tracker is the grand-daddy of ...'
    title: u'The Mozilla.org Bug Tracker'
    watches_collection_link: u'http:.../bugs/bugtrackers/mozilla.org/watches'
    web_link: u'http://bugs.launchpad.dev/bugs/bugtrackers/mozilla.org'
    --- ...

A bug tracker can be retrieved using the the bug tracker collection's
getByName named operation.

    >>> bug_tracker = anon_webservice.named_get(
    ...     '/bugs/bugtrackers', 'getByName',
    ...     name='gnome-bugzilla').jsonBody()
    >>> print bug_tracker['name']
    gnome-bugzilla

A bug tracker can be retrieved using the the bug tracker collection's
queryByBaseURL named operation.

    >>> bug_tracker = anon_webservice.named_get(
    ...     '/bugs/bugtrackers', 'queryByBaseURL',
    ...     base_url='https://bugzilla.mozilla.org/').jsonBody()
    >>> print bug_tracker['name']
    mozilla.org

The bug tracker set provides the ensureBugTracker named operation that a
logged in user can call to create a bug tracker.

    >>> params = dict(
    ...     base_url='http://wombat.zz/', bug_tracker_type='Bugzilla',
    ...     name='wombat', title='Wombat title', summary='Wombat summary',
    ...     contact_details='big-nose@wombat.zz')
    >>> print webservice.named_post(
    ...     '/bugs/bugtrackers', 'ensureBugTracker', **params)
    HTTP/1.1 201 Created ...
    Location: http://.../bugs/bugtrackers/wombat ...

    >>> bug_tracker = webservice.get('/bugs/bugtrackers/wombat').jsonBody()
    >>> pprint_entry(bug_tracker)
    active: True
    base_url: u'http://wombat.zz/'
    base_url_aliases: []
    bug_tracker_type: u'Bugzilla'
    contact_details: u'big-nose@wombat.zz'
    has_lp_plugin: False
    name: u'wombat'
    registrant_link: u'http://.../~salgado'
    resource_type_link: u'http://.../#bug_tracker'
    self_link: u'http://.../bugs/bugtrackers/wombat'
    summary: u'Wombat summary'
    title: u'Wombat title'
    watches_collection_link: u'http://.../bugs/bugtrackers/wombat/watches'
    web_link: u'http://bugs.launchpad.dev/bugs/bugtrackers/wombat'