プレリリース版です。正式公開までは、公開済みのファイルも含めて内容が変わることがあります。
Skip to content

出典: https://datamodels.jp/models/task/Milestone/ · 文章は CC BY 4.0

Milestone ドラフト ​

マイルストーン

プロジェクトの中でタスクをまとめる、予定の目標です。Redmine のバージョン、GitHub や GitLab のマイルストーン、Jira の修正バージョンなどにあたります。名前、期限、状態を持ちます。

種類エンティティ
型 IRIhttps://datamodels.jp/ns/task/Milestone
@contexthttps://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 とバージョンを見てください。

型と関係 ​

型と関係の図projectmilestoneMilestoneマイルストーンProjectプロジェクトほか 3 件の関係 →Taskタスクほか 5 件の関係 →

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元のシステムでのこのマイルストーンの URL
https://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 ヘッダー:

    http
    Link: <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 のマイルストーン10 項目中 9 項目が対応
このモデル対応先備考
nametitle
descriptiondescription
projecturlリポジトリは url の repos/owner/repo の部分。Project.identifier = owner/repo
start対応なし
duedue_onAPI の due_on は日時だが、GitHub の画面で設定するのは日付だけで、時刻に意味はない
milestoneStatusstateopen → open、closed → closed。locked は無い
sourcehtml_url
externalIdnumber
dateCreatedcreated_at
dateModifiedupdated_at

この標準のデータを変換するための対応表(YAML): github.yaml(使い方はデータを変換する)

Redmine のバージョン10 項目中 9 項目が対応
このモデル対応先備考
namename
descriptiondescription
projectproject.id
start対応なしRedmine はバージョンの開始日を持たず、課題の開始日から計算する
duedue_date日付(YYYY-MM-DD)のまま入れる
milestoneStatusstatusopen、locked、closed をそのまま
source<base_url>/versions/<id>
externalIdid
dateCreatedcreated_on
dateModifiedupdated_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 の値になります。