public async Task <Comment> AddPullRequestComment(string repositoryName, string ownerName, long id, string content, long?lineFrom = null, long?lineTo = null, string fileName = null, long?parentId = null) { var url = ApiUrls.PullRequestComments(ownerName, repositoryName, id); var request = new BitbucketRestRequest(url, Method.POST); var body = new Comment() { Content = new Content() { Raw = content }, Inline = fileName != null ? new Inline() { From = parentId != null ? null : lineFrom, To = parentId != null ? null : lineTo, Path = fileName } : null, Parent = parentId.HasValue ? new Parent() { Id = parentId.Value } : null }; request.AddParameter("application/json; charset=utf-8", request.JsonSerializer.Serialize(body), ParameterType.RequestBody); var response = await RestClient.ExecuteTaskAsync <Comment>(request); return(response.Data); }
public async Task <Comment> AddPullRequestComment(string repositoryName, string ownerName, long id, string content, long?lineFrom = null, long?lineTo = null, string fileName = null, long?parentId = null) { var url = ApiUrls.PullRequestCommentsV1(ownerName, repositoryName, id); var request = new BitbucketRestRequest(url, Method.POST); var body = new CommentV1() { Content = content, LineFrom = parentId != null ? null : lineFrom, LineTo = parentId != null ? null : lineTo, FileName = fileName, ParentId = parentId }; if (body.LineFrom != null)//we can't set both { body.LineTo = null; } request.AddParameter("application/json; charset=utf-8", request.JsonSerializer.Serialize(body), ParameterType.RequestBody); var response = await _versionOneClient.ExecuteTaskAsync <CommentV1>(request); return(response.Data.MapTo <Comment>()); }
public async Task <Comment> AddPullRequestComment(string repositoryName, string ownerName, long id, string content, long?lineFrom = null, long?lineTo = null, string fileName = null, long?parentId = null) { var url = EnterpriseApiUrls.PullRequestComments(ownerName, repositoryName, id); var request = new BitbucketRestRequest(url, Method.POST); var body = new EnterpriseComment() { Text = content, Parent = parentId.HasValue ? new EnterpriseParent() { Id = parentId.Value } : null, Anchor = fileName != null ? new EnterpriseAnchor() { Line = lineFrom ?? lineTo, FileType = lineFrom != null && lineTo != null ? (FileDiffType?)null : lineFrom != null ? FileDiffType.From : FileDiffType.To, Path = fileName, SourcePath = fileName, LineType = lineFrom != null && lineTo != null ? "CONTEXT" : lineFrom != null ? "REMOVED" : "ADDED", } : null }; request.AddParameter("application/json; charset=utf-8", request.JsonSerializer.Serialize(body), ParameterType.RequestBody); var response = await RestClient.ExecuteTaskAsync <EnterpriseComment>(request); return(response.Data.MapTo <Comment>()); }
public async Task MergePullRequest(string repositoryName, string ownerName, MergeRequest mergeRequest) { var url = ApiUrls.PullRequestMerge(ownerName, repositoryName, mergeRequest.Id); var request = new BitbucketRestRequest(url, Method.POST); request.AddParameter("application/json; charset=utf-8", request.JsonSerializer.Serialize(mergeRequest), ParameterType.RequestBody); await RestClient.ExecuteTaskAsync(request); }
public async Task <Repository> CreateRepository(Repository repository) { var url = ApiUrls.Repository(Connection.Credentials.Login, repository.Name); var request = new BitbucketRestRequest(url, Method.POST); request.AddParameter("application/json; charset=utf-8", request.JsonSerializer.Serialize(repository), ParameterType.RequestBody); var response = await RestClient.ExecuteTaskAsync <Repository>(request); return(response.Data); }
public async Task CreatePullRequest(PullRequest pullRequest, string repositoryName, string owner) { pullRequest.Author = new User() { Username = Connection.Credentials.Login }; var url = EnterpriseApiUrls.PullRequests(owner, repositoryName); var request = new BitbucketRestRequest(url, Method.POST); request.AddParameter("application/json; charset=utf-8", request.JsonSerializer.Serialize(pullRequest.MapTo <EnterprisePullRequest>()), ParameterType.RequestBody); await RestClient.ExecuteTaskAsync(request); }
public async Task UpdatePullRequest(PullRequest pullRequest, string repoName, string owner) { pullRequest.Author = new User() { Username = Connection.Credentials.Login }; var url = ApiUrls.PullRequest(owner, repoName, pullRequest.Id); var request = new BitbucketRestRequest(url, Method.PUT); request.AddParameter("application/json; charset=utf-8", request.JsonSerializer.Serialize(pullRequest), ParameterType.RequestBody); var response = await RestClient.ExecuteTaskAsync <PullRequest>(request); }
public async Task <Repository> CreateRepository(Repository repository) { var url = EnterpriseApiUrls.CreateRepositories(Connection.Credentials.Login); var request = new BitbucketRestRequest(url, Method.POST); var enterpriseRepo = new EnterpriseRepository() { Name = repository.Name, IsPublic = !repository.IsPrivate }; request.AddParameter("application/json; charset=utf-8", request.JsonSerializer.Serialize(enterpriseRepo), ParameterType.RequestBody); var response = await RestClient.ExecuteTaskAsync <EnterpriseRepository>(request); return(response.Data.MapTo <Repository>()); }
public async Task UpdatePullRequest(PullRequest pullRequest, string repoName, string owner) { pullRequest.Author = new User() { Username = Connection.Credentials.Login }; pullRequest.Destination = null;//throws exception if the same dest is set. Unless we allow to change it, leave it null var url = EnterpriseApiUrls.PullRequest(owner, repoName, pullRequest.Id); var request = new BitbucketRestRequest(url, Method.PUT); request.AddParameter("application/json; charset=utf-8", request.JsonSerializer.Serialize(pullRequest.MapTo <EnterprisePullRequest>()), ParameterType.RequestBody); await RestClient.ExecuteTaskAsync(request); }
public async Task <Comment> EditPullRequestComment(string repositoryName, string ownerName, long pullRequestId, long id, string content, long commentVersion) { var url = ApiUrls.PullRequestCommentV1(ownerName, repositoryName, pullRequestId, id); var request = new BitbucketRestRequest(url, Method.PUT); var body = new CommentV1() { Content = content }; request.AddParameter("application/json; charset=utf-8", request.JsonSerializer.Serialize(body), ParameterType.RequestBody); var response = await _versionOneClient.ExecuteTaskAsync <CommentV1>(request); return(response.Data.MapTo <Comment>()); }
public async Task CreatePullRequest(PullRequest pullRequest, string repositoryName, string owner) { pullRequest.Author = new User() { UserName = Connection.Credentials.Login, }; pullRequest.Reviewers = pullRequest.Reviewers.Select(x => new User() { Uuid = x.Uuid }).ToList(); var url = ApiUrls.PullRequests(owner, repositoryName); var request = new BitbucketRestRequest(url, Method.POST); request.AddParameter("application/json; charset=utf-8", request.JsonSerializer.Serialize(pullRequest), ParameterType.RequestBody); var response = await RestClient.ExecuteTaskAsync <PullRequest>(request); }