課題のインポート/エクスポートでのデータ形式
リポジトリ管理者は課題データを 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 | 最大長 | 説明 |
---|---|---|---|
|
|
| Bitbucket の表示名とユーザーの Atlassian account_id を含むオブジェクト値 - 例: {
"display_name": "Erik Van Zijst",
"account_id": "<Erik's Atlassian account id>"
} この値は null に設定できます。 |
|
| 128 | コンポーネント名を含む文字列値。この値は |
|
|
| 課題の説明を含む文字列値。この値は null に設定できます。 コンテンツは課題の作成/編集に入力される内容と同様に、Markdown 構文で作成されていることが想定されています。ただし、2012 年 10 月 4 日 までは Bitbucket で Creole マークアップが使用されていたため、 |
|
| 課題の説明に加えられた最新の変更のタイムスタンプ。ISO 8601 datetime 形式の非 null 文字列 (例: " | |
|
| ISO 8601 datetime 形式の非 null 文字列 (例: " | |
|
|
| 課題の説明に加えられた最新の変更のタイムスタンプ (廃止予定)。ISO 8601 datetime 形式の文字列 (例: " |
|
| 課題の識別子を表す、非 null で一意の正の整数。 | |
| 16 | 次の値のいずれかを含む非 null 文字列。 "bug""enhancement""proposal""task"
| |
|
| 128 | マイルストーン名を含む文字列値。この値は |
| 16 | 次の値のいずれかを含む非 null 文字列。
| |
|
|
| Bitbucket の表示名とユーザーの Atlassian account_id を含むオブジェクト値 - 例: {
"display_name": "Erik Van Zijst",
"account_id": "<Erik's Atlassian account id>"
} この値は null に設定できます。 |
| 16 | 次の値のいずれかを含む非 null 文字列。
| |
| 255 | 課題のタイトルを表す非 null 文字列。この文字列には、255 文字の制限があります。 | |
|
| 課題のステータスの最新の変更のタイムスタンプ。この変更には担当者からステータスまでのあらゆるものが含まれます。ISO 8601 datetime 形式の文字列 (例: " | |
|
| 128 | バージョン名を含む文字列値。この値は |
|
|
| 表示名とアカウント ID を含むオブジェクトのリスト。例えば以下のようなものがあります。 [
{
"display_name": "Erik Van Zijst",
"account_id": "<Erik's Atlassian account id>"
},
{
"display_name": "Rani Jaiswal",
"account_id": "<Rani's Atlassian account id>"
}
] このリストは空にすることができます。 |
|
|
| 表示名とアカウント 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 | 最大長 | 説明 |
---|---|---|---|
|
|
| コメントのコンテンツを含む文字列値。この値は null に設定できます。 コンテンツはコメントの作成時に入力される内容と同様に、Markdown 構文で作成されていることが想定されています。ただし、2012 年 10 月 4 日 までは Bitbucket で Creole マークアップが使用されていたため、コメントの日付がこの日よりも前の場合、 |
|
| ISO 8601 datetime 形式の非 null 文字列 (例: " | |
|
|
| |
|
|
| |
|
|
| ISO 8601 datetime 形式の文字列 (例: " |
|
|
| 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 | 最大長 | 説明 |
---|---|---|---|
| 255 | 課題トラッカーに表示される添付ファイルの名前である非 null 文字列 (例: " | |
|
|
| |
|
| ZIP 内のファイルの場所を含む非 null 文字列。 | |
|
|
| 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 | 最大長 | 説明 |
---|---|---|---|
|
|
| Bitbucket の表示名とユーザーの Atlassian account_id を含むオブジェクト値 - 例: {
"display_name": "Erik Van Zijst",
"account_id": "<Erik's Atlassian account id>"
} この値は null に設定できます。 |
|
| 128 | コンポーネント名を含む文字列値。この値は |
| 16 | 次の値のいずれかを含む非 null 文字列。 "bug""enhancement""proposal""task" | |
|
| 128 | マイルストーン名を含む文字列値。この値は |
|
| 128 | バージョン値を含む文字列値。この値は |
logs
db-2.0.json
db-2.0.json
ファイルには、1 つの logs
配列が含まれます。配列には 1 つ以上の log
オブジェクトが含まれ、それぞれのオブジェクトには次のフィールドがあります。
フィールド | 必須 / 非 null | 最大長 | 説明 |
---|---|---|---|
|
| 255 | 元の値を含む 255 文字以下の文字列 (例: |
| 255 | 新しい値を含む 255 文字以下の文字列 (例: | |
|
|
| |
|
| ISO 8601 datetime 形式の非 null 文字列 (例: " | |
| 32 | 変更されたフィールドの名前を表す非 null 文字列 (例: | |
|
|
| |
|
|
| Bitbucket の表示名とユーザーの Atlassian account_id を含むオブジェクト値 - 例: {
"display_name": "Erik Van Zijst",
"account_id": "<Erik's Atlassian account id>"
} この値は null に設定できます。 |
この内容はお役に立ちましたか?