protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("DownloadArtifactArchiveByJobId", MethodType.Get, "/projects/:id/jobs/:job_id/artifacts", "https://docs.gitlab.com/ee/api/job_artifacts.html#get-job-artifacts") .WithReturnType(ModelRef.File) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("job_id", ModelRef.String) .AddOptionalParameter("job_token", ModelRef.String) ; methodGroup.AddMethod("DownloadArtifactArchiveFromTagOrBranch", MethodType.Get, "/projects/:id/jobs/artifacts/:ref_name/download", "https://docs.gitlab.com/ee/api/job_artifacts.html#download-the-artifacts-archive") .WithReturnType(ModelRef.File) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("ref_name", ModelRef.String) .AddRequiredParameter("job", ModelRef.String) .AddOptionalParameter("job_token", ModelRef.String) ; methodGroup.AddMethod("DownloadArtifactFileByJobId", MethodType.Get, "/projects/:id/jobs/:job_id/artifacts/*artifact_path", "https://docs.gitlab.com/ee/api/job_artifacts.html#download-a-single-artifact-file-by-job-id") .WithReturnType(ModelRef.File) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("job_id", ModelRef.NumberId) .AddRequiredParameter("artifact_path", ModelRef.String) ; methodGroup.AddMethod("DownloadArtifactFileFromTagOrBranch", MethodType.Get, "/projects/:id/jobs/artifacts/:ref_name/raw/*artifact_path", "https://docs.gitlab.com/ee/api/job_artifacts.html#download-a-single-artifact-file-from-specific-tag-or-branch") .WithReturnType(ModelRef.File) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("ref_name", ModelRef.String) .AddRequiredParameter("artifact_path", ModelRef.String) .AddRequiredParameter("job", ModelRef.String) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("GetWikiPages", MethodType.GetCollection, "/projects/:id/wikis", "https://docs.gitlab.com/ee/api/wikis.html#list-wiki-pages") .WithReturnType(Models.WikiPage) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) ; methodGroup.AddMethod("GetWikiPage", MethodType.Get, "/projects/:id/wikis/:slug", "https://docs.gitlab.com/ee/api/wikis.html#get-a-wiki-page") .WithReturnType(Models.WikiPage) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("slug", ModelRef.String) ; methodGroup.AddMethod("CreateWikiPage", MethodType.Post, "/projects/:id/wikis", "https://docs.gitlab.com/ee/api/wikis.html#create-a-new-wiki-page") .WithReturnType(Models.WikiPage) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("title", ModelRef.String) .AddRequiredParameter("content", ModelRef.String) .AddOptionalParameter("format", Models.WikiPageFormat) ; methodGroup.AddMethod("UpdateWikiPage", MethodType.Put, "/projects/:id/wikis/:slug", "https://docs.gitlab.com/ee/api/wikis.html#edit-an-existing-wiki-page") .WithReturnType(Models.WikiPage) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("slug", ModelRef.String) .AddOptionalParameter("title", ModelRef.String) .AddOptionalParameter("content", ModelRef.String) .AddOptionalParameter("format", Models.WikiPageFormat) ; methodGroup.AddMethod("DeleteWikiPage", MethodType.Delete, "/projects/:id/wikis/:slug", "https://docs.gitlab.com/ee/api/wikis.html#delete-a-wiki-page") .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("slug", ModelRef.String) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("CreateFile", MethodType.Post, "/projects/:id/repository/files/:file_path", "https://docs.gitlab.com/ee/api/repository_files.html#create-new-file-in-repository") .WithReturnType(Models.FileCreated) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("file_path", ModelRef.String) .AddRequiredParameter("branch", ModelRef.String) .AddRequiredParameter("content", ModelRef.TextOrBinaryData) .AddRequiredParameter("commit_message", ModelRef.String) .AddOptionalParameter("start_branch", ModelRef.String) .AddOptionalParameter("author_email", ModelRef.String) .AddOptionalParameter("author_name", ModelRef.String) ; methodGroup.AddMethod("UpdateFile", MethodType.Put, "/projects/:id/repository/files/:file_path", "https://docs.gitlab.com/ee/api/repository_files.html#update-existing-file-in-repository") .WithReturnType(Models.FileUpdated) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("file_path", ModelRef.String) .AddRequiredParameter("branch", ModelRef.String) .AddRequiredParameter("content", ModelRef.TextOrBinaryData) .AddRequiredParameter("commit_message", ModelRef.String) .AddOptionalParameter("start_branch", ModelRef.String) .AddOptionalParameter("author_email", ModelRef.String) .AddOptionalParameter("author_name", ModelRef.String) .AddOptionalParameter("last_commit_id", ModelRef.NullableGitObjectId) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("GetJob", MethodType.Get, "/projects/:id/jobs/:job_id", "https://docs.gitlab.com/ee/api/jobs.html#get-a-single-job") .WithReturnType(Models.Job) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("job_id", Models.JobIdRef) ; methodGroup.AddMethod("GetJobs", MethodType.GetPaged, "/projects/:id/jobs", "https://docs.gitlab.com/ee/api/jobs.html#list-project-jobs") .WithReturnType(Models.JobBase) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) ; methodGroup.AddMethod("GetPipelineJobs", MethodType.GetPaged, "/projects/:id/pipelines/:pipeline_id/jobs", "https://docs.gitlab.com/ee/api/jobs.html#list-pipeline-jobs") .WithReturnType(Models.JobBase) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("pipeline_id", Models.PipelineIdRef) .AddOptionalParameter("include_retried", ModelRef.Boolean) ; methodGroup.AddMethod("RetryJob", MethodType.Post, "/projects/:id/jobs/:job_id/retry", "https://docs.gitlab.com/ee/api/jobs.html#retry-a-job") .WithReturnType(Models.Job) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("job_id", Models.JobIdRef) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("GetJob", MethodType.Get, "/projects/:id/jobs/:job_id", "https://docs.gitlab.com/ee/api/jobs.html#get-a-single-job") .WithReturnType(Models.Job) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("job_id", Models.JobIdRef) ; methodGroup.AddMethod("GetJobs", MethodType.GetPaged, "/projects/:id/jobs", "https://docs.gitlab.com/ee/api/jobs.html#list-project-jobs") .WithReturnType(Models.Job) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("GetUserAvatar", MethodType.Get, "/avatar", "https://docs.gitlab.com/ee/api/avatar.html#get-a-single-avatar-url") .WithReturnType(Models.UserAvatar) .AddRequiredParameter("email", ModelRef.String) .AddOptionalParameter("size", ModelRef.Number) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("DownloadFileArchive", MethodType.Get, "/projects/:id/repository/archive[.format]", "https://docs.gitlab.com/ee/api/repositories.html#get-file-archive") .WithReturnType(ModelRef.File) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddOptionalParameter("sha", ModelRef.String) .AddOptionalParameter("format", Choice("RepositoryFileArchiveFormat", new[] { "tar.gz", "tar.bz2", "tbz", "tbz2", "tb2", "bz2", "tar", "zip" }), options: MethodParameterOptions.DoNotValidate) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("RenderMarkdown", MethodType.Post, "/markdown", "https://docs.gitlab.com/ee/api/markdown.html#render-an-arbitrary-markdown-document") .WithReturnType(Models.RenderMarkdownResult) .AddRequiredParameter("text", ModelRef.String) .AddOptionalParameter("gfm", ModelRef.Boolean) .AddOptionalParameter("project", ModelRef.PathWithNamespace) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("GetTodos", MethodType.GetPaged, "/todos", "https://docs.gitlab.com/ee/api/todos.html#get-a-list-of-to-dos") .WithReturnType(Models.Todo) .AddOptionalParameter("action", Models.TodoAction) .AddOptionalParameter("author_id", Models.UserIdRef) .AddOptionalParameter("project_id", Models.ProjectIdRef) .AddOptionalParameter("group_id", Models.GroupIdRef) .AddOptionalParameter("state", Models.TodoState) ; methodGroup.AddMethod("MarkTodoAsDone", MethodType.Post, "/todos/:id/mark_as_done", "https://docs.gitlab.com/ee/api/todos.html#mark-a-to-do-item-as-done") .WithReturnType(Models.Todo) .AddRequiredParameter("id", Models.TodoIdRef) ; methodGroup.AddMethod("MarkAllTodosAsDone", MethodType.Post, "/todos/mark_as_done", "https://docs.gitlab.com/ee/api/todos.html#mark-all-to-dos-as-done") ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("AddMemberToProject", MethodType.Post, "/projects/:id/members", "https://docs.gitlab.com/ee/api/members.html#add-a-member-to-a-group-or-project") .WithReturnType(Models.Member) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("user_id", Models.UserIdRef) .AddRequiredParameter("access_level", Models.AccessLevel) .AddOptionalParameter("expires_at", ModelRef.Date) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("Create", MethodType.Post, "/projects/:id/issues", "https://docs.gitlab.com/ee/api/issues.html#new-issue") .WithReturnType(Models.Issue) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("title", ModelRef.String) .AddOptionalParameter("description", ModelRef.String) .AddOptionalParameter("confidential", ModelRef.Boolean) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("GetCurrentLicense", MethodType.Get, "/license", "https://docs.gitlab.com/ee/api/license.html#retrieve-information-about-the-current-license") .WithReturnType(Models.License) ; methodGroup.AddMethod("GetLicenses", MethodType.GetPaged, "/licenses", "https://docs.gitlab.com/ee/api/license.html#retrieve-information-about-all-licenses") .WithReturnType(Models.License) ; methodGroup.AddMethod("AddLicense", MethodType.Post, "/license", "https://docs.gitlab.com/ee/api/license.html#add-a-new-license") .WithReturnType(Models.License) .AddRequiredParameter("license", ModelRef.String, ParameterLocation.Url) ; methodGroup.AddMethod("DeleteLicense", MethodType.Delete, "/license/:id", "https://docs.gitlab.com/ee/api/license.html#delete-a-license") .AddRequiredParameter("id", ModelRef.NumberId) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("AddHook", MethodType.Post, "/hooks", "https://docs.gitlab.com/ee/api/system_hooks.html#add-new-system-hook") .WithReturnType(Models.SystemHook) .AddRequiredParameter("url", ModelRef.Uri) .AddOptionalParameter("token", ModelRef.String) .AddOptionalParameter("push_events", ModelRef.Boolean) .AddOptionalParameter("tag_push_events", ModelRef.Boolean) .AddOptionalParameter("merge_requests_events", ModelRef.Boolean) .AddOptionalParameter("repository_update_events", ModelRef.Boolean) .AddOptionalParameter("enable_ssl_verification", ModelRef.Boolean) ; methodGroup.AddMethod("GetSystemHooks", MethodType.GetPaged, "/hooks", "https://docs.gitlab.com/ee/api/system_hooks.html#list-system-hooks") .WithReturnType(Models.SystemHook) ; methodGroup.AddMethod("Delete", MethodType.Delete, "/hooks/:id", "https://docs.gitlab.com/ee/api/system_hooks.html#delete-system-hook") .AddRequiredParameter("id", Models.SystemHookIdRef) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("Register", MethodType.Post, "/runners", "https://docs.gitlab.com/ee/api/runners.html#register-a-new-runner") .WithReturnType(Models.RunnerRegistered) .AddRequiredParameter("token", ModelRef.String) .AddOptionalParameter("description", ModelRef.String) .AddOptionalParameter("active", ModelRef.Boolean) .AddOptionalParameter("locked", ModelRef.Boolean) .AddOptionalParameter("run_untagged", ModelRef.Boolean) .AddOptionalParameter("tag_list", ModelRef.StringCollection) .AddOptionalParameter("access_level", Choice("RunnerAccessLevel", new[] { "not_protected", "ref_protected" })) .AddOptionalParameter("maximum_timeout", ModelRef.Number) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("GetGitIgnores", MethodType.GetPaged, "/templates/gitignores", "https://docs.gitlab.com/ee/api/templates/gitignores.html#get-all-gitignore-templates") .WithReturnType(Models.TemplateBasic) ; methodGroup.AddMethod("GetGitIgnoreByKey", MethodType.Get, "/templates/gitignores/:key", "https://docs.gitlab.com/ee/api/templates/gitignores.html#get-a-single-gitignore-template") .WithReturnType(Models.Template) .AddRequiredParameter("key", ModelRef.String) ; methodGroup.AddMethod("GetGitLabCiYmls", MethodType.GetPaged, "/templates/gitlab_ci_ymls", "https://docs.gitlab.com/ee/api/templates/gitlab_ci_ymls.html#list-gitlab-ci-yaml-templates") .WithReturnType(Models.TemplateBasic) ; methodGroup.AddMethod("GetGitLabCiYmlByKey", MethodType.Get, "/templates/gitlab_ci_ymls/:key", "https://docs.gitlab.com/ee/api/templates/gitlab_ci_ymls.html#single-gitlab-ci-yaml-template") .WithReturnType(Models.Template) .AddRequiredParameter("key", ModelRef.String) ; methodGroup.AddMethod("GetDockerfiles", MethodType.GetPaged, "/templates/dockerfiles", "https://docs.gitlab.com/ee/api/templates/dockerfiles.html#list-dockerfile-templates") .WithReturnType(Models.TemplateBasic) ; methodGroup.AddMethod("GetDockerfileByKey", MethodType.Get, "/templates/dockerfiles/:key", "https://docs.gitlab.com/ee/api/templates/dockerfiles.html#single-dockerfile-template") .WithReturnType(Models.Template) .AddRequiredParameter("key", ModelRef.String) ; methodGroup.AddMethod("GetLicenses", MethodType.GetPaged, "/templates/licenses", "https://docs.gitlab.com/ee/api/templates/licenses.html#list-license-templates") .WithReturnType(Models.TemplateBasic) .AddOptionalParameter("popular", ModelRef.Boolean) ; methodGroup.AddMethod("GetLicenseByKey", MethodType.Get, "/templates/licenses/:key", "https://docs.gitlab.com/ee/api/templates/licenses.html#single-license-template") .WithReturnType(Models.Template) .AddRequiredParameter("key", ModelRef.String) .AddOptionalParameter("project", ModelRef.String) .AddOptionalParameter("fullname", ModelRef.String) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("CancelPipeline", MethodType.Post, "/projects/:id/pipelines/:pipeline_id/cancel", "https://docs.gitlab.com/ee/api/pipelines.html#cancel-a-pipelines-jobs") .WithReturnType(Models.Pipeline) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("pipeline_id", Models.PipelineIdRef) ; methodGroup.AddMethod("CreatePipeline", MethodType.Post, "/projects/:id/pipeline", "https://docs.gitlab.com/ee/api/pipelines.html#create-a-new-pipeline") .WithReturnType(Models.Pipeline) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("ref", ModelRef.String, ParameterLocation.Url) .AddOptionalParameter("variables", ModelRef.PipelineVariableCreate.MakeCollection(), ParameterLocation.Url, options: MethodParameterOptions.CustomMapping) ; methodGroup.AddMethod("DeletePipeline", MethodType.Delete, "/projects/:id/pipelines/:pipeline_id", "https://docs.gitlab.com/ee/api/pipelines.html#delete-a-pipeline") .WithReturnType(Models.Pipeline) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("pipeline_id", Models.PipelineIdRef) ; methodGroup.AddMethod("GetPipeline", MethodType.Get, "/projects/:id/pipelines/:pipeline_id", "https://docs.gitlab.com/ee/api/pipelines.html#get-a-single-pipeline") .WithReturnType(Models.Pipeline) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("pipeline_id", Models.PipelineIdRef) ; methodGroup.AddMethod("GetPipelines", MethodType.GetPaged, "/projects/:id/pipelines", "https://docs.gitlab.com/ee/api/pipelines.html#list-project-pipelines") .WithReturnType(Models.PipelineBasic) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) ; methodGroup.AddMethod("RetryPipeline", MethodType.Post, "/projects/:id/pipelines/:pipeline_id/retry", "https://docs.gitlab.com/ee/api/pipelines.html#retry-jobs-in-a-pipeline") .WithReturnType(Models.Pipeline) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("pipeline_id", Models.PipelineIdRef) ; methodGroup.AddMethod("GetPipelineVariables", MethodType.GetCollection, "/projects/:id/pipelines/:pipeline_id/variables", "https://docs.gitlab.com/ee/api/pipelines.html#get-variables-of-a-pipeline") .WithReturnType(Models.PipelineVariable) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("pipeline_id", Models.PipelineIdRef) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("GetMergeRequests", MethodType.GetPaged, "/merge_requests", "https://docs.gitlab.com/ee/api/merge_requests.html#list-merge-requests") .WithReturnType(Models.MergeRequest) .AddOptionalParameter("state", Models.MergeRequestState) .AddOptionalParameter("scope", Models.MergeRequestScopeFilter) .AddOptionalParameter("assignee_id", Models.UserIdOrUserNameRef) .AddOptionalParameter("author_id", Models.UserIdOrUserNameRef) .AddOptionalParameter("milestone", ModelRef.String) .AddOptionalParameter("view", Models.MergeRequestView) .AddOptionalParameter("labels", ModelRef.StringCollection) .AddOptionalParameter("created_after", ModelRef.DateTime) .AddOptionalParameter("created_before", ModelRef.DateTime) .AddOptionalParameter("updated_after", ModelRef.DateTime) .AddOptionalParameter("updated_before", ModelRef.DateTime) .AddOptionalParameter("my_reaction_emoji", ModelRef.String) .AddOptionalParameter("source_branch", ModelRef.String) .AddOptionalParameter("target_branch", ModelRef.String) .AddOptionalParameter("search", ModelRef.String) ; methodGroup.AddMethod("GetGroupMergeRequests", MethodType.GetPaged, "/groups/:id/merge_requests", "https://docs.gitlab.com/ee/api/merge_requests.html#list-group-merge-requests") .WithReturnType(Models.MergeRequest) .AddRequiredParameter("id", Models.GroupIdOrPathRef) .AddOptionalParameter("state", Models.MergeRequestState) .AddOptionalParameter("scope", Models.MergeRequestScopeFilter) .AddOptionalParameter("assignee_id", Models.UserIdOrUserNameRef) .AddOptionalParameter("author_id", Models.UserIdOrUserNameRef) .AddOptionalParameter("milestone", ModelRef.String) .AddOptionalParameter("view", Models.MergeRequestView) .AddOptionalParameter("labels", ModelRef.StringCollection) .AddOptionalParameter("created_after", ModelRef.DateTime) .AddOptionalParameter("created_before", ModelRef.DateTime) .AddOptionalParameter("updated_after", ModelRef.DateTime) .AddOptionalParameter("updated_before", ModelRef.DateTime) .AddOptionalParameter("my_reaction_emoji", ModelRef.String) .AddOptionalParameter("source_branch", ModelRef.String) .AddOptionalParameter("target_branch", ModelRef.String) .AddOptionalParameter("search", ModelRef.String) ; methodGroup.AddMethod("GetProjectMergeRequests", MethodType.GetPaged, "/projects/:id/merge_requests", "https://docs.gitlab.com/ee/api/merge_requests.html#list-project-merge-requests") .WithReturnType(Models.MergeRequest) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddOptionalParameter("iids", ModelRef.NumberId.MakeCollection()) .AddOptionalParameter("state", Models.MergeRequestState) .AddOptionalParameter("scope", Models.MergeRequestScopeFilter) .AddOptionalParameter("assignee_id", Models.UserIdOrUserNameRef) .AddOptionalParameter("author_id", Models.UserIdOrUserNameRef) .AddOptionalParameter("milestone", ModelRef.String) .AddOptionalParameter("view", Models.MergeRequestView) .AddOptionalParameter("labels", ModelRef.StringCollection) .AddOptionalParameter("created_after", ModelRef.DateTime) .AddOptionalParameter("created_before", ModelRef.DateTime) .AddOptionalParameter("updated_after", ModelRef.DateTime) .AddOptionalParameter("updated_before", ModelRef.DateTime) .AddOptionalParameter("my_reaction_emoji", ModelRef.String) .AddOptionalParameter("source_branch", ModelRef.String) .AddOptionalParameter("target_branch", ModelRef.String) .AddOptionalParameter("search", ModelRef.String) ; methodGroup.AddMethod("GetMergeRequest", MethodType.Get, "/projects/:id/merge_requests/:merge_request_iid", "https://docs.gitlab.com/ee/api/merge_requests.html#get-single-mr") .WithReturnType(Models.MergeRequest) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("merge_request_iid", Models.MergeRequestIidRef) ; methodGroup.AddMethod("CreateMergeRequest", MethodType.Post, "/projects/:id/merge_requests", "https://docs.gitlab.com/ee/api/merge_requests.html#create-mr") .WithReturnType(Models.MergeRequest) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("source_branch", ModelRef.String) .AddRequiredParameter("target_branch", ModelRef.String) .AddRequiredParameter("title", ModelRef.String) .AddOptionalParameter("description", ModelRef.String) .AddOptionalParameter("assignee_id", Models.UserIdOrUserNameRef) .AddOptionalParameter("assignee_ids", Models.UserIdOrUserNameRef.AsModelRef().MakeCollection()) .AddOptionalParameter("target_project_id", Models.ProjectIdRef) .AddOptionalParameter("remove_source_branch", ModelRef.Boolean) .AddOptionalParameter("allow_collaboration", ModelRef.Boolean) .AddOptionalParameter("allow_maintainer_to_push", ModelRef.Boolean) .AddOptionalParameter("squash", ModelRef.Boolean) ; }
protected override void Create(MethodGroup methodGroup) { var userSort = Choice("UsersOrderBy", new[] { "id", "name", "path", "created_at", "updated_at", "last_activity_at", "repository_size", "storage_size", "packages_size", "wiki_size" }); methodGroup.AddMethod("GetAll", MethodType.GetPaged, "/projects", "https://docs.gitlab.com/ee/api/projects.html#list-all-projects") .WithReturnType(Models.Project) .AddOptionalParameter("archived", ModelRef.Boolean) .AddOptionalParameter("visibility", Models.Visibility) .AddOptionalParameter("search", ModelRef.String) .AddOptionalParameter("simple", ModelRef.Boolean) .AddOptionalParameter("owned", ModelRef.Boolean) .AddOptionalParameter("membership", ModelRef.Boolean) .AddOptionalParameter("starred", ModelRef.Boolean) .AddOptionalParameter("statistics", ModelRef.Boolean) .AddOptionalParameter("with_issues_enabled", ModelRef.Boolean) .AddOptionalParameter("with_merge_requests_enabled", ModelRef.Boolean) .AddOptionalParameter("wiki_checksum_failed", ModelRef.Boolean) .AddOptionalParameter("repository_checksum_failed", ModelRef.Boolean) .AddOptionalParameter("min_access_level", Models.AccessLevel) .AddOptionalParameter("order_by", userSort) .AddOptionalParameter("sort", Models.OrderByDirection) ; methodGroup.AddMethod("GetByUser", MethodType.GetPaged, "/users/:user_id/projects", "https://docs.gitlab.com/ee/api/projects.html#list-user-projects") .WithReturnType(Models.Project) .AddRequiredParameter("user_id", Models.UserIdOrUserNameRef) .AddOptionalParameter("archived", ModelRef.Boolean) .AddOptionalParameter("visibility", Models.Visibility) .AddOptionalParameter("search", ModelRef.String) .AddOptionalParameter("simple", ModelRef.Boolean) .AddOptionalParameter("owned", ModelRef.Boolean) .AddOptionalParameter("membership", ModelRef.Boolean) .AddOptionalParameter("starred", ModelRef.Boolean) .AddOptionalParameter("statistics", ModelRef.Boolean) .AddOptionalParameter("with_issues_enabled", ModelRef.Boolean) .AddOptionalParameter("with_merge_requests_enabled", ModelRef.Boolean) .AddOptionalParameter("min_access_level", Models.AccessLevel) .AddOptionalParameter("order_by", userSort) .AddOptionalParameter("sort", Models.OrderByDirection) ; methodGroup.AddMethod("GetById", MethodType.Get, "/projects/:id", "https://docs.gitlab.com/ee/api/projects.html#get-single-project") .WithReturnType(Models.Project) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) ; methodGroup.AddMethod("Create", MethodType.Post, "/projects", "https://docs.gitlab.com/ee/api/projects.html#create-project") .WithReturnType(Models.Project) .AddOptionalParameter("name", ModelRef.String) .AddOptionalParameter("path", ModelRef.String) .AddOptionalParameter("namespace_id", ModelRef.NumberId) .AddOptionalParameter("default_branch", ModelRef.String) .AddOptionalParameter("description", ModelRef.String) .AddOptionalParameter("issues_enabled", ModelRef.Boolean) .AddOptionalParameter("merge_requests_enabled", ModelRef.Boolean) .AddOptionalParameter("jobs_enabled", ModelRef.Boolean) .AddOptionalParameter("wiki_enabled", ModelRef.Boolean) .AddOptionalParameter("snippets_enabled", ModelRef.Boolean) .AddOptionalParameter("resolve_outdated_diff_discussions", ModelRef.Boolean) .AddOptionalParameter("container_registry_enabled", ModelRef.Boolean) .AddOptionalParameter("shared_runners_enabled", ModelRef.Boolean) .AddOptionalParameter("public_builds", ModelRef.Boolean) .AddOptionalParameter("only_allow_merge_if_pipeline_succeeds", ModelRef.Boolean) .AddOptionalParameter("only_allow_merge_if_all_discussions_are_resolved", ModelRef.Boolean) .AddOptionalParameter("request_access_enabled", ModelRef.Boolean) .AddOptionalParameter("lfs_enabled", ModelRef.Boolean) .AddOptionalParameter("printing_merge_request_link_enabled", ModelRef.Boolean) .AddOptionalParameter("merge_method", Models.MergeMethod) .AddOptionalParameter("visibility", Models.Visibility) .AddOptionalParameter("tag_list", ModelRef.StringCollection) .AddOptionalParameter("ci_config_path", ModelRef.String) .AddOptionalParameter("approvals_before_merge", ModelRef.Number) ; methodGroup.AddMethod("UploadFile", MethodType.Post, "/projects/:id/uploads", "https://docs.gitlab.com/ee/api/projects.html#upload-a-file") .WithReturnType(Models.RepositoryFileUploaded) .AddRequiredParameter("id", Models.ProjectIdOrPathRef) .AddRequiredParameter("file", ModelRef.FileUpload) ; }
protected override void Create(MethodGroup methodGroup) { methodGroup.AddMethod("Get", MethodType.Get, "/version", "https://docs.gitlab.com/ee/api/version.html#version-api") .WithReturnType(Models.ServerVersion) ; }
protected override void Create(MethodGroup methodGroup) { var usersOrderBy = Choice("UsersOrderBy", new[] { "id", "name", "username", "created_at", "updated_at" }); methodGroup.AddMethod("GetCurrentUser", MethodType.Get, "/user", "https://docs.gitlab.com/ee/api/users.html#list-current-user-for-normal-users") .WithReturnType(Models.User); methodGroup.AddMethod("GetById", MethodType.Get, "/users/:user_id", "https://docs.gitlab.com/ee/api/users.html#for-user") .WithReturnType(Models.User) .AddRequiredParameter("user_id", Models.UserIdRef) ; methodGroup.AddMethod("GetAll", MethodType.GetPaged, "/users", "https://docs.gitlab.com/ee/api/users.html#for-normal-users") .WithReturnType(Models.UserBasic) .AddOptionalParameter("username", ModelRef.String) .AddOptionalParameter("active", ModelRef.Boolean) .AddOptionalParameter("blocked", ModelRef.Boolean) .AddOptionalParameter("order_by", usersOrderBy) .AddOptionalParameter("sort", Models.OrderByDirection) ; methodGroup.AddMethod("GetCurrentUserStatus", MethodType.Get, "/user/status", "https://docs.gitlab.com/ee/api/users.html#user-status") .WithReturnType(Models.UserStatus) ; methodGroup.AddMethod("GetStatus", MethodType.Get, "/users/:id_or_username/status", "https://docs.gitlab.com/ee/api/users.html#get-the-status-of-a-user") .WithReturnType(Models.UserStatus) .AddRequiredParameter("id_or_username", Models.UserIdOrUserNameRef) ; methodGroup.AddMethod("SetCurrentUserStatus", MethodType.Put, "/user/status", "https://docs.gitlab.com/ee/api/users.html#set-user-status") .WithReturnType(Models.UserStatus) .AddOptionalParameter("emoji", ModelRef.String) .AddOptionalParameter("message", ModelRef.String) ; methodGroup.AddMethod("GetCurrentUserSSHKeys", MethodType.GetCollection, "/user/keys", "https://docs.gitlab.com/ee/api/users.html#list-ssh-keys") .WithReturnType(Models.SshKey) ; methodGroup.AddMethod("GetSSHKeys", MethodType.GetCollection, "/users/:id_or_username/keys", "https://docs.gitlab.com/ee/api/users.html#list-ssh-keys-for-user") .WithReturnType(Models.SshKey) .AddRequiredParameter("id_or_username", Models.UserIdOrUserNameRef) ; methodGroup.AddMethod("GetCurrentUserSSHKey", MethodType.Get, "/user/keys/:key_id", "https://docs.gitlab.com/ee/api/users.html#single-ssh-key") .WithReturnType(Models.SshKey) .AddRequiredParameter("key_id", Models.SshKeyIdRef) ; methodGroup.AddMethod("AddSSHKeyToCurrentUser", MethodType.Post, "/user/keys", "https://docs.gitlab.com/ee/api/users.html#add-ssh-key") .WithReturnType(Models.SshKey) .AddRequiredParameter("title", ModelRef.String) .AddRequiredParameter("key", ModelRef.String) ; methodGroup.AddMethod("AddSSHKey", MethodType.Post, "/users/:id_or_username/keys", "https://docs.gitlab.com/ee/api/users.html#add-ssh-key-for-user") .WithReturnType(Models.SshKey) .AddRequiredParameter("id_or_username", Models.UserIdOrUserNameRef) .AddRequiredParameter("title", ModelRef.String) .AddRequiredParameter("key", ModelRef.String) ; methodGroup.AddMethod("DeleteSSHKeyFromCurrentUser", MethodType.Delete, "/user/keys/:key_id", "https://docs.gitlab.com/ee/api/users.html#delete-ssh-key-for-current-user") .AddRequiredParameter("key_id", Models.SshKeyIdRef) ; methodGroup.AddMethod("DeleteSSHKey", MethodType.Delete, "/users/:id_or_username/keys/:key_id", "https://docs.gitlab.com/ee/api/users.html#delete-ssh-key-for-given-user") .AddRequiredParameter("id_or_username", Models.UserIdOrUserNameRef) .AddRequiredParameter("key_id", Models.SshKeyIdRef) ; methodGroup.AddMethod("CreateUser", MethodType.Post, "/users", "https://docs.gitlab.com/ee/api/users.html#user-creation") .WithReturnType(Models.User) .AddRequiredParameter("email", ModelRef.String) .AddRequiredParameter("username", ModelRef.String) .AddRequiredParameter("name", ModelRef.String) .AddOptionalParameter("password", ModelRef.String) .AddOptionalParameter("admin", ModelRef.Boolean) .AddOptionalParameter("can_create_group", ModelRef.Boolean) .AddOptionalParameter("skip_confirmation", ModelRef.Boolean) ; methodGroup.AddMethod("CreateImpersonationToken", MethodType.Post, "/users/:user_id/impersonation_tokens", "https://docs.gitlab.com/ee/api/users.html#create-an-impersonation-token") .WithReturnType(Models.ImpersonationToken) .AddRequiredParameter("user_id", Models.UserIdRef) .AddRequiredParameter("name", ModelRef.String) .AddOptionalParameter("expires_at", ModelRef.Date) .AddOptionalParameter("scopes", Choice("ImpersonationTokenScope", new[] { "api", "read_user" }).MakeCollection()) ; }