Size: 5544
Comment:
|
Size: 5665
Comment: Added xml prolog to example and a note about dateTime timezones.
|
Deletions are marked like this. | Additions are marked like this. |
Line 23: | Line 23: |
# xsd:dateTime elements must be expressed in UTC and have the trailing timezone indicator 'Z'. |
|
Line 112: | Line 114: |
<?xml version="1.0"?> |
Launchpad Help > Bugs > Bug import format
Contents |
Overview
You can move your project's bug history to Launchpad by converting the history into Launchpad's import format and then https://answers.launchpad.net/launchpad the Launchpad team to make the import.
Important: this format is a draft and may change. Subscribe to this page if you want to receive an email when we make updates.
The format
default namespace = "https://launchpad.net/xmlns/2006/bugs" start = lpbugs # Data types boolean = "True" | "False" lpname = xsd:string { pattern = "[a-z0-9][a-z0-9\+\.\-]*" } cvename = xsd:string { pattern = "(19|20)[0-9][0-9]-[0-9][0-9][0-9][0-9]" } # xsd:dateTime elements must be expressed in UTC and have the trailing timezone indicator 'Z'. status = ( "NEW" | "INCOMPLETE" | "INVALID" | "WONTFIX" | "CONFIRMED" | "TRIAGED" | "INPROGRESS" | "FIXCOMMITTED" | "FIXRELEASED" | "UNKNOWN") importance = ( "UNKNOWN" | "CRITICAL" | "HIGH" | "MEDIUM" | "LOW" | "WISHLIST" | "UNDECIDED") # Content model for a person element. The element content is the # person's name. For successful bug import, an email address must be # provided. person = ( attribute name { lpname }?, attribute email { text }?, text) lpbugs = element launchpad-bugs { bug* } bug = element bug { attribute id { xsd:integer } & element private { boolean }? & element security_related { boolean }? & element duplicateof { xsd:integer }? & element datecreated { xsd:dateTime } & element nickname { lpname }? & # The following will likely be renamed summary in a future version. element title { text } & element description { text } & element reporter { person } & element status { status } & element importance { importance } & element milestone { lpname }? & element assignee { person }? & element urls { element url { attribute href { xsd:anyURI }, text }* }? & element cves { element cve { cvename }* }? & element tags { element tag { lpname }* }? & element bugwatches { element bugwatch { attribute href { xsd:anyURI } }* }? & element subscriptions { element subscriber { person }* }? & comment+ } # A bug has one or more comments. The first comment duplicates the # reporter, datecreated, title, description of the bug. comment = element comment { element sender { person } & element date { xsd:dateTime } & element title { text }? & element text { text } & attachment* } # A bug attachment. Attachments are associated with a bug comment. attachment = element attachment { attribute href { xsd:anyURI }? & element type { "PATCH" | "UNSPECIFIED" }? & element filename { text }? & # The following will likely be renamed summary in a future version. element title { text }? & element mimetype { text }? & element contents { xsd:base64Binary } }
An example
<?xml version="1.0"?> <launchpad-bugs xmlns="https://launchpad.net/xmlns/2006/bugs"> <bug xmlns="https://launchpad.net/xmlns/2006/bugs" id="45"> <private>True</private> <security_related>True</security_related> <datecreated>2004-10-12T12:00:00Z</datecreated> <nickname>some-bug</nickname> <title>A test bug</title> <description>A modified bug description</description> <reporter name="foo" email="foo@example.com">Foo User</reporter> <status>CONFIRMED</status> <importance>HIGH</importance> <milestone>future</milestone> <assignee email="bar@example.com">Bar User</assignee> <cves> <cve>2005-2736</cve> <cve>2005-2737</cve> </cves> <tags> <tag>foo</tag> <tag>bar</tag> </tags> <bugwatches> <bugwatch href="http://bugzilla.example.com/show_bug.cgi?id=42" /> <!-- The following tracker has not been registered --> <bugwatch href="http://bugzilla.example.com/show_bug.cgi?id=43" /> </bugwatches> <subscriptions> <subscriber email="test@canonical.com">Sample Person</subscriber> <subscriber name="nobody">Nobody (will not get imported)</subscriber> </subscriptions> <comment> <sender name="foo" email="foo@example.com">Foo User</sender> <date>2004-10-12T12:00:00Z</date> <title>A test bug</title> <text>Original description</text> <attachment> <type>UNSPECIFIED</type> <filename>hello.txt</filename> <title>Hello</title> <mimetype>text/plain</mimetype> <contents>SGVsbG8gd29ybGQ=</contents> </attachment> </comment> <comment> <!-- anonymous comment --> <sender name="nobody"/> <date>2005-01-01T11:00:00Z</date> <text>A comment from an anonymous user</text> </comment> <comment> <sender email="other@example.com">Some other bloke</sender> <date>2005-01-01T13:00:00Z</date> <text> A comment from mark about CVE-2005-2730 * list item 1 * list item 2 Another paragraph </text> <attachment> <mimetype>application/octet-stream;key=value</mimetype> <contents>PGh0bWw+</contents> </attachment> <attachment> <type>PATCH</type> <filename>foo.patch</filename> <mimetype>text/html</mimetype> <contents>QSBwYXRjaA==</contents> </attachment> </comment> </bug></launchpad-bugs>