プロジェクトの追加
説明
プロジェクトを追加します。
必要権限
プロジェクトの作成
URL
POST /project/projects
リクエストボディ
| 名前 | 型 | 必須か | 説明 | 
|---|---|---|---|
| name | string | ○ | プロジェクト名 | 
| code | string | ○ | プロジェクトのコード | 
| description | string | × | プロジェクトの説明 | 
| managerId | string | ○ | 管理者ID | 
| manager | string | × | 管理者 ユーザーの「ログイン名」、「LDAPログイン名」、「メールアドレス」、「名前」に完全一致するユーザーのIDを管理者IDとして更新処理を行います。  | 
| baseProfileId | string | × | プロファイルID [Standard エディションの制約事項] 1以外を指定した場合はエラーになります。  | 
| baseProfile | string | × | プロファイル プロファイルの「コード」、「名前」に完全一致するプロファイルのIDをプロファイルIDとして追加処理を行います。  | 
| organizationId | string | × | 所属する組織のID | 
| organization | string | × | 所属する組織 組織の「コード」、「名前」に完全一致する組織のIDを組織IDとして更新処理を行います。  | 
| members | MemberAdd | × | メンバー | 
| userGroups | UserGroupAdd | × | ユーザーグループ | 
| plannedStartDate | DateTime | ○ | プロジェクト開始日 | 
| plannedFinishDate | DateTime | ○ | プロジェクト終了日 | 
| isFinished | boolean | × | プロジェクトが完了しているか | 
| standardUnitCost | double | × | 標準コスト | 
| projectCategories | <string, string>[] | × | プロジェクトカテゴリ | 
| metadata | <string, string> | × | キーと値のコレクション - 追加時 : 値が null の項目を除いて設定する - 更新時 : キーが指定されなかった項目は変更しない。値が null に指定された項目は削除する  | 
レスポンス
| 名前 | 型 | 説明 | 
|---|---|---|
| projectId | string | プロジェクトID | 
| addedMemberIds | string[] | 追加したプロジェクトメンバーID | 
| addedUserGroupIds | string[] | 追加したプロジェクトのユーザーグループID | 
エラーケース
- コードが未指定
 - 管理者に指定したユーザーが存在しない
 - 指定したベースプロファイルが存在しない
 - 指定した所属組織が存在しない
 - 指定したメンバーが存在しない
 - プロジェクトコードが重複する
 - プロジェクトの管理者にユーザー以外を指定する
 - 開始日と終了日が不正である
 - プロジェクト固有のユーザーグループにプロジェクトメンバでないパーティを追加しようとする
 
特記事項
- code のユニークチェックを行うかは、システム設定の「プロジェクトコードをユニークチェックするか」の設定に従います。
 - プロジェクトの期間(開始日、終了日)は、プロジェクトのアイテムの期間に制約を与えません。
 - プロジェクトを完了 (isFinished=true) しても、プロジェクトの編集やアイテムの編集には影響しません。
 - コスト権限がない場合はコストの設定は無視します。
 - プロジェクトを追加してから編集可能になるまでタイムラグがあります。
 
サンプル
プロジェクトを追加する(プロジェクトメンバーとプロジェクトカテゴリを含む)
リクエスト
POST /project/projects
{
    "name": "Cソフト開発",
  "code": "PRJ-500",
    "managerId": "21",
    "plannedStartDate": "2019-01-01",
    "plannedFinishDate": "2019-03-31",
    "members":[
        {"partyId":"14","partyType":"User","unitCost":5000},
        {"partyId":"15","partyType":"User","unitCost":5000},
        {"partyId":"17","partyType":"User","unitCost":5000},
        {"partyId":"21","partyType":"User","unitCost":5000},
        {"partyId":"23","partyType":"User","unitCost":5000},
        {"partyId":"40","partyType":"User","unitCost":5000}
    ],
    "projectCategories": {"顧客":"A社","業務分野":"開発","重要度":"高"}
}
レスポンス
200 OK
{
    "id":"27",
    "addedMemberIds":[
        "194",
        "195",
        "196",
        "197",
        "198",
        "199"
    ]
}
型定義
MemberAdd
| 名前 | 型 | 必須か | 説明 | 
|---|---|---|---|
| partyId | string | × | パーティID partyIdフィールドとuserフィールドのどちらかを指定する必要があります。  | 
| partyType | string | ○ | メンバーの種類。 以下の値を設定できます。 ・User: ユーザー  | 
| user | string | × | ユーザー ユーザーの「ログイン名」、「LDAPログイン名」、「メールアドレス」、「名前」に完全一致するユーザーのIDをメンバーのユーザーIDとして追加処理を行います。  | 
| unitCost | double | × | コスト単価 | 
UserGroupAdd
| 名前 | 型 | 必須か | 説明 | 
|---|---|---|---|
| addUserIds | string | × | ユーザーグループに追加するユーザーID | 
| name | string | ○ | 名前 | 
| englishName | string | × | 英語名 | 
| code | string | × | コード | 
| description | string | × | 説明 | 
| displayOrder | double | × | ユーザーグループの表示順序。 UIで表示する際の表示順序を示します。  |