Diff for "Bugs/ImportFormat"

Not logged in - Log In / Register

Differences between revisions 4 and 5
Revision 4 as of 2009-06-18 14:43:59
Size: 5544
Editor: 92-237-59-186
Comment:
Revision 5 as of 2010-03-16 15:34:39
Size: 5665
Editor: tux
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

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>

< Return to the Bugs page

Bugs/ImportFormat (last edited 2019-10-04 11:41:47 by cjwatson)