Example #1
0
        public async Task ExecuteAsync(OctoContext context)
        {
            var json    = await new StreamReader(context.Request.Body).ReadToEndAsync();
            var request = JsonConvert.DeserializeObject <JObject>(json);

            var baseUrl  = request.GetValue("BaseUrl").ToString();
            var username = request.GetValue("Username").ToString();
            // If password here is null, it could be that they're clicking the test connectivity button after saving
            // the configuration as we won't have the value of the password on client side, so we need to retrieve it
            // from the database
            var password = string.IsNullOrEmpty(request.GetValue("Password").ToString())
                ? configurationStore.GetJiraPassword()
                : request.GetValue("Password").ToString();

            if (string.IsNullOrEmpty(baseUrl) || string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
            {
                context.Response.AsOctopusJson(ConnectivityCheckResponse.Failure(
                                                   string.IsNullOrEmpty(baseUrl) ? "Please provide a value for Jira Base Url." : null,
                                                   string.IsNullOrEmpty(username) ? "Please provide a value for Jira Username." : null,
                                                   string.IsNullOrEmpty(password) ? "Please provide a value for Jira Password." : null));
                return;
            }

            var jiraRestClient          = new JiraRestClient(baseUrl, username, password, log);
            var connectivityCheckResult = jiraRestClient.GetServerInfo().Result;

            context.Response.AsOctopusJson(connectivityCheckResult);
        }
Example #2
0
        /// <summary>
        /// Creates a JIRA rest client.
        /// </summary>
        /// <param name="url">Url to the JIRA server.</param>
        /// <param name="username">Username used to authenticate.</param>
        /// <param name="password">Password used to authenticate.</param>
        /// <param name="settings">Settings to configure the rest client.</param>
        /// <returns>Jira object configured to use REST API.</returns>
        public static Jira CreateRestClient(string url, string username = null, string password = null, JiraRestClientSettings settings = null)
        {
            settings = settings ?? new JiraRestClientSettings();
            var restClient = new JiraRestClient(url, username, password, settings);

            return(CreateRestClient(restClient));
        }
Example #3
0
        public override bool Execute()
        {
            try
            {
                JiraRestClient            restClient = new JiraRestClient(JiraUrl, Authenticator);
                IJiraProjectVersionFinder finder     = new JiraProjectVersionFinder(restClient);
                var versions = finder.FindVersions(JiraProject, VersionPattern).ToArray();

                var unreleasedVersions = versions.Where(v => v.released != true);
                var releasedVersions   = versions.Where(v => v.released == true);

                var latestReleasedVersion     = releasedVersions.Last();
                var earliestUnreleasedVersion = unreleasedVersions.First();

                VersionID                 = latestReleasedVersion.id;
                VersionName               = latestReleasedVersion.name;
                NextUnreleasedVersionID   = earliestUnreleasedVersion.id;
                NextUnreleasedVersionName = earliestUnreleasedVersion.name;

                return(true);
            }
            catch (Exception ex)
            {
                Log.LogErrorFromException(ex);
                return(false);
            }
        }
        public override bool Execute()
        {
            try
              {
            JiraRestClient restClient = new JiraRestClient (JiraUrl, Authenticator);
            IJiraProjectVersionService service = new JiraProjectVersionService (restClient);
            IJiraProjectVersionFinder finder = new JiraProjectVersionFinder(restClient);

            var versions = finder.FindVersions (JiraProjectKey, "(?s).*");
            var jiraProject = versions.Where(x => x.name == VersionNumber).DefaultIfEmpty().First();

            if (jiraProject != null)
            {
              if (jiraProject.released != null)
              {
            if (jiraProject.released.Value)
              throw new JiraException ("The Version '" + VersionNumber + "' got already released in Jira.");
              }

              CreatedVersionID = jiraProject.id;
              return true;
            }

            CreatedVersionID = service.CreateVersion (JiraProjectKey, VersionNumber, null);
            return true;
              }
              catch (Exception ex)
              {
            Log.LogErrorFromException (ex);
            return false;
              }
        }
        public SpecIfJiraDataWriter(string url,
                                    string userName,
                                    string apiKey,
                                    ISpecIfMetadataReader metadataReader,
                                    ISpecIfDataReader dataReader) : base(metadataReader, dataReader)
        {
            _url = url;

            _jiraClient = new JiraRestClient(url, userName, apiKey);
        }
Example #6
0
        public void SetUp()
        {
            IAuthenticator authenticator = new HttpBasicAuthenticator(c_jiraUsername, c_jiraPassword);

            _restClient    = new JiraRestClient(c_jiraUrl, authenticator);
            _service       = new JiraProjectVersionService(_restClient);
            _versionFinder = new JiraProjectVersionFinder(_restClient);
            _issueService  = new JiraIssueService(_restClient);
            _repairer      = new JiraProjectVersionRepairer(_service, _versionFinder);
        }
        public override bool Execute()
        {
            JiraRestClient restClient = new JiraRestClient(JiraUrl, Authenticator);

            IJiraProjectVersionFinder finder = new JiraProjectVersionFinder(restClient);

            //Just call any function to send a Request and test Authentication Details
            //Throws JiraException with HttpStatusCode.Forbidden if Authentication fails
            finder.FindUnreleasedVersions(JiraProject, "(?s).*");

            return(true);
        }
        public override bool Execute()
        {
            JiraRestClient restClient = new JiraRestClient(JiraUrl, Authenticator);

              IJiraProjectVersionFinder finder = new JiraProjectVersionFinder(restClient);

              //Just call any function to send a Request and test Authentication Details
              //Throws JiraException with HttpStatusCode.Forbidden if Authentication fails
              finder.FindUnreleasedVersions(JiraProject, "(?s).*");

              return true;
        }
Example #9
0
        /// <summary>
        /// Creates a JIRA rest client.
        /// </summary>
        /// <param name="url">Url to the JIRA server.</param>
        /// <param name="username">Username used to authenticate.</param>
        /// <param name="password">Password used to authenticate.</param>
        /// <param name="settings">Settings to configure the rest client.</param>
        /// <returns>Jira object configured to use REST API.</returns>
        public static Jira CreateRestClient(string url, string username = null, string password = null, JiraRestClientSettings settings = null)
        {
            var services = new ServiceLocator();

            settings = settings ?? new JiraRestClientSettings();
            var jira       = new Jira(services, new JiraCredentials(username, password), settings.Cache);
            var restClient = new JiraRestClient(url, username, password, settings);

            ConfigureDefaultServices(services, jira, restClient);

            return(jira);
        }
Example #10
0
        public static void Main(string[] args)
        {
            var client = new JiraRestClient("https://jira.devfactory.com", "kkilicoglu", "xxx");

            var user = client.GetUser("kkilicoglu");

            foreach (var worklog in DefaultWorklogs(user))
            {
                client.AddWorklogToIssue("AESCIS-16741", worklog);
            }

            //"AESCIS-16741"
            Console.ReadLine();
        }
Example #11
0
        public List <string> Build(string repositoryName, string branchName, string tagName, string[] taskPrefixes)
        {
            var gitHubClient  = new GitHubRestClient(notesBuilderConfiguration.GithubOwnerName, notesBuilderConfiguration.GithubAccessToken);
            var gitHubPovider = new GitHubDataProvider(gitHubClient);

            var jiraClient   = new JiraRestClient(notesBuilderConfiguration.JiraUsername, notesBuilderConfiguration.JiraPassword);
            var jiraProvider = new JiraDataProvider(jiraClient);

            var taskCriteria = taskPrefixes
                               .Select(x => new Regex(x + "-(\\d){1,}", RegexOptions.Multiline | RegexOptions.IgnoreCase))
                               .ToArray();

            var taskNames = gitHubPovider.GetTaskNamesByCommitDescription(repositoryName, branchName, tagName, taskCriteria);

            return(taskNames.Select(taskName => string.Format("{0} {1}", taskName, jiraProvider.GetTask(taskName).Summary)).ToList());
        }
        public override bool Execute()
        {
            try
              {
            JiraRestClient restClient = new JiraRestClient (JiraUrl, Authenticator);
            IJiraProjectVersionService service = new JiraProjectVersionService (restClient);
            service.ReleaseVersion (VersionID, NextVersionID);

            return true;
              }
              catch(Exception ex)
              {
            Log.LogErrorFromException (ex);
            return false;
              }
        }
        public List<string> Build(string repositoryName, string branchName, string tagName, string[] taskPrefixes)
        {
            var gitHubClient = new GitHubRestClient(notesBuilderConfiguration.GithubOwnerName, notesBuilderConfiguration.GithubAccessToken);
            var gitHubPovider = new GitHubDataProvider(gitHubClient);

            var jiraClient = new JiraRestClient(notesBuilderConfiguration.JiraUsername, notesBuilderConfiguration.JiraPassword);
            var jiraProvider = new JiraDataProvider(jiraClient);

            var taskCriteria = taskPrefixes
                .Select(x => new Regex(x + "-(\\d){1,}", RegexOptions.Multiline | RegexOptions.IgnoreCase))
                .ToArray();

            var taskNames = gitHubPovider.GetTaskNamesByCommitDescription(repositoryName, branchName, tagName, taskCriteria);

            return taskNames.Select(taskName => string.Format("{0} {1}", taskName, jiraProvider.GetTask(taskName).Summary)).ToList();
        }
        public override bool Execute()
        {
            try
            {
                JiraRestClient             restClient = new JiraRestClient(JiraUrl, Authenticator);
                IJiraProjectVersionService service    = new JiraProjectVersionService(restClient);
                service.ReleaseVersionAndSquashUnreleased(VersionID, NextVersionID, ProjectKey);

                return(true);
            }
            catch (Exception ex)
            {
                Log.LogErrorFromException(ex);
                return(false);
            }
        }
        public override bool Execute()
        {
            try
              {
            JiraRestClient restClient = new JiraRestClient (JiraUrl, Authenticator);
            IJiraProjectVersionService service = new JiraProjectVersionService (restClient);
            service.CreateSubsequentVersion (JiraProject, VersionPattern, VersionComponentToIncrement, _versionReleaseWeekday);

            return true;
              }
              catch(Exception ex)
              {
            Log.LogErrorFromException (ex);
            return false;
              }
        }
        public void OneTest()
        {
            IJiraRestClient client = new JiraRestClient("https://jira.atlassian.com", "jirarestclientnet", "jirarestclientnet");

            IJiraIssue issue = client.GetIssue("JRA-25592");

            Assert.AreEqual("JRA-25592", issue.Key);
            Assert.IsFalse(issue.IsSubtask);

            IEnumerable<string> expectedLabels = new List<string> { "advisory", "security" };
            IEnumerable<string> actualLabels = from label in issue.Labels orderby label select label;

            CollectionAssert.AreEqual(expectedLabels, actualLabels);

            Assert.AreEqual("Bug", issue.IssueType);
            Assert.AreEqual("Bug", issue.IssueTypeObject.Name);
        }
Example #17
0
        /// <summary>
        /// Creates a JIRA client configured to use the REST API.
        /// </summary>
        /// <param name="url">Url to the JIRA server.</param>
        /// <param name="username">Username used to authenticate.</param>
        /// <param name="password">Password used to authenticate.</param>
        /// <param name="settings">Settings to configure the rest client.</param>
        /// <returns>Jira object configured to use REST API.</returns>
        public static Jira CreateRestClient(string url, string username = null, string password = null, JiraRestClientSettings settings = null)
        {
            Jira jira    = null;
            var  options = new JiraRestClient.Options()
            {
                Url                = url,
                Username           = username,
                Password           = password,
                RestClientSettings = settings ?? new JiraRestClientSettings(),
                GetCurrentJiraFunc = () => jira
            };

            var restClient = new JiraRestClient(options);

            jira = CreateRestClient(restClient, new JiraCredentials(username, password), options.RestClientSettings.Cache);

            return(jira);
        }
Example #18
0
        public SpecIfJiraDataReader(string url,
                                    string userName,
                                    string apiKey,
                                    ISpecIfMetadataReader metadataReader)
        {
            _url            = url;
            _metadataReader = metadataReader;

            _jiraClient = new JiraRestClient(url, userName, apiKey);


            if (!_projectInfoInitialized)
            {
                InitializeProjectInformations();

                _projectInfoInitialized = true;
            }
        }
Example #19
0
        public override bool Execute()
        {
            try
            {
                JiraRestClient             restClient = new JiraRestClient(JiraUrl, Authenticator);
                IJiraProjectVersionService service    = new JiraProjectVersionService(restClient);
                IJiraProjectVersionFinder  finder     = new JiraProjectVersionFinder(restClient);
                var _jiraProjectVersionRepairer       = new JiraProjectVersionRepairer(service, finder);

                var versions    = finder.FindVersions(JiraProjectKey, "(?s).*").ToList();
                var jiraProject = versions.Where(x => x.name == VersionNumber).DefaultIfEmpty().First();

                if (jiraProject != null)
                {
                    if (jiraProject.released != null)
                    {
                        if (jiraProject.released.Value)
                        {
                            throw new JiraException("The Version '" + VersionNumber + "' got already released in Jira.");
                        }
                    }

                    CreatedVersionID = jiraProject.id;
                    return(true);
                }

                CreatedVersionID = service.CreateVersion(JiraProjectKey, VersionNumber, null);

                _jiraProjectVersionRepairer.RepairVersionPosition(CreatedVersionID);

                return(true);
            }
            catch (Exception ex)
            {
                Log.LogErrorFromException(ex);
                return(false);
            }
        }
    public override bool Execute ()
    {
      try
      {
        JiraRestClient restClient = new JiraRestClient (JiraUrl, Authenticator);
        IJiraProjectVersionFinder finder = new JiraProjectVersionFinder (restClient);
        var versions = finder.FindUnreleasedVersions (JiraProject, VersionPattern).ToArray();

        VersionID = "";
        VersionName = "";
        NextVersionID = "";
        NextVersionName = "";
        NumberOfUnreleasedVersions = versions.Count();

        if(NumberOfUnreleasedVersions >= 1)
        {
          var version = versions.First();
          VersionID = version.id;
          VersionName = version.name;
        }

        if(NumberOfUnreleasedVersions >= 2)
        {
          var nextVersion = versions.Skip (1).First();
          NextVersionID = nextVersion.id;
          NextVersionName = nextVersion.name;
        }

        return true;
      }
      catch(Exception ex)
      {
        Log.LogErrorFromException (ex);
        return false;
      }
    }
        public override bool Execute()
        {
            try
              {
            JiraRestClient restClient = new JiraRestClient (JiraUrl, Authenticator);
            IJiraProjectVersionFinder finder = new JiraProjectVersionFinder (restClient);
            var versions = finder.FindUnreleasedVersions (JiraProject, VersionPattern).ToArray();

            VersionID = "";
            VersionName = "";
            NextVersionID = "";
            NextVersionName = "";
            NumberOfUnreleasedVersions = versions.Count();

            if(NumberOfUnreleasedVersions >= 1)
            {
              var version = versions.First();
              VersionID = version.id;
              VersionName = version.name;
            }

            if(NumberOfUnreleasedVersions >= 2)
            {
              var nextVersion = versions.Skip (1).First();
              NextVersionID = nextVersion.id;
              NextVersionName = nextVersion.name;
            }

            return true;
              }
              catch(Exception ex)
              {
            Log.LogErrorFromException (ex);
            return false;
              }
        }
        public override bool Execute()
        {
            try
            {
                JiraRestClient             restClient = new JiraRestClient(JiraUrl, Authenticator);
                IJiraProjectVersionService service    = new JiraProjectVersionService(restClient);
                IJiraProjectVersionFinder  finder     = new JiraProjectVersionFinder(restClient);
                var jiraProjectVersionRepairer        = new JiraProjectVersionRepairer(service, finder);

                var createdVersionId = service.CreateSubsequentVersion(JiraProject, VersionPattern, VersionComponentToIncrement, _versionReleaseWeekday);

                if (SortVersion)
                {
                    jiraProjectVersionRepairer.RepairVersionPosition(createdVersionId);
                }

                return(true);
            }
            catch (Exception ex)
            {
                Log.LogErrorFromException(ex);
                return(false);
            }
        }
        public override bool Execute()
        {
            try
            {
                JiraRestClient             restClient = new JiraRestClient(JiraUrl, Authenticator);
                IJiraProjectVersionService service    = new JiraProjectVersionService(restClient);
                var jiraProjectVersionFinder          = new JiraProjectVersionFinder(restClient);
                var jiraProjectVersionRepairer        = new JiraProjectVersionRepairer(service, jiraProjectVersionFinder);

                service.ReleaseVersion(VersionID, NextVersionID);

                if (SortReleasedVersion)
                {
                    jiraProjectVersionRepairer.RepairVersionPosition(VersionID);
                }

                return(true);
            }
            catch (Exception ex)
            {
                Log.LogErrorFromException(ex);
                return(false);
            }
        }
Example #24
0
 public IssueClient(JiraRestClient jiraRestClient) : base(jiraRestClient)
 {
 }
Example #25
0
 public PermissionsClient(JiraRestClient jiraRestClient) : base(jiraRestClient)
 {
 }
Example #26
0
 public BaseTest()
 {
     RestClient = new JiraRestClient(Uri, Username, Password);
 }
Example #27
0
 public ProjectClient(JiraRestClient jiraRestClient) : base(jiraRestClient)
 {
 }
 public SearchClient(JiraRestClient jiraRestClient) : base(jiraRestClient)
 {
 }
Example #29
0
 public static JiraClient FromBaseAuth(string user, string pass, string url)
 {
     return(new JiraClient(JiraRestClient.FromBasicAuth(user, pass, url)));
 }
Example #30
0
 public JiraIssueService(JiraRestClient restClient)
 {
     jiraClient = restClient;
 }
 public SystemClient(JiraRestClient jiraRestClient) : base(jiraRestClient)
 {
 }
 public UserClient(JiraRestClient jiraRestClient) : base(jiraRestClient)
 {
 }
 public JiraProjectVersionFinder(JiraRestClient restClient)
 {
     jiraClient = restClient;
 }
 public void SetUp()
 {
     IAuthenticator authenticator = new HttpBasicAuthenticator(c_jiraUsername, c_jiraPassword);
       _restClient = new JiraRestClient (c_jiraUrl, authenticator);
       _service = new JiraProjectVersionService (_restClient);
       _versionFinder = new JiraProjectVersionFinder (_restClient);
       _issueService = new JiraIssueService (_restClient);
 }