Create EPT (Enterprise Project Type) using CSOM – Project Online

Hello,

In this post I’m gonna write the code to EPTs programmatically using CSOM for Project Online.

use the below code to create EPT.

public void CreateEnterpriseProjectType(Guid eptGuid, string eptName, string eptDescription)
{
ProjectContext projectContext = new ProjectContext("https://serverName/pwaName");

SecureString securePassword = new SecureString();
foreach (char ch in "adminPassword".ToCharArray())
securePassword.AppendChar(ch);

SharePointOnlineCredentials sharePointOnlineCredentials = new SharePointOnlineCredentials("adminUsername", securePassword);</span></div>
        projectContext.Credentials = sharePointOnlineCredentials;
        projectContext.Load(projectContext.EnterpriseProjectTypes);
projectContext.Load(projectContext.ProjectDetailPages);
projectContext.ExecuteQuery();
 EnterpriseProjectTypeCreationInformation eptInfo = new EnterpriseProjectTypeCreationInformation();

eptInfo.Id = eptGuid;
eptInfo.Name = eptName;
eptInfo.Description = eptDescription;
eptInfo.IsDefault = true;
eptInfo.WorkspaceTemplateName = "PROJECTSITE#0";
eptInfo.ProjectPlanTemplateId = Guid.Empty;
eptInfo.WorkflowAssociationId = Guid.Empty;
eptInfo.Order = 1;
        List<ProjectDetailPageCreationInformation> projectDetailPages = new List<ProjectDetailPageCreationInformation>() {new ProjectDetailPageCreationInformation() { Id = projectContext.ProjectDetailPages[1].Id, IsCreate = false }};
eptInfo.ProjectDetailPages = projectDetailPages;
        EnterpriseProjectType newEpt = projectContext.EnterpriseProjectTypes.Add(eptInfo);
projectContext.EnterpriseProjectTypes.Update();
projectContext.ExecuteQuery();
}