Diff for "Bugs/ImportFormat"

Not logged in - Log In / Register

Differences between revisions 6 and 7
Revision 6 as of 2010-08-25 13:05:02
Size: 6537
Editor: 24-179-42-225
Comment:
Revision 7 as of 2010-09-23 10:49:47
Size: 6541
Editor: host86-183-152-7
Comment:
Deletions are marked like this. Additions are marked like this.
Line 18: Line 18:
 2. Install rnv
 3. Run: rnv bug-export.rnc your-export-file.xml
 2. Install `rnv`
 3. Run: `rnv bug-export.rnc your-export-file.xml`

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.

For now, you can file a request at https://answers.launchpad.net/malone asking the Launchpad bugs team to make the import. We are moving toward providing a script using the Launchpad API to enable self-service imports. Either way, you need to get your bugs into Launchpad's bug export format first.

Requirements

Before we can import bugs into Launchpad, your export file must validate. Please validate the file against the export format spec in the Launchpad tree before requesting an import.

To do this:

  1. Download bug-export.rnc

  2. Install rnv

  3. Run: rnv bug-export.rnc your-export-file.xml

rnv must not report any errors before we can attempt an import of your bugs into Launchpad.

Consult the format spec below to understand the errors rnv reports.

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)