プロジェクトメンバーの更新
指定した ID のプロジェクトを更新する API を使用して、プロジェクトメンバーを更新できます。
PUT /project/projects/{projectIds}
準備
指定した ID のプロジェクトを更新する API で使用するプロジェクト ID をあらかじめ取得します。
プロジェクト ID の取得
プロジェクト ID は、TimeTracker NX のプロジェクト画面の URL で確認できます。
対象プロジェクトを表示した際の URL にて、 /#project/
の後ろに続く数字がプロジェクト番号です。
http(s)://サーバー名/Webサイト名/#project/47/workitem/folder/・・・
上記の例では、 47
がプロジェクト番号となります。
プロジェクトメンバーの取得
プロジェクトの取得 API を使用して、プロジェクトメンバーを取得します。
ここで取得した情報は、プロジェクトメンバーの更新、削除の際に使用します。
プロジェクトメンバーを含めてプロジェクトを取得するために、 includes
パラメータに Members
を指定します。
GET /project/projects/47?includes=Members
API を実行すると、以下のようなレスポンスが返ります。
[
{
"name": "A製品の開発",
"code": "",
"description": "",
"managerId": "21",
"managerName": "岡本 直哉",
・・・,
"members": [
{
"partyId": "21",
"name": "岡本 直哉",
"englishName": "",
"partyType": "User",
"id": "251",
"projectId": "47",
"projectUserGroupIds": null,
"unitCost": 8000.0,
"isDeleted": false,
"organizationId": "7",
"organizationName": "開発2課",
"avatarUrl": null,
"createdAt": "2023-09-13T08:44:16Z",
"createdBy": "21",
"updatedAt": "2023-09-13T08:44:16Z",
"updatedBy": "21"
},
{ "partyId": "40", "name": "黒川 悠太", "englishName": "", "partyType": "User", "id: "255", ・・・ },
{ "partyId": "43", "name": "高畑 哲也", "englishName": "", "partyType": "User", "id: "256", ・・・ },
{ "partyId": "83", "name": "高木 拓也", "englishName": "", "partyType": "User", "id: "258", ・・・ },
],
・・・
}
]
メンバー情報のフィールドのうち、 partyId
はユーザー ID を表し、 id
はプロジェクト上でのメンバー ID を表します。
プロジェクトメンバーの取得 については、How To の次のリンクを参照ください。:プロジェクトメンバーの取得
プロジェクトメンバーの追加
プロジェクトメンバーを追加する場合、変更するメンバー情報を表す memberChange
パラメータをリクエストボディに指定し、memberChange.adds
を設定します。
追加するユーザーのユーザー ID を取得
ユーザー一覧の取得 API を使用して、追加するユーザーのユーザー ID を取得します。
name
パラメータに、情報を取得したいユ ーザーのユーザー名を指定します。
ここでは、 佐藤 大輔 のユーザー情報を取得します。
GET /system/users?name=佐藤 大輔
該当するユーザーが存在する場合、以下のようなレスポンスが返ります。
{
"totalCount": 1,
"data": [
{
"name": "佐藤 大輔",
"englishName": "",
"loginName": "sato",
"email": "",
"code": "OS1",
"organizationName": "委託先A社",
"language": "ja-JP",
"timeZone": "Asia/Tokyo",
"isDeleted": false,
"unitCost": 0.0,
"organizationId": "78",
"timeEntryLockedDate": null,
"description": "",
"ldapLoginName": "",
"systemRoleId": "63",
"systemRoleName": "外部スタッフ",
"avatarUrl": null,
"canEdit": true,
"allowLocalAuthentication": false,
"aclId": "0",
"permission": -1,
"id": "80",
"createdAt": "2023-09-11T06:00:03Z",
"createdBy": "21",
"updatedAt": "2023-09-11T06:00:03Z",
"updatedBy": "21"
}
]
}
id
がユーザー ID を表しているため、レスポンスから 佐藤 大輔 のユーザー ID が 80
であることが分かります。
ユーザー一覧の取得 については、How To の次のリンクを参照ください。:ユーザー一覧の取得
memberChange.adds の設定
memberChange.adds
には、プロジェクトメンバーに追加するユーザーの情報を指定します。
ユーザーの情報として以下を指定します。
partyId
には、ユーザーの ID を指定します。user
にはユーザー名を指定します。partyId
を指定しない場合、必ずuser
を指定します。partyType
には、"User"
を必ず指定します。unitCost
には、任意でコスト単価を指定します。
partyId
には、プロジェクト上でのメンバー ID ではなくユーザー ID を指定してください。
user
で指定したユーザー名のユーザーが複数人いた場合、最初の 1 人を対象とします。unitCost
が未指定の場合、コスト単価はシステムで設定した値となります。
ここでは、プロジェクトのメンバーとして、 佐藤 大輔 を新たに追加します。
PUT /project/projects/47
{
"memberChange": {
"adds": [
{
"partyId": "80",
"partyType": "User",
"unitCost": 3000
}
]
}
}
プロジェクトメンバーの更新
プロジェクトメンバーを更新する場合、変更するメンバー情報を表す memberChange
パラメータをリクエストボディに指定し、 memberChange.updates
を設定します。
memberChange.updates の設定
memberChange.updates
には、更新するプロジェクトメンバーの情報を指定します。
ids
には、更新対象のプロジェクトメンバーの ID を必ず指定します。カンマ区切りで複数の ID を指定できます。unitCost
には、任意でコスト単価を指定します。
ids
には、準備の章で取得したプロジェクトメンバー情報の id
の値を使用してください。
unitCost
が未指定の場合、コスト単価はシステムで設定した値となります。
ここでは、プロジェクトメンバーである 岡本 直哉 のコスト単価を更新します。
PUT /project/projects/47
{
"memberChange": {
"updates": [
{
"ids": "251",
"unitCost": 5000
}
]
}
}
プロジェクトメンバーの削除
プロジェクトメンバーを削除する場合、変更するメンバー情報を表す memberChange
パラメータをリクエストボディに指定し、 memberChange.removes
を設定します。
memberChange.removes の設定
memberChange.removes
には、プロジェクトから削除するプロジェクトメンバーの ID を指定しま す。
ID には、準備の章で取得したプロジェクトメンバー情報の id
の値を使用してください。
以下のように ID を指定し、プロジェクトメンバーを削除します。
PUT /project/projects/47
{
"memberChange": {
"removes": "258"
}
}