Exemplo n.º 1
0
 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));
 }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 8
0
        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));
        }
Exemplo n.º 9
0
        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));
        }
Exemplo n.º 10
0
        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));
        }
Exemplo n.º 11
0
        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));
        }
Exemplo n.º 12
0
        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));
        }
Exemplo n.º 13
0
        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));
        }
Exemplo n.º 14
0
        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));
        }
Exemplo n.º 15
0
        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));
        }
Exemplo n.º 16
0
 protected override WebHookOutcomes ConvertFromString(string s)
 {
     return(BitbucketHelpers.StringToWebHookOutcome(s));
 }
Exemplo n.º 17
0
 protected override string ConvertToString(FileTypes value)
 {
     return(BitbucketHelpers.FileTypeToString(value));
 }
Exemplo n.º 18
0
 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));
 }
Exemplo n.º 21
0
 protected override string ConvertToString(WebHookOutcomes value)
 {
     return(BitbucketHelpers.WebHookOutcomeToString(value));
 }
Exemplo n.º 22
0
 protected override string ConvertToString(ParticipantStatus value)
 {
     return(BitbucketHelpers.ParticipantStatusToString(value));
 }
Exemplo n.º 23
0
 protected override Permissions ConvertFromString(string s)
 {
     return(BitbucketHelpers.StringToPermission(s));
 }
Exemplo n.º 24
0
 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));
 }
Exemplo n.º 29
0
 protected override string ConvertToString(Permissions value)
 {
     return(BitbucketHelpers.PermissionToString(value));
 }
Exemplo n.º 30
0
        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));
        }