issues = "https://github.com/{$project}/issues/%s"; $this->prs = "https://github.com/{$project}/pull/%s"; $this->assignees = 'https://github.com/%s'; return $this; } /** * Sets the test project to GitLab. */ public function gitlab(string $project): self { $this->issues = "https://gitlab.com/{$project}/issues/%s"; $this->prs = "https://gitlab.com/{$project}/merge_requests/%s"; $this->assignees = 'https://gitlab.com/%s'; return $this; } /** * Sets the test project to Bitbucket. */ public function bitbucket(string $project): self { $this->issues = "https://bitbucket.org/{$project}/issues/%s"; $this->prs = "https://bitbucket.org/{$project}/pull-requests/%s"; $this->assignees = 'https://bitbucket.org/%s'; return $this; } /** * Sets the test project to Jira. */ public function jira(string $namespace, string $project): self { $this->issues = "https://{$namespace}.atlassian.net/browse/{$project}-%s"; $this->assignees = "https://{$namespace}.atlassian.net/secure/ViewProfile.jspa?name=%s"; return $this; } /** * Sets the test project to custom. */ public function custom(string $issues, string $prs, string $assignees): self { $this->issues = $issues; $this->prs = $prs; $this->assignees = $assignees; return $this; } }