public async Task <BuildStats> GetBuildStatsForCommitAsync(string commitId, bool includeUnique = false) { return(await GetBuildsUrl($"/commits/stats/{commitId}") .SetQueryParam("includeUnique", BitbucketHelpers.BoolToString(includeUnique)) .GetJsonAsync <BuildStats>() .ConfigureAwait(false)); }
public async Task <IEnumerable <Repository> > GetRepositoriesAsync( int?maxPages = null, int?limit = null, int?start = null, string name = null, string projectName = null, Permissions?permission = null, bool isPublic = false) { var queryParamValues = new Dictionary <string, object> { ["limit"] = limit, ["start"] = start, ["name"] = name, ["projectname"] = projectName, ["permission"] = BitbucketHelpers.PermissionToString(permission), ["visibility"] = isPublic ? "public" : "private" }; return(await GetPagedResultsAsync(maxPages, queryParamValues, async qpv => await GetReposUrl() .SetQueryParams(qpv) .GetJsonAsync <PagedResults <Repository> >() .ConfigureAwait(false)) .ConfigureAwait(false)); }
public async Task <IEnumerable <RefRestriction> > GetRepositoryRefRestrictionsAsync(string projectKey, string repositorySlug, RefRestrictionTypes?type = null, RefMatcherTypes?matcherType = null, string matcherId = null, int?maxPages = null, int?limit = null, int?start = null, int?avatarSize = null) { var queryParamValues = new Dictionary <string, object> { ["type"] = BitbucketHelpers.RefRestrictionTypeToString(type), ["matcherType"] = BitbucketHelpers.RefMatcherTypeToString(matcherType), ["matcherId"] = matcherId, ["limit"] = limit, ["start"] = start, ["avatarSize"] = avatarSize }; return(await GetPagedResultsAsync(maxPages, queryParamValues, async qpv => await GetRefRestrictionsUrl($"/projects/{projectKey}/repos/{repositorySlug}/restrictions") .SetQueryParams(qpv) .GetJsonAsync <PagedResults <RefRestriction> >() .ConfigureAwait(false)) .ConfigureAwait(false)); }
public async Task <IEnumerable <PullRequest> > GetDashboardPullRequestsAsync(PullRequestStates?state = null, Roles?role = null, List <ParticipantStatus> status = null, PullRequestOrders?order = PullRequestOrders.Newest, int?closedSinceSeconds = null, int?maxPages = null, int?limit = null, int?start = null) { var queryParamValues = new Dictionary <string, object> { ["state"] = BitbucketHelpers.PullRequestStateToString(state), ["role"] = BitbucketHelpers.RoleToString(role), ["status"] = status != null?string.Join(",", status.Select(BitbucketHelpers.ParticipantStatusToString)) : null, ["order"] = BitbucketHelpers.PullRequestOrderToString(order), ["closedSince"] = closedSinceSeconds, ["limit"] = limit, ["start"] = start, }; return(await GetPagedResultsAsync(maxPages, queryParamValues, async qpv => await GetDashboardUrl("/pull-requests") .SetQueryParams(qpv) .GetJsonAsync <PagedResults <PullRequest> >() .ConfigureAwait(false)) .ConfigureAwait(false)); }
public async Task <bool> SetRootLogLevelAsync(LogLevels logLevel) { var response = await GetLogsUrl($"/logger/rootLogger/{BitbucketHelpers.LogLevelToString(logLevel)}") .PutAsync(new StringContent("")) .ConfigureAwait(false); return(await HandleResponseAsync(response).ConfigureAwait(false)); }
public async Task <LogLevels> GetRootLogLevelAsync() { var response = await GetLogsUrl("/logger/rootLogger") .GetAsync() .ConfigureAwait(false); return(await HandleResponseAsync <LogLevels>(response, s => BitbucketHelpers.StringToLogLevel(JsonConvert.DeserializeObject <dynamic>(s).logLevel.ToString())) .ConfigureAwait(false)); }
public async Task <RepositorySynchronizationStatus> EnableRepositorySynchronizationAsync(string projectKey, string repositorySlug, bool enabled) { var data = new { enabled = BitbucketHelpers.BoolToString(enabled) }; var response = await GetRefSyncUrl($"/projects/{projectKey}/repos/{repositorySlug}") .PostJsonAsync(data) .ConfigureAwait(false); return(await HandleResponseAsync <RepositorySynchronizationStatus>(response).ConfigureAwait(false)); }
public async Task <ProjectKey> CreateProjectKeyAsync(string projectKey, string keyText, Permissions permission) { var data = new { key = new { text = keyText }, permission = BitbucketHelpers.PermissionToString(permission) }; var response = await GetKeysUrl($"/projects/{projectKey}/ssh") .PostJsonAsync(data) .ConfigureAwait(false); return(await HandleResponseAsync <ProjectKey>(response).ConfigureAwait(false)); }
public async Task <Tag> CreateTagAsync(string projectKey, string repositorySlug, TagTypes tagType, string tagName, string startPoint) { var data = new { type = BitbucketHelpers.TagTypeToString(tagType), name = tagName, startPoint }; var response = await GetGitUrl($"/projects/{projectKey}/repos/{repositorySlug}/tags") .PostJsonAsync(data) .ConfigureAwait(false); return(await HandleResponseAsync <Tag>(response).ConfigureAwait(false)); }
public async Task <bool> DeleteRepoBranchAsync(string projectKey, string repositorySlug, string branchName, bool dryRun, string endPoint = null) { var data = new { name = branchName, dryRun = BitbucketHelpers.BoolToString(dryRun), endPoint }; var response = await GetBranchUrl($"/projects/{projectKey}/repos/{repositorySlug}/branches") .SendAsync(HttpMethod.Delete, new StringContent(JsonConvert.SerializeObject(data))) .ConfigureAwait(false); return(await HandleResponseAsync(response).ConfigureAwait(false)); }
public async Task <IEnumerable <Repository> > GetRecentReposAsync(Permissions?permission = null, int?maxPages = null, int?limit = null, int?start = null) { var queryParamValues = new Dictionary <string, object> { ["limit"] = limit, ["start"] = start, ["permission"] = BitbucketHelpers.PermissionToString(permission) }; return(await GetPagedResultsAsync(maxPages, queryParamValues, async qpv => await GetProfileUrl("/recent/repos") .SetQueryParams(qpv) .GetJsonAsync <PagedResults <Repository> >() .ConfigureAwait(false)) .ConfigureAwait(false)); }
public async Task <IEnumerable <PullRequest> > GetInboxPullRequestsAsync( int?maxPages = null, int?limit = 25, int?start = 0, Roles role = Roles.Reviewer) { var queryParamValues = new Dictionary <string, object> { ["limit"] = limit, ["start"] = start, ["role"] = BitbucketHelpers.RoleToString(role) }; return(await GetPagedResultsAsync(maxPages, queryParamValues, async qpv => await GetInboxUrl("/pull-requests") .SetQueryParams(qpv) .GetJsonAsync <PagedResults <PullRequest> >() .ConfigureAwait(false)) .ConfigureAwait(false)); }
public async Task <bool> CreateAdminUserAsync(string name, string password, string displayName, string emailAddress, bool addToDefaultGroup = true, string notify = "false") { var queryParamValues = new Dictionary <string, object> { ["name"] = name, ["password"] = password, ["displayName"] = displayName, ["emailAddress"] = emailAddress, ["addToDefaultGroup"] = BitbucketHelpers.BoolToString(addToDefaultGroup), ["notify"] = notify }; var response = await GetAdminUrl("/users") .SetQueryParams(queryParamValues) .PostJsonAsync(new StringContent("")) .ConfigureAwait(false); return(await HandleResponseAsync(response).ConfigureAwait(false)); }
public async Task <string> PreviewMarkupAsync(string text, string urlMode = null, bool?hardWrap = null, bool?htmlEscape = null) { var queryParamValues = new Dictionary <string, object> { ["urlMode"] = urlMode, ["hardWrap"] = BitbucketHelpers.BoolToString(hardWrap), ["htmlEscape"] = BitbucketHelpers.BoolToString(htmlEscape) }; var response = await GetMarkupUrl("/preview") .WithHeader("X-Atlassian-Token", "no-check") .SetQueryParams(queryParamValues) .PostJsonAsync(new StringContent(text)) .ConfigureAwait(false); return(await HandleResponseAsync <string>(response, s => JsonConvert.DeserializeObject <dynamic>(s).html.ToString()) .ConfigureAwait(false)); }
public async Task <IEnumerable <ProjectKey> > GetProjectKeysAsync(string projectKey, string filter = null, Permissions?permission = null, int?maxPages = null, int?limit = null, int?start = null) { var queryParamValues = new Dictionary <string, object> { ["limit"] = limit, ["start"] = start, ["filter"] = filter, ["permission"] = BitbucketHelpers.PermissionToString(permission) }; return(await GetPagedResultsAsync(maxPages, queryParamValues, async qpv => await GetKeysUrl($"/projects/{projectKey}/ssh") .SetQueryParams(qpv) .GetJsonAsync <PagedResults <ProjectKey> >() .ConfigureAwait(false)) .ConfigureAwait(false)); }
protected override WebHookOutcomes ConvertFromString(string s) { return(BitbucketHelpers.StringToWebHookOutcome(s)); }
protected override string ConvertToString(FileTypes value) { return(BitbucketHelpers.FileTypeToString(value)); }
protected override FileTypes ConvertFromString(string s) { return(BitbucketHelpers.StringToFileType(s)); }
protected override string ConvertToString(RefRestrictionTypes value) { return(BitbucketHelpers.RefRestrictionTypeToString(value)); }
protected override RefRestrictionTypes ConvertFromString(string s) { return(BitbucketHelpers.StringToRefRestrictionType(s)); }
protected override string ConvertToString(WebHookOutcomes value) { return(BitbucketHelpers.WebHookOutcomeToString(value)); }
protected override string ConvertToString(ParticipantStatus value) { return(BitbucketHelpers.ParticipantStatusToString(value)); }
protected override Permissions ConvertFromString(string s) { return(BitbucketHelpers.StringToPermission(s)); }
protected override ParticipantStatus ConvertFromString(string s) { return(BitbucketHelpers.StringToParticipantStatus(s)); }
protected override SynchronizeActions ConvertFromString(string s) { return(BitbucketHelpers.StringToSynchronizeAction(s)); }
protected override string ConvertToString(PullRequestStates value) { return(BitbucketHelpers.PullRequestStateToString(value)); }
protected override PullRequestStates ConvertFromString(string s) { return(BitbucketHelpers.StringToPullRequestState(s)); }
protected override string ConvertToString(SynchronizeActions value) { return(BitbucketHelpers.SynchronizeActionToString(value)); }
protected override string ConvertToString(Permissions value) { return(BitbucketHelpers.PermissionToString(value)); }
public async Task <RepositoryKey> UpdateRepoKeyPermissionAsync(string projectKey, string repositorySlug, int keyId, Permissions permission) { var response = await GetKeysUrl($"/projects/{projectKey}/repos/{repositorySlug}/ssh/{keyId}/permissions/{BitbucketHelpers.PermissionToString(permission)}") .PutAsync(new StringContent("")) .ConfigureAwait(false); return(await HandleResponseAsync <RepositoryKey>(response).ConfigureAwait(false)); }