Skip to content

プロジェクトの更新

説明

指定した ID のプロジェクトを更新します。

必要権限

プロジェクトの管理

URL

PUT /project/projects/{projectIds}

パスパラメーター

名前 必須か 説明
projectIds string プロジェクトID

リクエストボディ

名前 必須か 説明
name string × プロジェクト名
code string × プロジェクトのコード
description string × プロジェクトの説明
managerId string × 管理者ID
manager
string × 管理者

ユーザーの「ログイン名」、「LDAPログイン名」、「メールアドレス」、「名前」に完全一致するユーザーのIDを管理者IDとして更新処理を行います。
organizationId string × ユーザーが所属する組織ID
organization string × ユーザーが所属する組織

組織の「コード」、「名前」に完全一致する組織のIDを組織IDとして更新処理を行います。
userGroupChange UserGroupChange × 変更するユーザーグループ
memberChange MemberChange × 変更するメンバー情報
forceUnlock boolean × 強制的にロック解除可能とするか

true:ロック解除を可能にします。
false:ロック解除を可能にしません。
setLocked boolean × true:リクエストしたユーザーの id とその日時でプロジェクトをロックします。
false:LockedBy のユーザーがリクエストした場合のみ、プロジェクトロックを解除します。
上記以外はエラーとします。
plannedStartDate DateTime × プロジェクト開始日
plannedFinishDate DateTime × プロジェクト終了日
standardUnitCost double × 標準コスト単価
isFinished boolean × プロジェクトが完了しているか
projectCategories <string, string>[] × プロジェクトカテゴリ
metadata <string, string> × キーと値のコレクション
- 追加時 : 値が null の項目を除いて設定する
- 更新時 : キーが指定されなかった項目は変更しない。値が null に指定された項目は削除する

レスポンス

名前 説明
以下メンバを一つの型として、プロジェクトID分のレスポンスを返す。
projectId string プロジェクトID
addedMemberIds string[] 追加したプロジェクトメンバーID
addedUserGroupIds string[] 追加したユーザーグループID

エラーケース

  • コードが未指定
  • 指定した ID が存在しない
  • 指定したユーザーが存在しない
  • 指定した所属組織ID が存在しない
  • 指定した所属組織 が存在しない
  • 管理者IDに指定したユーザーが存在しない
  • 管理者に指定したユーザーが存在しない
  • コードが重複する
  • 開始日と終了日が不正である
  • プロジェクトの管理者にユーザー以外を指定する
  • メンバから管理者を削除しようとする
  • プロジェクトの編集権限がない
  • プロジェクトが既にロックされている
  • 他ユーザーがロックしたプロジェクトをロック解除ししようとする
  • 対象プロジェクトがロックされている
  • プロジェクト固有のユーザーグループにプロジェクトメンバーでないパーティを追加しようとする

特記事項

  • code のユニークチェックを行うかは、システム設定の「プロジェクトコードをユニークチェックするか」の設定に従います。
  • 管理者の所属組織を変更した場合や管理者を他ユーザーに変更した場合でも、プロジェクトの所属組織が自動的に更新されることはありません。
  • プロジェクトの期間(開始日、終了日)は、プロジェクトのアイテムの期間に制約を与えません。
  • プロジェクトを完了 (isFinished=true) しても、プロジェクトの編集やアイテムの編集には影響しません。
  • コスト閲覧権限がない場合はコストの設定は無視します。

サンプル

プロジェクトを指定して、プロジェクトメンバーを追加する

リクエスト
PUT /project/projects/6
{
    "name": "S機器の開発",
    "managerId": "21",
    "plannedStartDate": "2018-11-05",
    "plannedFinishDate": "2019-03-20",
    "memberChange":{
        "adds":[
            {"partyId":"43","partyType":"User","unitCost":3500}
        ]
    }
}
レスポンス
200 OK

[
    {
        "id":"6",
        "addedMemberIds":[
            "200"
        ]
    }
]

型定義

UserGroupChange

名前 必須か 説明
adds UserGroupAdd[] × 追加するユーザーグループ
updates UserGroupUpdate[] × 更新するユーザーグループ
removes string × 削除するユーザーグループ
(カンマ区切りで複数指定可能です。)

UserGroupAdd

名前 必須か 説明
addUserIds string × ユーザーグループに追加するユーザーID
name string 名前
englishName string × 英語名
code string × コード
description string × 説明
displayOrder double × ユーザーグループの表示順序。
UIで表示する際の表示順序を示します。

UserGroupUpdate

名前 必須か 説明
ids string ユーザーグループID
addUserIds string × ユーザーグループに追加するユーザーID
removeUserIds string × ユーザーグループから削除するユーザーID
name string × 名前
englishName string × 英語名
code string × コード
description string × 説明
displayOrder double × ユーザーグループの表示順序。
UIで表示する際の表示順序を示します。

MemberChange

名前 必須か 説明
adds MemberAdd[] × 追加するメンバ
updates MemberUpdate[] × 更新するメンバ
removes string × 削除するメンバ
(カンマ区切りで複数指定可能です。)
removeUsers string × ユーザー

ユーザーの「ログイン名」、「LDAPログイン名」、「メールアドレス」、「名前」に完全一致するユーザーのメンバーIDを取得し、削除するメンバーIDとして更新処理を行います。

MemberAdd

名前 必須か 説明
partyId string × パーティID

partyIdフィールドとuserフィールドのどちらかを指定する必要があります。
partyType string メンバーの種類。
以下の値を設定できます。
・User: ユーザー
user string × ユーザー

ユーザーの「ログイン名」、「LDAPログイン名」、「メールアドレス」、「名前」に完全一致するユーザーのIDをメンバーのユーザーIDとして追加処理を行います。
unitCost double × コスト単価

MemberUpdate

名前 必須か 説明
users string × ユーザー

ユーザーの「ログイン名」、「LDAPログイン名」、「メールアドレス」、「名前」に完全一致するユーザーのIDをメンバーのユーザーIDとして更新処理を行います。
ids string メンバID
unitCost double × コスト単価
restore boolean × エンティティ復元指示