課題のインポート/エクスポートでのデータ形式

リポジトリ管理者は課題データを Bitbucket にインポートしたり、Bitbucket からエクスポートしたりすることができます。Bitbucket は ZIP パッケージを使用してデータをエクスポート (およびインポート) します。インポートの場合、このパッケージには単一の db-2.0.json ファイルが含まれている必要があり、課題に添付ファイルがある場合はオプションの attachments ディレクトリも含んでいる必要があります。パッケージを展開するには、zip コマンドまたは 7-zip などの GUI ユーティリティを使用します。  

1 2 3 4 $ zip -Tv bitbucket-issues.zip Archive: bitbucket-issues.zip testing: attachments/cow_small.png OK testing: db-2.0.json OK

課題トラッカーのインポート / エクスポート機能を使用して課題を Bitbucket リポジトリ同士で移動しても、課題 ID は保持されます。ただし、コメント ID は変更され、このために固定リンクも変更されます。コメント ID が変更されるのは、コメント ID は課題 ID とは異なり、リポジトリに対してローカルではないためです。 

コメントなどの一部のオブジェクトは外部キーに依存しています。インポートの間、Bitbucket は暗黙的に NULL を使用して、解決できないすべての外部キー (Bitbucket 上に存在しないコメントなど) を置き換えます。

データをエクスポートする際、Bitbucket はスパム フラグが設定された課題はエクスポートしません。サードパーティの拡張機能で作成された ZIP ファイルからデータをインポートしようとすると、Bitbucket の標準のスパム チェックが適用されます。  

db-2.0.json ファイルの例

db-2.0.json ファイルは次のオブジェクトを指定します。

