日本語
Milestone ドラフト
マイルストーン
プロジェクトの中でタスクをまとめる、予定の目標です。Redmine のバージョン、GitHub や GitLab のマイルストーン、Jira の修正バージョンなどにあたります。名前、期限、状態を持ちます。
| 種類 | エンティティ |
| 型 IRI | https://datamodels.jp/ns/task/Milestone |
| @context | https://datamodels.jp/context/task/v1.jsonld |
| JSON Schema | /schema/task/Milestone/v1.json |
| ライセンス | CC0 1.0:ファイル(@context、JSON Schema、例)は条件なしで使えます |
この @context と JSON Schema の URL は、常に互換性のある最新版を指します。
内容が変わらない URL はバージョンにあります。詳しくはURL とバージョンを見てください。
型と関係
Relationship(属性名)ほか N 件: その型のページに続きがある
属性
| 属性 | 説明 | 値 |
|---|---|---|
name* | 名称https://uri.etsi.org/ngsi-ld/name | Property, string |
description | 説明http://purl.org/dc/terms/description | Property, string |
project | 所属するプロジェクトhttps://datamodels.jp/ns/task/project | Relationship → Project |
start | 予定期間の開始。日付か日時https://datamodels.jp/ns/task/start | Property, string (日付または日時) |
due | 期限(予定しているリリースや完了)。日付か日時https://datamodels.jp/ns/task/due | Property, string (日付または日時) |
milestoneStatus | 状態:open(受付中)、locked(ロック中。新しいタスクを追加できない)、closed(完了)。status は core context の予約語なので、milestoneStatus という名前にしています。https://datamodels.jp/ns/task/milestoneStatus | Property, string: open | locked | closed |
source | 元のシステムでのこのマイルストーンの URLhttps://smart-data-models.github.io/data-models/terms.jsonld#/definitions/source | Property, string (uri) |
externalId | 元のシステムでの識別子https://datamodels.jp/ns/task/externalId | Property, string |
dateCreated | 元のシステムでの作成日時(ブローカーの createdAt とは別)https://smart-data-models.github.io/data-models/terms.jsonld#/definitions/dateCreated | Property, string (date-time) |
dateModified | 元のシステムでの更新日時https://smart-data-models.github.io/data-models/terms.jsonld#/definitions/dateModified | Property, string (date-time) |
* は必須の属性です。
このモデルを使う
データの検証とブローカーへの送り方は使い方にあります。
このモデルに独自の属性を足すときは、拡張ビルダーで @context と JSON Schema を作れます。
このモデルを拡張したら、フォームで登録してください。ほかの組織が同じ名前を使えます(フォームの書き方)。
特定のブローカーやツールにそのまま読み込めるファイルも、このモデルから作っています:アダプター
本文に @context を書かずに送るときの Link ヘッダー:
httpLink: <https://datamodels.jp/context/task/v1.jsonld>; rel="http://www.w3.org/ns/json-ld#context"; type="application/ld+json"
例
例は架空のシナリオ(東京都千代田区の大雨対応)です。地名とコードは実在のものですが、出来事・人・チームは架空です。書き方は例の書き方にあります。
json
{
"id": "urn:ngsi-ld:Milestone:heavy-rain-2026-07-initial",
"type": "Milestone",
"name": "初動対応(発災から 72 時間)",
"description": "被害状況の確認と通行規制の設定を終えるまでの段階",
"project": "urn:ngsi-ld:Project:heavy-rain-2026-07",
"start": "2026-07-08T07:00:00+09:00",
"due": "2026-07-11",
"milestoneStatus": "open",
"source": "https://tracker.example.jp/versions/7",
"externalId": "7",
"dateCreated": "2026-07-08T06:30:00+09:00",
"dateModified": "2026-07-08T09:15:00+09:00"
}ファイル: example.json · example-normalized.jsonld · JSON-LD Playground で開く:属性ごとの IRI(展開形)が見られます。
改善の提案
属性が足りない、説明がおかしいと思ったら、Issue で知らせてください。新しい属性やモデルは提案フォームから提案できます。進め方は貢献するにあります。 ソースファイル(注記、対応表)は GitHub にあります。
参照している標準
このモデルが対応している標準と、項目ごとの対応です。開くと対応表が見られます。
GitHub のマイルストーン
| このモデル | 対応先 | 備考 |
|---|---|---|
name | title | |
description | description | |
project | url | リポジトリは url の repos/owner/repo の部分。Project.identifier = owner/repo |
start | 対応なし | |
due | due_on | API の due_on は日時だが、GitHub の画面で設定するのは日付だけで、時刻に意味はない |
milestoneStatus | state | open → open、closed → closed。locked は無い |
source | html_url | |
externalId | number | |
dateCreated | created_at | |
dateModified | updated_at |
この標準のデータを変換するための対応表(YAML): github.yaml(使い方はデータを変換する)
Redmine のバージョン
| このモデル | 対応先 | 備考 |
|---|---|---|
name | name | |
description | description | |
project | project.id | |
start | 対応なし | Redmine はバージョンの開始日を持たず、課題の開始日から計算する |
due | due_date | 日付(YYYY-MM-DD)のまま入れる |
milestoneStatus | status | open、locked、closed をそのまま |
source | <base_url>/versions/<id> | |
externalId | id | |
dateCreated | created_on | |
dateModified | updated_on |
この標準のデータを変換するための対応表(YAML): redmine.yaml(使い方はデータを変換する)
注記
- 核は意図して小さくしています。システム固有のデータ(作業時間、ウォッチャー、カスタムフィールド、地図の回転など)は拡張に入れます。
- status はコアコンテキストの予約語なので、milestoneStatus としています。locked は Redmine と同じ意味で、新しいタスクを加えられない状態です。GitHub と GitLab には open と closed しかありません。
- タスクは、Task.milestone でマイルストーンを指します。1 つのタスクが指すマイルストーンは 1 つで、Redmine、GitHub、GitLab と同じです。Jira の修正バージョンは複数持てるので、2 つ目からは拡張で扱います。
- 2026-10-09 の変更(チームの決定。プレリリース中のため 1.0.0 をその場で修正):Comment と Attachment をこのサブジェクトから外し、Milestone を加えました。メモやファイルはタスクに固有のものではなく、どのエンティティにも付くからです。この 2 つは、Redmine のジャーナルと添付ファイル、そして 2026-09-24 に削除した高松市の災害対応モデルから来ていました。GTT 自体は、ジャーナルも添付ファイルも出力しません。アプリケーションが必要とするときは、schema.org の語(Comment、MediaObject)を再利用します。どのエンティティにも結べる形で、common サブジェクトに置きます。Milestone は、Redmine(バージョン)、GitHub と GitLab(マイルストーン)、Jira(修正バージョン)に共通するものです:名前、説明、期限、状態(受付中・完了)、プロジェクト。元の設計は Issue #22 にあります。
- 2026-10-09 の変更(チームの決定。プレリリース中のため 1.0.0 をその場で修正):start と due は、日付(YYYY-MM-DD)でも日時でも構いません。Redmine(開始日、期日、バージョンの期日)、GitHub のマイルストーン(画面では日付)、GitLab、多くの自治体の作業指示は、日付しか持たないからです。日付を日時に直すと、元のデータに無い時刻を作ることになります。最初の実装(GTT の Redmine プラグイン)は、日付をそのまま出力します。RFC 8984 の start と due は時差を含まない日時(LocalDateTime)なので、この点は RFC 8984 と異なります。normalized 形式では、日付は NGSI-LD の Date、日時は DateTime の値になります。