プロジェクトの追加
準備
プロジェクトの追加時には、管理者のユーザー ID や適用するプロファイルの ID を指定する必要があります。 そのため、これらの情報をあらかじめ取得しておきます。
ユーザーの取得
プロジェクトの管理者に指定するユーザーの ID を取得します。 自分自身の情報は以下の API で簡単に取得できます。
GET /api/system/users/me
自分以外のユーザーの情報は、ユーザー一覧の取得の API を使用して名前などから検索します。
GET /api/system/users
プロファイルの取得
プロジェクトに適用するプロファイル の ID を取得します。 プロファイル一覧の取得の API を使用して、公開されているプロファイルのうち、特定プロジェクトに固有でないプロファイルを取得します。
GET /api/system/profiles?isPublished=true&isProjectPrivate=false
プロファイル一覧の取得の API では、同じプロファイルのバージョン違いが含まれる場合があります。 各プロファイルの最新版のみを取得したい場合は以下の API を使用できます。
GET /api/system/profiles/latest?isPublished=true&isProjectPrivate=false
プロジェクトカテゴリの取得
プロジェクトカテゴリを設定する場合、各プロジェクトカテゴリに設定可能な値を取得し、その中から適切な値を指定する必要があります。 そのため、プロジェクトカテゴリ一覧の取得の API を使用して、プロジェクトカテゴリの情報を取得します。
GET /api/system/projectCategories
各プロジェクトカテゴリの allowedValues フィールドから、そのプロジェクトカテゴリに設定できる値の選択肢がカンマ区切りの文字列として取得できます。
プロジェクトの追加
必要な情報が揃ったらプロジェクトの追加の API を使用してプロジェクトを追加します。
POST /api/project/projects
{
"name": "XX機能の開発",
"baseProfileId" : "1",
"managerId": "21",
"plannedStartDate": "2022-10-01",
"plannedFinishDate": "2023-03-31"
}
プロジェクトの追加には最低限以下の情報が必要です。
- 名前
- 適用するプロファイルのID
- 管理者のユーザーID
- 開始日
- 終了日
プロジェクトカテゴリを指定する場合
プロジェクトカテゴリは projectCategories パラメータにプロジェクトカテゴリの name をキーとしたキー・バリューの形式で指定します。
POST /api/project/projects
{
"name": "XX機能の開発",
"baseProfileId" : "1",
"managerId": "21",
"plannedStartDate": "2022-10-01",
"plannedFinishDate": "2023-03-31",
"projectCategories": {
"顧客": "A社",
"業務分野": "開発",
"業務種別": "支援",
"案件重要度": "中"
}
}
projectCategories パラメータでは、プロジェクトカテゴリの systemName でなく name を使用します。
プロジェクトメンバーを指定する場合
プロジェクトの追加時にプロジェクトメンバーも指定する場合は、リクエストボディの members にユーザーの情報を指定します。
POST /api/project/projects
{
"name": "XX機能の開発",
"baseProfileId" : "1",
"managerId": "21",
"plannedStartDate": "2022-10-01",
"plannedFinishDate": "2023-03-31",
"members": [
{
"partyId": "14",
"partyType": "User",
"unitCost": 3000
},
{
"partyId": "23",
"partyType": "User",
"unitCost": 4000
}
]
}
members[].partyIdにはユーザーの ID を指定します。members[].partyTypeには"User"を指定します。members[].unitCostにはプロジェクトメンバーのコスト単価を指定します。省略した場合は、システムで定義されたユーザーのコスト単価と同じ値になります。
プロジェクト管理者のユーザーは自動的にプロジェクトメンバーになります。
プロジェクトの追加後にユーザーのコスト単価を変更しても、プロジェクトメンバーのコスト単価には影響しません。
レスポンス
レスポンスには追加したプロジェクトの ID を返します。
プロジェクトメンバーを追加した場合は、addedMemberIds フィールドに追加したプロジェクトメンバーの ID を含めて返します。
{
"id": "31",
"addedMemberIds": ["229", "230", "231"]
}