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(); }