Overview
This structure contains the complete set of information about a project. The structure is used both to retrieve detailed project information and to pass information about a project back to the server to get updated.
Format
Panel | ||
---|---|---|
| ||
|
Elements
...
Element
...
Data Type
...
Required?
...
Default
...
Description
...
Sample Data
...
ProjectCode
...
String (24)
...
On Insert: Yes (if naming method is manual)
On Update: Yes (if the ProjectUid is not supplied)
...
See description
...
The project code is a unique identifier for a project. On insert, you are required to specify either ProjectCode or NewProjectCode if the account is configured for manual numbering. A value may optionally be specified if hybrid numbering is in effect (a unique project code will be generated automatically if not). A value may not be specified if automatic numbering is in effect. See "NewProjectCode" for guidance on how to change the project code of an existing project.
...
P001053-001
...
ProjectId
...
Int32
...
On Insert: No
On Update: No
...
The project Id is a unique identifier for a project. For internal use only.
...
ProjectUid
...
Int64
...
On Insert: No
On Update: Yes (if the ProjectCode is not supplied)
...
A unique and immutable identifier for a project
...
EngagementIdentity
...
...
On Insert: Yes
On Update: No
...
The engagement associated with this project. If an EngagementIdentity is specifed on update, it must match the existing engagement associated with the project. Projects may not be moved among engagements. Click here for more information.
...
ProjectName
...
String (255)
...
On Insert: Yes
On Update: No
...
The name of the project
...
CloseDate
...
DateTime
...
On Insert: No
On Update: No
...
The end date of the project, if any
...
2018--07-31z
...
CostGlccOverride
...
String
...
deprecated
...
** This field has been deprecated in favor of PwsProjectPlccMappingCostCenter.**
...
CostPlccMappingType
...
String
...
deprecated
...
** This field has been deprecated in favor of PwsProjectPlccMappingCostCenter.**
...
DefaultSchedulingMode
...
String (1)
...
On Insert: No
On Update: No
...
Engagement type's default value
...
The default scheduling mode associated with this project:
"D" for daily scheduling mode;
"W" for weekly scheduling mode
...
D/W
...
Description
...
String (1000)
...
On Insert: No
On Update: No
...
The description of the project
...
EmEmailFlag
...
Boolean
...
On Insert: No
On Update: No
...
If set to 'true", engagement manager recieves project related emails.
...
true
...
EngagementTimestamp
...
String
...
On Insert: No
On Update: No
...
Base64 encoded timestamp. Meaningless on an insert. Caller may optionally supply the value retrieved earlier by PwsGetProject. If the project has been updated since the project information was retrieved, the update will fail. No checking is done if no value is specified.
...
ExpenseApprovalUserIdentity
...
...
On Insert/update: Yes (if ExpenseApproverType is "U")
...
Engagement type's default value
...
The user who is the specific expense approver user. Ignored if ExpenseApproverType is not 'U'. If ExpenseApproverType is not specified on creation, defaults for both ExpenseApproverType and ExpenseApprovalUserIdentity are taken from the engagement type. Click here for more information.
...
ExpenseApproverType
...
String (1)
...
On Insert: No
On Update:No
...
Engagement type's default value
...
The expense approver associated with this project:
"E" for engagement manager
"M" for project manager (PM) for team, engagement manger for PM
"P" for project manager
"R" for resource/disbursing cost center-based approver
"T" for the project's acting PM team
"U" for specific approver user
...
E/M/P/R/T/U
...
ExpenseEntryRestrictedToResourcesAssignedToRolesFlag
...
Boolean
deprecated
...
Please use element BookExpenseResourcesAllowCode instead.
...
LocationIdentity
...
...
On Insert: Yes
On Update: No
...
The location of this project. Click here for more information.
...
ManagerIdentity
...
...
On Insert: Yes
On Update: No
...
The project manager associated with the project. Click here for more information.
...
MinutesPerDay
...
Int16
...
On Insert: No
On Update: No
...
Project location default value
...
The number of working minutes in a day. Used for task planning and daily billing calculation.
...
480
...
NarrativeRequiredFlag
...
Boolean
...
On Insert: No
On Update: No
...
Engagement type's default value
...
If set to 'true', description is required on time cards.
...
true
...
NewProjectCode
...
String (24)
...
On Insert: No
On Update: No
...
The new project code. This is used by PwsSaveProject to support changing an existing project code. You can both identify a project by project code and modify the project code by specifying the original code in ProjectCode and the new value in NewProjectCode. NewProjectCode will always be null in responses from PwsGetProject. Note that the project code may only be changed if numbering scheme for projects is configured as Manual or Hybrid.
...
OpenDate
...
DateTime
...
On Insert: No
On Update: No
...
Today's date
...
The begin date of the project
...
OpenForCostFlag
...
Boolean
...
On Insert: No
On Update: No
...
Project stage's default value
...
If set to 'true', this project is open for expense entry.
...
true
...
OpenForCostTransferFlag
...
Boolean
...
On Insert: No
On Update: No
...
Project stage's default value
...
If set to 'true', this project is open to have expense transferred in.
...
true
...
OpenForTimeFlag
...
Boolean
...
On Insert: No
On Update: No
...
Project stage's default value
...
If set to 'true', this project is open for time entry.
...
true
...
OpenForTimeTransferFlag
...
Boolean
...
On Insert: No
On Update: No
...
Project stage's default value
...
If set to 'true', this project is open to have time transferred in.
...
true
...
PercentLikelihood
...
Double
...
On Insert: No
On Update: No
...
Project stage's default value
...
The likelihood of winning a contract for this project. It is used in project financial analysis.
...
true
...
PmModuleEnabledFlag
...
Boolean
...
On Insert: No
On Update: No
...
Engagement type's default value
...
If set to 'true', detailed task management is turned on for the project.
...
true
...
ProjectStageIdentity
...
...
On Insert: No
On Update: No
...
The first available project stage
...
The stage of the project. If none specified on creation, the first allowable project stage is chosen. If enterprise configuration is enabled for your account, the enterprise configuration settings will determine which stages are allowable. Click here for more information.
...
ProjectWorkspaceEnabledFlag
...
Boolean
...
On Insert: No
On Update: No
...
Engagement type's default value
...
If set to 'true', project workspace is enabled for the project.
...
true
...
Rates
...
PwsProjectRate [0..]
...
On Insert: No
On Update: No
...
Cost center's default with no begin/end date and 0% contract rate or billing adjusted rate discount
...
TimeApprovalUserIdentity
...
...
On Insert/update: Yes (if TimeApproverType is "U")
...
Engagement type's default value
...
The user who is the specific time approver user. Ignored if TimeApproverType is not 'U'. If TimeApproverType is not specified on creation, defaults for both TimeApproverType and TimeApprovalUserIdentity are taken from the engagement type. Click here for more information.
...
TimeApproverType
...
String (1)
...
On Insert: ???
On Update: No
...
Engagement type's default value
...
The time approver associated with this project:
"A" for None (automatically approved)
"E" for engagement manager
"M" for project manager (PM) for team, engagement manger for PM
"P" for project manager
"R" for resource-based approver
"T" for the project's acting PM team
"U" for specific approver user
...
A/E/M/P/R/T/U
...
TimeEntryRestrictedToResourcesAssignedToRolesFlag
...
Boolean
deprecated
...
Please use element BookTimeResourcesAllowCode instead.
...
TimeEntryRestrictedToRolesAssignedToTasksFlag
...
Boolean
...
On Insert: No
On Update: No
...
Engagement type's default value
...
If set to 'true', only resource that has been assigned to a task on this project can enter time.
...
true
...
TimeGlccOverride
...
String
...
deprecated
...
** This field has been deprecated in favor of PwsProjectPlccMappingCostCenter.**
...
TimePlccMappingType
...
String
...
deprecated
...
** This field has been deprecated in favor of PwsProjectPlccMappingCostCenter.**
...
UserDefinedFields
...
PwsUserDefinedFieldDetail [0..]
...
On Insert: No
On Update: No
...
The user defined fields associated with the project. Click here for more information. To delete an existing UDF, include a PwsUserDefinedFieldDetail record in this collection that refers to the target user defined field and specifies NULL for all values.
...
WorkspaceMessages
...
String (255)
...
On Insert: No
On Update: No
...
The project message displayed on project workspace home tab.
...
BookExpenseResourceCostCenterIdentity
...
...
On insert/update: Yes (if BookExpenseResourcesAllowCode = C)
...
If only resources from a specific cost center can enter expense, this is the cost center. Click here for more information.
...
BookExpenseResourcesAllowCode
...
String (1)
...
On Insert: No
On Update: No
...
Engagement type's default value
...
The type of resources that can enter expense for this project:
A: any resource;
B: resource assigned to a role;
C: resource from a specific cost center.
Engagement types allow specification of either A (any resource) or B (resource assigned to a role) as a default on creation.
...
A/B/C
...
BookTimeResourceCostCenterIdentity
...
...
On insert/update: Yes (if BookTimeResourcesAllowCode = C)
...
If only resources from a specific cost center can enter time, this is the cost center. Click here for more information.
...
BookTimeResourcesAllowCode
...
String (1)
...
On Insert: No
On Update: No
...
Engagement type's default value
...
The type of resources that can enter time for this project:
A: any resource;
B: resource assigned to a role;
C: resource from a specific cost center.
Engagement types allow specification of either A (any resource) or B (resource assigned to a role) as a default on creation.
...
A/B/C
...
PlccMappings
...
PwsProjectPlccMappingCostCenter [0..]
...
On Insert: No
On Update: No
...
Engagement type's default value
...
For billable project, all five mapping types must be included. For non-billable project, three mapping types (no time revenue or ODC revenue) must be included. Each mapping type must have fraction total of 1. If specified on update, the current PLCC mappings are replaced in their entirety by the specified mappings. Click here for more information.
...
ContractLineItemIdentity
...
...
On Insert: Yes*
On Update: No
...
The contract line item that this project is associated with. Click here for more informaiton.
* If ContractLineItemIdentity is not specified on creation, but the engagement has a single contract line item, the single contract line item will be used. Otherwise, an error will be raised.
...
ManagementTeam
...
PwsProjectManagementTeamMember [0..]
...
On Insert: No
On Update: No
...
Members of the project management team (other than those directly identified as the engagement or project manager). If specified on update, the current PM team members are replaced in their entirety by the specified team. Do not include the engagement or project manager in this listing. Click here for more information.
...
BdDashboards
...
PwsProjectBdDashboard [0..]
...
On Insert: No
On Update: No
...
The advanced analytics dashboards set up for the project. If specified on update, the current dashboards are replaced in their entirety by the specified dashboards. Click here for more information.
...
ExpenseTypeConfigurationIdentity
...
PwsExpenseTypeConfigurationRef
...
On Insert: No
On Update: No
...
The expense type configuration associated with this project. Click here for more information.
...
InheritPurchaseOrderNumberFlag
...
Boolean
...
On Insert: No
On Update: No
...
true
...
If set to 'true', project inherits the purchase order number from assocated engagement.
...
true/false
...
PurchaseOrderNumber
...
String (50)
...
On Insert: No
On Update: No
...
Engagement's purchase order number
...
The purchase order number associated with this project. Specify only if not inheriting the purchase order number from the engagement.
...
MET-DonCarlo-01
Usage Example(s)
...
language | xml |
---|---|
title | Example 01 |
collapse | true |
...
Overview
This structure contains the complete set of information about a project issue. The structure is used both to retrieve detailed project information and to pass information about a project back to the server to get updated.
Format
Panel | ||
---|---|---|
| ||
|
Elements
Element | Data Type | Required? | Default | Description | Sample Data |
---|---|---|---|---|---|
ProjectIssueId | Int32 | No | The project issue Id is a unique identifier for a project issue. For internal use only. | ||
ProjectIssueUid | Int64 | On Insert: No On Update: Yes | The project issue Uid is a unique and immutable identifier for a project issue. | 1152921504606992779 | |
ReferenceId | String | No | This is a user-defined ID for project issue. It allows user to tag project issues that are submitted in a web service request, and is echoed in the web service response to allow user to correlate project issues in the response to the ones in request. | #1 | |
AttachmentClearFlag | Boolean | No | false | If set to 'true, attachment documents are removed from the issue. | false |
Attachments | No | Document(s) attached to this project issue. Click here for more information. | |||
CategoryIdentity | On Insert: Yes On Update: No | The category of the project issue. Click here for more information. Specify NULL on update to leave value as is. | |||
Description | String (255) | On Insert: Yes On Update: No | Description of the project issue. Specify NULL on update to leave value as is. | Costume design is behind schedule | |
DueDate | DateTime | No | Due date of the project issue. Specify NULL on update to leave value as is. | 2018-02-28z | |
DueDateClearFlag | Boolean | No | false | If set to 'true', issue due date will be cleared. | false |
EmailIssueOwnerFlag | Boolean | No | false | If set to 'true', email will be sent to issue owner when issue is saved. | false |
EmailPmTeamFlag | Boolean | No | false | If set to 'true', email will be sent to project management team when issue is saved. | false |
IssueNumber | Int32 | No | The issue number. This is a system assigned value and if specified when updating an issue, it is ignored. | 6 | |
OwnerIdentity | On Insert: Yes On Update: No | The owner of the project issue. Click here for more information. Specify NULL on update to leave value as is. | |||
Priority | String (1) | On Insert: Yes On Update: No | The priority of a project issue: 'L' for low priority 'M' for medium priority 'H' for high priority | M | |
Resolution | String (4000) | No | The latest comment associated with a project issue. | Issue is no longer valid. | |
ResolutionClearFlag | Boolean | No | If set to 'true', the latest resolution will be cleared. | false | |
StatusIdentity | On Insert: Yes On Update: No | The status of the project issue. The available status values are defined at the project level. Click here for more information. | |||
Timestamp | String | No | Base64 encoded timestamp. Meaningless on an insert. Caller may optionally supply the value retrieved earlier. If the issue has been updated since it was last retrieved, the update will fail. No checking is done if no value is specified. | ||
NewExternalSystemIdentifier | String | No | it is used in request to create or update a project issue (PwsSaveProjectIssues) to set the value of the ExternalSystemIdentifier. In response to PwsSaveProjectIssues, this data is left as null. | ||
UserDefinedFields | PwsUdfDefinition | No | The UDFs that are associated with this project issue. |
Usage Example(s)
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<a:ProjectIssue> <b:PlccMappings> <ProjectIssueId xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">28509</ProjectIssueId> <b:PwsProjectPlccMappingCostCenter> <ProjectIssueUid xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">1152921504606875485</ProjectIssueUid> <b:AllocationFraction>0.6</b:AllocationFraction> <ReferenceId xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">#10</ReferenceId> <b:CostCenterIdentity i:nil="true"/><a:AttachmentClearFlag>false</a:AttachmentClearFlag> <b:CostCenterType>E</b:CostCenterType><a:Attachments/> <b:GlccOverride>CC-US1</b:GlccOverride> <a:CategoryIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"> <b:MappingType>TR<ProjectIssueCategoryId>351612</b:MappingType>ProjectIssueCategoryId> </b:PwsProjectPlccMappingCostCenter> <b:ProjectIssueCategoryUid>1152921504606992779</b:ProjectIssueCategoryUid> <b:PwsProjectPlccMappingCostCenter> </a:CategoryIdentity> <b:AllocationFraction>0.4</b:AllocationFraction> <a:Description>new issue about the set production</a:Description> <b:CostCenterIdentity i:nil="true"/><a:DueDate>2018-03-31T00:00:00Z</a:DueDate> <a:DueDateClearFlag>false</a:DueDateClearFlag> <b:CostCenterType>R</b:CostCenterType> <a:EmailIssueOwnerFlag>false</a:EmailIssueOwnerFlag> <b:GlccOverride i:nil="true"/> <a:EmailPmTeamFlag>false</a:EmailPmTeamFlag> <b<a:MappingType>TR<IssueNumber>28</ba:MappingType>IssueNumber> </b:PwsProjectPlccMappingCostCenter><a:OwnerIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"> <b:PwsProjectPlccMappingCostCenter> UserDisplayName>Larry Krakauer</b:UserDisplayName> <b:AllocationFraction>0.6<UserId>217832</b:AllocationFraction> UserId> <b:CostCenterIdentity i:nil="true"/> <b:UserReferenceSystemId>097</b:UserReferenceSystemId> <b:CostCenterType>E<UserUid>1152921504606944254</b:CostCenterType>UserUid> </a:OwnerIdentity> <b:GlccOverride>CC-US1</b:GlccOverride> <a:Priority>M</a:Priority> <b <a:MappingType>RDC<Resolution>testtest</ba:MappingType>Resolution> </b:PwsProjectPlccMappingCostCenter><a:ResolutionClearFlag>false</a:ResolutionClearFlag> <b:PwsProjectPlccMappingCostCenter><a:StatusIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"> <b:AllocationFraction>0.4<ProjectIssueStatusId>851626</b:AllocationFraction>ProjectIssueStatusId> <b:ProjectIssueStatusUid>1152921504607253230</b:ProjectIssueStatusUid> <b:CostCenterIdentity i:nil="true"/> </a:StatusIdentity> <b:CostCenterType>R</b:CostCenterType> <a:Timestamp>AAAAAA+RVEI=</a:Timestamp> <b</a:GlccOverride i:nil="true"/> ProjectIssue> |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<a:ProjectIssue> <ProjectIssueId <b:MappingType>RDC</b:MappingType>i:nil="true" xmlns="http://projectorpsa.com/DataContracts/Shared/Common/"/> </b:PwsProjectPlccMappingCostCenter> <ProjectIssueUid xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">1152921504606877184</ProjectIssueUid> <b:PwsProjectPlccMappingCostCenter> <ReferenceId i:nil="true" xmlns="http://projectorpsa.com/DataContracts/Shared/Common/"/> <b:AllocationFraction>1</b:AllocationFraction> <ExternalSystemIdentifier xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">Test-1212#5</ExternalSystemIdentifier> <b:CostCenterIdentity i:nil="true"/> <a:AttachmentClearFlag>false</a:AttachmentClearFlag> <b:CostCenterType>E</b:CostCenterType> <a:Attachments/> <a:CategoryIdentity <bxmlns:GlccOverride>CC-US</b:GlccOverride>b="http://projectorpsa.com/DataContracts/Shared/Common/"> <b:MappingType>SRDC</b:MappingType><b:ProjectIssueCategoryId i:nil="true"/> <<b:ProjectIssueCategoryUid>1152921504607339490</b:PwsProjectPlccMappingCostCenter>ProjectIssueCategoryUid> <b:PwsProjectPlccMappingCostCenter> </a:CategoryIdentity> <b:AllocationFraction>1</b:AllocationFraction> <a:Description>This is an update of existing issue</a:Description> <b:CostCenterIdentity i:nil="true"/><a:DueDate>2018-10-31T00:00:00Z</a:DueDate> <a:DueDateClearFlag>false</a:DueDateClearFlag> <b:CostCenterType>E</b:CostCenterType> <a:EmailIssueOwnerFlag>false</a:EmailIssueOwnerFlag> <b:GlccOverride>CC-US</b:GlccOverride> <a:EmailPmTeamFlag>false</a:EmailPmTeamFlag> <b<a:MappingType>OR<IssueNumber>11</ba:MappingType>IssueNumber> </b:PwsProjectPlccMappingCostCenter><a:OwnerIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"> <b:PwsProjectPlccMappingCostCenter> UserDisplayName>Krakauer, Larry</b:UserDisplayName> <b:UserId <b:AllocationFraction>1</b:AllocationFraction>i:nil="true"/> <b:UserReferenceSystemId>097</b:UserReferenceSystemId> <b:CostCenterIdentity i:nil="true"/> <b:UserUid>1152921504606944254</b:UserUid> <b:CostCenterType>E</b:CostCenterType> </a:OwnerIdentity> <b:GlccOverride>CC-US1</b:GlccOverride> <a:Priority>M</a:Priority> <b <a:MappingType>OE<Resolution>pending</ba:MappingType>Resolution> </b:PwsProjectPlccMappingCostCenter><a:ResolutionClearFlag>false</a:ResolutionClearFlag> </b:PlccMappings><a:StatusIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"> <b:ContractLineItemIdentity><b:ProjectIssueStatusId i:nil="true"/> <b:ContractLineItemCode>P001053-CL1<ProjectIssueStatusUid>1152921504608004811</b:ContractLineItemCode>ProjectIssueStatusUid> <b:ContractLineItemId i:nil="true"/></a:StatusIdentity> <b:ContractLineItemUid>1152921504606877177</b:ContractLineItemUid><a:Timestamp>AAAAABGC/HE=</a:Timestamp> </b:ContractLineItemIdentity><a:NewExternalSystemIdentifier i:nil="true"/> <b:ManagementTeam><a:UserDefinedFields xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"> <b:PwsProjectManagementTeamMember>PwsUserDefinedFieldDetail> <b:EmailFlag>false</b:EmailFlag>:UdfId i:nil="true"/> <b:UpdateFlag>true<UdfName>IUDF_DT</b:UpdateFlag>UdfName> <b:UserIdentity>UdfUid>1152921504606860448</b:UdfUid> <b:UserDisplayName>Larry Krakauer</b:UserDisplayName>BooleanValue i:nil="true"/> <b:UserId i:nil="true"/> DataType>D</b:DataType> <b:UserReferenceSystemId>097<DateValue>2018-12-13T00:00:00Z</b:UserReferenceSystemId> DateValue> <b:UserUid>1152921504606944254</b:UserUid>:IntegerValue i:nil="true"/> </b:UserIdentity><b:ResourceIdentityValue i:nil="true"/> </b:PwsProjectManagementTeamMember><b:TextValue i:nil="true"/> <<b:UdfTreatment>A</b:ManagementTeam>UdfTreatment> <b:BdDashboards>StoplightValues/> <b:PwsProjectBdDashboard><b:NumericValue i:nil="true"/> <b:BookedResourcesAllowedFlag>false</b:BookedResourcesAllowedFlag>RelationValue i:nil="true"/> <b:ClientsAllowedFlag>false<</b:ClientsAllowedFlag>PwsUserDefinedFieldDetail> <b:DashboardAlias>Approved TC</b:DashboardAlias> PwsUserDefinedFieldDetail> <b:DashboardName>Hours approved</b:DashboardName>UdfId i:nil="true"/> <b:DashboardParameters i:nil="true"/>UdfName>IUDF_TxLst</b:UdfName> <b:EmAllowedFlag>false<UdfUid>1152921504606860447</b:EmAllowedFlag>UdfUid> <b:LtdBookedResourcesAllowedFlag>false</b:LtdBookedResourcesAllowedFlag>BooleanValue i:nil="true"/> <b:LtdOtherResourcesAllowedFlag>false<DataType>L</b:LtdOtherResourcesAllowedFlag>DataType> <b:OtherResourcesAllowedFlag>false</b:OtherResourcesAllowedFlag>DateValue i:nil="true"/> <b:PmAllowedFlag>true</b:PmAllowedFlag>IntegerValue i:nil="true"/> </b:PwsProjectBdDashboard> <b:ResourceIdentityValue i:nil="true"/> </b:BdDashboards> <b:TextValue>1-Rosina</b:TextValue> <b:ExpenseTypeConfigurationIdentity> <b:ExpenseTypeConfigurationId i:nil="true"/>UdfTreatment>A</b:UdfTreatment> <b:ExpenseTypeConfigurationName>NoStoplightValues/> Travel, Meal or Entertainment</b:ExpenseTypeConfigurationName> <b:NumericValue <b:ExpenseTypeConfigurationUid>1152921504606847094</b:ExpenseTypeConfigurationUid>i:nil="true"/> </b:ExpenseTypeConfigurationIdentity><b:RelationValue i:nil="true"/> <b:InheritPurchaseOrderNumberFlag>true<</b:InheritPurchaseOrderNumberFlag>PwsUserDefinedFieldDetail> <b:PurchaseOrderNumber>MET-DonCarlo-01</b:PurchaseOrderNumber></a:UserDefinedFields> </ba:ProjectDetail>ProjectIssue> |