メインコンテンツまでスキップ

プロジェクトメンバーの更新

指定した 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 を実行すると、以下のようなレスポンスが返ります。

Response
[
{
"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=佐藤 大輔

該当するユーザーが存在する場合、以下のようなレスポンスが返ります。

Response
{
"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
Request Body
{
"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
Request Body
{
"memberChange": {
"updates": [
{
"ids": "251",
"unitCost": 5000
}
]
}
}

プロジェクトメンバーの削除

プロジェクトメンバーを削除する場合、変更するメンバー情報を表す memberChange パラメータをリクエストボディに指定し、 memberChange.removes を設定します。

memberChange.removes の設定

memberChange.removes には、プロジェクトから削除するプロジェクトメンバーの ID を指定します。

注意

ID には、準備の章で取得したプロジェクトメンバー情報の id の値を使用してください。

以下のように ID を指定し、プロジェクトメンバーを削除します。

PUT /project/projects/47
Request Body
{
"memberChange": {
"removes": "258"
}
}