예제 #1
0
        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)
            ;
        }
예제 #2
0
        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)
            ;
        }
예제 #5
0
        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)
     ;
 }
예제 #7
0
 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)
     ;
 }
예제 #11
0
 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)
            ;
        }
예제 #13
0
        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)
     ;
 }
예제 #15
0
        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)
            ;
        }
예제 #16
0
        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)
            ;
        }
예제 #17
0
        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)
     ;
 }
예제 #20
0
        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())
            ;
        }