Пример #1
0
        /// <summary>Add a build to the build database.</summary>
        /// <param name="pullRequestNumber">The GitHub pull request number.</param>
        /// <param name="changeDBPassword">The password</param>
        public void AddBuild(int pullRequestNumber, string changeDBPassword)
        {
            if (changeDBPassword == BuildsClassic.GetValidPassword())
            {
                using (SqlConnection connection = BuildsClassic.Open())
                {
                    string sql = "INSERT INTO ApsimX (Date, PullRequestID, IssueNumber, IssueTitle, Released, Version) " +
                                 "VALUES (@Date, @PullRequestID, @IssueNumber, @IssueTitle, @Released, @Version)";

                    PullRequest pull = GitHubUtilities.GetPullRequest(pullRequestNumber, owner, repo);
                    DateTime    date = pull.GetTestDate(owner, repo);
                    pull.GetIssueDetails(out int issueNumber, out bool released);
                    string issueTitle  = pull.GetIssueTitle(owner, repo);
                    int    nextVersion = Convert.ToInt32(GetNextVersion());
                    using (SqlCommand command = new SqlCommand(sql, connection))
                    {
                        command.Parameters.Add(new SqlParameter("@Date", date));
                        command.Parameters.Add(new SqlParameter("@PullRequestID", pullRequestNumber));
                        command.Parameters.Add(new SqlParameter("@IssueNumber", issueNumber));
                        command.Parameters.Add(new SqlParameter("@IssueTitle", issueTitle));
                        command.Parameters.Add(new SqlParameter("@Released", released));
                        command.Parameters.Add(new SqlParameter("@Version", nextVersion));
                        command.ExecuteNonQuery();
                    }
                }
            }
        }
Пример #2
0
        /// <summary>
        /// Add a new entry to the builds database.
        /// </summary>
        public int AddPullRequest(int PullID, int JenkinsID, string Password, string DbConnectPassword)
        {
            PullRequest pull = GitHubUtilities.GetPullRequest(PullID, repoOwner, repoName);

            string author        = pull.User.Login;
            string patchFileName = PullID.ToString(); // Use Pull Request ID as patch file names.
            string description   = pull.Title;
            int    issueId       = pull.GetIssueID();
            bool   doCommit      = false; // Legacy option.

            return(Add(author, Password, patchFileName, description, issueId, doCommit, JenkinsID, PullID, DbConnectPassword));
        }
Пример #3
0
        /// <summary>
        /// Get details about a GitHub pull request ID. Called from Jenkins.
        /// </summary>
        /// <param name="pullRequestID"></param>
        /// <returns>Format of return string is yyyy-MM-dd hh:mm tt,ID</returns>
        public string GetPullRequestDetails(int pullRequestID)
        {
            PullRequest pull = GitHubUtilities.GetPullRequest(pullRequestID, owner, repo);

            pull.GetIssueDetails(out int issueID, out _);

            if (issueID <= 0)
            {
                throw new Exception("Cannot find issue number in pull request: " + pullRequestID);
            }

            return(DateTime.Now.ToString("yyyy.M.d-HH:mm") + "," + issueID);
        }
Пример #4
0
        /// <summary>
        /// Gets the ID of the issue referenced by a pull request.
        /// </summary>
        /// <param name="pullRequestID">ID of the pull request.</param>
        public int GetIssueID(int pullRequestID)
        {
            PullRequest pull = GitHubUtilities.GetPullRequest(pullRequestID, repoOwner, repoName);

            return(pull.GetIssueID());
        }
Пример #5
0
        public virtual Task <bool> RemoveOutsideCollaborator(string owner, string repositoryName, string user)
        {
            var utility = new GitHubUtilities();

            return(utility.RemoveCollaborator(owner, repositoryName, user));
        }
Пример #6
0
        public virtual Task <Issue> CreateRepositoryIssue(string repositoryName, string title, string body)
        {
            var utility = new GitHubUtilities();

            return(utility.CreateIssue(repositoryName, title, body));
        }