/** * @param Project $project * @return array|\Gitlab\Model\Project|null */ public function createProject(Project $project) { // Fast Return in case of server stopped if (!$this->isServerAvailable()) { return null; } // Creating project $gitLabProject = \Gitlab\Model\Project::create($this->gitLabClient, $project->getName(), array('description' => $project->getDescription(), 'issue_enabled' => $project->isGitLabIssueEnabled(), 'wiki_enabled' => $project->isGitLabWikiEnabled(), 'snippets_enabled' => $project->isGitLabSnippetsEnabled(), 'builds_enabled' => false)); // returning created object return $gitLabProject; }
/** * Setting demand content * @param Project $project * @return array */ private function setContentData(Project $project) { $owner = $project->getOwner()->getCommonName(); $teamMembersArray = ""; $teamMembers = $project->getTeamMembers(); $tml = count($teamMembers); $tmc = 1; foreach ($teamMembers as $member) { $teamMembersArray .= $member->getCommonName(); if ($tmc < $tml) { $teamMembersArray .= ", "; } $tmc++; } return ["name" => $project->getName(), "description" => $project->getDescription(), "owner" => $owner, "team_members" => $teamMembersArray, "git_issues" => $project->isGitLabIssueEnabled(), "git_wiki" => $project->isGitLabWikiEnabled(), "git_snippets" => $project->isGitLabSnippetsEnabled(), "id" => $project->getId()]; }