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

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

$ 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 ファイルの一例です。

{ "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 を含むオブジェクト値 - 例:

{ "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 文字列。

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

milestone

 

128

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

priority

16

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

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

reporter

 

 

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

{ "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 を含むオブジェクトのリスト。例えば以下のようなものがあります。

[ { "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 を含むオブジェクトのリスト。例えば以下のようなものがあります。

[ { "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 を含むオブジェクト値 - 例:

{ "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 を含むオブジェクト値 - 例:

{ "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 を含むオブジェクト値 - 例:

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

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

default_component

 

128

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

default_kind

16

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

"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 を含むオブジェクト値 - 例:

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

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

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。