課題インポート/エクスポートでの日付の形式について
リポジトリ管理者は課題データを 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"
}
]
}
issues
db-2.0.json
ファイルには、1 つの issues
配列が含まれます。配列には 1 つ以上の issue
オブジェクトが含まれ、それぞれのオブジェクトには次のフィールドがあります。
フィールド | 必須 / 非 null | 最大長 | 説明 |
---|---|---|---|
assignee | An object value containing a Bitbucket display name and the user's Atlassian account_id - for example:
この値は null に設定できます。 | ||
component | 128 | コンポーネント名を含む文字列値。この値は components セクションで宣言する必要があります (例: "api ")。この値は null に設定できます。 | |
content | 課題の説明を含む文字列値。この値は null に設定できます。 コンテンツは、課題の作成 / 編集に入力された内容と同様に、Markdown 構文で作成されていることを想定されています。ただし、 までは Bitbucket で 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 文字列。
| |
milestone | 128 | マイルストーン名を含む文字列値。この値は milestones セクションで宣言する必要があります (例: "M2 ")。この値は null に設定できます。 | |
priority | 16 | 次の値のいずれかを含む非 null 文字列。
| |
reporter | An object value containing a Bitbucket display name and the user's Atlassian account_id - for example:
この値は null に設定できます。 | ||
status | 16 | 次の値のいずれかを含む非 null 文字列。
| |
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 を含むオブジェクトのリスト。例えば以下のようなものがあります。
このリストは空にすることができます。 | ||
voters | 表示名とアカウント ID を含むオブジェクトのリスト。例えば以下のようなものがあります。
このリストは空にすることができます。 |
コメント
db-2.0.json
ファイルには、1 つの comments
配列が含まれます。配列には 1 つ以上の comment
オブジェクトが含まれ、それぞれのオブジェクトには次のフィールドがあります。
フィールド | 必須 / 非 null | 最大長 | 説明 |
---|---|---|---|
content | コメントのコンテンツを含む文字列値。この値は null に設定できます。 コンテンツは、コメントの作成時に入力された内容と同様に、Markdown 構文で作成されていることを想定されています。ただし、 までは Bitbucket で 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 を含むオブジェクト値 - 例:
この値は 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 | An object value containing a Bitbucket display name and the user's Atlassian account_id - for example:
この値は 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 | An object value containing a Bitbucket display name and the user's Atlassian account_id - for example:
この値は null に設定できます。 | ||
default_component | 128 | コンポーネント名を含む文字列値。この値は components セクションで宣言する必要があります (例: "api ")。この値は null に設定できます。 | |
default_kind | 16 | 次の値のいずれかを含む非 null 文字列。
| |
default_milestone | 128 | マイルストーン名を含む文字列値。この値は milestones セクションで宣言する必要があります (例: "M2 ")。この値は null に設定できます。 | |
default_version | 128 | バージョン値を含む文字列値。この値は versions セクションで宣言する必要があります (例: "1.0 ")。この値は null に設定できます。 |
logs
db-2.0.json
db-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 | An object value containing a Bitbucket display name and the user's Atlassian account_id - for example:
この値は null に設定できます。 |