以下は、db-2.0.json ファイルの一例です。

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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 { "issues": [ { "assignee": { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" } "component": null, "content": "Some **issue**.", "content_updated_on": "2013-03-21T03:44:04.660869+00:00", "created_on": "2013-01-22T15:55:13.573339+00:00", "edited_on": null, "id": 1, "kind": "bug", "milestone": "M2", "priority": "major", "reporter": { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" }, "status": "resolved", "title": "Test", "updated_on": "2013-03-21T04:26:26.733922+00:00", "version": null, "watchers": [ { "display_name": "Dylan Etkin", "account_id": "<Dylan's Atlassian account id>" } { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" } ], "voters": [ { "display_name": "Ben Nguyen", "account_id": "<Ben's Atlassian account id>" }, { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" } ] } ], "comments": [ { "content": null, "created_on": "2013-01-26T01:00:55.994000+00:00", "id": 388, "issue": 1, "updated_on": null, "user": { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" } }, { "content": "This is now fixed with unicode: Erik van Z\u0133st", "created_on": "2013-03-21T04:26:26.749032+00:00", "id": 396, "issue": 1, "updated_on": null, "user": { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" } } ], "attachments": [ { "filename": "cow_small.png", "issue": 1, "path": "attachments/cow_small.png", "user": { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" } } ], "logs": [ { "changed_from": "/evzijst/bitbucket/issue-attachment/1/evzijst/bitbucket/1359162055.6/1/cow_small.png", "changed_to": "cow_small.png", "comment": 388, "created_on": "2013-01-26T01:00:55.993900+00:00", "field": "attachment", "issue": 1, "user": { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" } }, { "changed_from": "new", "changed_to": "resolved", "comment": 396, "created_on": "2013-03-21T04:26:26.814711+00:00", "field": "status", "issue": 1, "user": { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" } } ], "meta": { "default_assignee": { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" }, "default_component": "ui", "default_kind": "bug", "default_milestone": null, "default_version": null }, "components": [ { "name": "api" }, { "name": "ui" } ], "milestones": [ { "name": "M1" }, { "name": "M2" }, { "name": "M3" } ], "versions": [ { "name": "0.9" }, { "name": "1.0" } ] }


課題

db-2.0.json ファイルには、1 つの issues 配列が含まれます。配列には 1 つ以上の issue オブジェクトが含まれ、それぞれのオブジェクトには次のフィールドがあります。

フィールド

必須 / 非 null

最大長

説明

assignee

 

 

Bitbucket の表示名とユーザーの Atlassian account_id を含むオブジェクト値 - 例:

1 2 3 4 { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" }

この値は null に設定できます。

component

 

128

コンポーネント名を含む文字列値。この値は components セクションで宣言する必要があります (例: "api")。この値は null に設定できます。

content

 

 

課題の説明を含む文字列値。この値は null に設定できます。

コンテンツは課題の作成/編集に入力される内容と同様に、Markdown 構文で作成されていることが想定されています。ただし、2012 年 10 月 4 日 までは Bitbucket で Creole マークアップが使用されていたため、content_updated_on フィールドの日付がこの日よりも前の場合、content では Creole 構文が想定されます。

content_updated_on

 

課題の説明に加えられた最新の変更のタイムスタンプ。ISO 8601 datetime 形式の非 null 文字列 (例: "2013-03-21T03:44:04.660869+00:00")。

created_on

 

ISO 8601 datetime 形式の非 null 文字列 (例: "2013-01-22T15:55:13.573339+00:00")。

edited_on

 

 

課題の説明に加えられた最新の変更のタイムスタンプ (廃止予定)。ISO 8601 datetime 形式の文字列 (例: "2013-01-22T15:55:13.573339+00:00")。この値は null に設定できます。

id

 

課題の識別子を表す、非 null で一意の正の整数。

kind

16

次の値のいずれかを含む非 null 文字列。

1 "bug""enhancement""proposal""task"

milestone

 

128

マイルストーン名を含む文字列値。この値は milestones セクションで宣言する必要があります (例: "M2")。この値は null に設定できます。

priority

16

次の値のいずれかを含む非 null 文字列。

"trivial"
"minor"
"major"
"critical"
"blocker"

reporter

 

 

Bitbucket の表示名とユーザーの Atlassian account_id を含むオブジェクト値 - 例:

1 2 3 4 { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" }

この値は null に設定できます。

status

16

次の値のいずれかを含む非 null 文字列。

"new"
"open"
"resolved"
"on hold"
"invalid"
"duplicate"
"wontfix"

title

255

課題のタイトルを表す非 null 文字列。この文字列には、255 文字の制限があります。

updated_on

 

課題のステータスの最新の変更のタイムスタンプ。この変更には担当者からステータスまでのあらゆるものが含まれます。ISO 8601 datetime 形式の文字列 (例: "2013-04-21T03:12:04.660869+00:00")。この値は null に設定できません。

version

 

128

バージョン名を含む文字列値。この値は versions セクションで宣言する必要があります (例: "1.0")。この値は null に設定できます。

watchers

 

 

表示名とアカウント ID を含むオブジェクトのリスト。例えば以下のようなものがあります。

1 2 3 4 5 6 7 8 9 10 [ { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" }, { "display_name": "Rani Jaiswal", "account_id": "<Rani's Atlassian account id>" } ]

このリストは空にすることができます。

voters

 

 

表示名とアカウント ID を含むオブジェクトのリスト。例えば以下のようなものがあります。

1 2 3 4 5 6 7 8 9 10 [ { "display_name": "Brandon Pearson", "account_id": "<Brandon's Atlassian account id>" }, { "display_name": "Rani Jaiswal", "account_id": "<Rani's Atlassian account id>" } ]

このリストは空にすることができます。

コメント

db-2.0.json ファイルには、1 つの comments 配列が含まれます。配列には 1 つ以上の comment オブジェクトが含まれ、それぞれのオブジェクトには次のフィールドがあります。

フィールド

必須 / 非 null

最大長

説明

content

 

 

コメントのコンテンツを含む文字列値。この値は null に設定できます。

コンテンツはコメントの作成時に入力される内容と同様に、Markdown 構文で作成されていることが想定されています。ただし、2012 年 10 月 4 日 までは Bitbucket で Creole マークアップが使用されていたため、コメントの日付がこの日よりも前の場合、content には Creole 構文が想定されます。

created_on

 

ISO 8601 datetime 形式の非 null 文字列 (例: "2013-01-26T01:00:55.994000+00:00")。

id

 

comments 配列で一意である、非 null 整数。

issue

 

issues 配列内の既存の issue.id に対する外部キーを表す、非 null 整数。

updated_on

 

 

ISO 8601 datetime 形式の文字列 (例: "2013-04-21T03:12:04.660869+00:00")。この文字列は null に設定できます。

user

 

 

Bitbucket の表示名およびユーザーの Atlassian アカウント ID を含むオブジェクト値 - 例:

1 2 3 4 { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" }

この値は null に設定できます。

attachments

db-2.0.json ファイルには、1 つの attachments 配列が含まれます。配列には 1 つ以上の attachment オブジェクトが含まれ、それぞれのオブジェクトには次のフィールドがあります。

フィールド

必須 / 非 null

最大長

説明

filename

255

課題トラッカーに表示される添付ファイルの名前である非 null 文字列 (例: ""cow_small.png"")。

issue

 

issues 配列内の既存の issue.id に対する外部キーを表す、非 null 整数。

path

 

ZIP 内のファイルの場所を含む非 null 文字列。

user

 

 

Bitbucket の表示名とユーザーの Atlassian account_id を含むオブジェクト値 - 例:

1 2 3 4 { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" }

この値は null に設定できます。

コンポーネント

db-2.0.json ファイルには、1 つの components 配列が含まれます。配列には 1 つ以上の component オブジェクトが含まれ、それぞれのオブジェクトには 1 つの name フィールドがあります。name は一意で、非 null の文字列 (最大 128 文字) である必要があります (例: api)。

milestones

db-2.0.json ファイルには、1 つの milestones 配列が含まれます。配列には 1 つ以上の milestone オブジェクトが含まれ、それぞれのオブジェクトには 1 つの name フィールドがあります。name は一意で、非 null の文字列 (最大 128 文字) である必要があります (例: M2)。

バージョン

db-2.0.json ファイルには、1 つの versions 配列が含まれます。配列には 1 つ以上の version オブジェクトが含まれ、それぞれのオブジェクトには 1 つの name フィールドがあります。name は一意で、非 null の文字列 (最大 128 文字) である必要があります (例: 1.0)。

meta

meta オブジェクトには次のフィールドがあります。

フィールド

必須 / 非 null

最大長

説明

default_assignee

 

 

Bitbucket の表示名とユーザーの Atlassian account_id を含むオブジェクト値 - 例:

1 2 3 4 { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" }

この値は null に設定できます。

default_component

 

128

コンポーネント名を含む文字列値。この値は components セクションで宣言する必要があります (例: "api")。この値は null に設定できます。

default_kind

16

次の値のいずれかを含む非 null 文字列。

1 "bug""enhancement""proposal""task"

default_milestone

 

128

マイルストーン名を含む文字列値。この値は milestones セクションで宣言する必要があります (例: "M2")。この値は null に設定できます。

default_version

 

128

バージョン値を含む文字列値。この値は versions セクションで宣言する必要があります (例: "1.0")。この値は null に設定できます。

logs

db-2.0.jsondb-2.0.json ファイルには、1 つの logs 配列が含まれます。配列には 1 つ以上の log オブジェクトが含まれ、それぞれのオブジェクトには次のフィールドがあります。

フィールド

必須 / 非 null

最大長

説明

changed_from

 

255

元の値を含む 255 文字以下の文字列 (例: "/evzijst/bitbucket/issue-attachment/1/evzijst/bitbucket/1359162055.6/1/cow_small.png")。この値は null に設定できます。

changed_to

255

新しい値を含む 255 文字以下の文字列 (例: "cow_small.png")。この値は null に設定できません。代わりに、フィールドに値がないことを示す場合は空文字列を使用します。

comment

 

comments セクション内の comment.id に対する外部キーである、非 null 整数。

created_on

 

ISO 8601 datetime 形式の非 null 文字列 (例: "2013-01-22T15:55:13.573339+00:00")。

field

32

変更されたフィールドの名前を表す非 null 文字列 (例: "attachment")。この値は 32 文字を超えないようにします。

issue

 

issues 配列内の既存の issue.id に対する外部キーを表す、非 null 整数。

user

 

 

Bitbucket の表示名とユーザーの Atlassian account_id を含むオブジェクト値 - 例:

1 2 3 4 { "display_name": "Erik Van Zijst", "account_id": "<Erik's Atlassian account id>" }

この値は null に設定できます。

その他のヘルプ