diff --git a/Octokit/Models/Request/RepositoryUpdate.cs b/Octokit/Models/Request/RepositoryUpdate.cs index 0a3925a4..1ee0dd74 100644 --- a/Octokit/Models/Request/RepositoryUpdate.cs +++ b/Octokit/Models/Request/RepositoryUpdate.cs @@ -78,6 +78,11 @@ namespace Octokit /// public bool? AllowMergeCommit { get; set; } + /// + /// Optional. True to archive this repository. Note: you cannot unarchive repositories through the API. + /// + public bool? Archived { get; set; } + [SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal string DebuggerDisplay { diff --git a/Octokit/Models/Request/SearchIssuesRequest.cs b/Octokit/Models/Request/SearchIssuesRequest.cs index f0c66287..a644cdc6 100644 --- a/Octokit/Models/Request/SearchIssuesRequest.cs +++ b/Octokit/Models/Request/SearchIssuesRequest.cs @@ -264,6 +264,11 @@ namespace Octokit /// public string Milestone { get; set; } + /// + /// Filters issues or pull requests based on whether they are in an archived repository. + /// + public bool? Archived { get; set; } + [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public RepositoryCollection Repos { get; set; } @@ -402,6 +407,11 @@ namespace Octokit parameters.Add(string.Format(CultureInfo.InvariantCulture, "milestone:\"{0}\"", Milestone.EscapeDoubleQuotes())); } + if (Archived != null) + { + parameters.Add(string.Format(CultureInfo.InvariantCulture, "archived:{0}", Archived.ToString().ToLower())); + } + // Add any exclusion parameters if (Exclusions != null) { diff --git a/Octokit/Models/Request/SearchRepositoriesRequest.cs b/Octokit/Models/Request/SearchRepositoriesRequest.cs index 61530922..f4101dde 100644 --- a/Octokit/Models/Request/SearchRepositoriesRequest.cs +++ b/Octokit/Models/Request/SearchRepositoriesRequest.cs @@ -112,6 +112,11 @@ namespace Octokit /// public DateRange Updated { get; set; } + /// + /// Filters whether archived repositories should be included (true) or not (false). + /// + public bool? Archived { get; set; } + public override IReadOnlyList MergedQualifiers() { var parameters = new List(); @@ -160,6 +165,12 @@ namespace Octokit { parameters.Add(string.Format(CultureInfo.InvariantCulture, "pushed:{0}", Updated)); } + + if (Archived != null) + { + parameters.Add(string.Format(CultureInfo.InvariantCulture, "archived:{0}", Archived.ToString().ToLower())); + } + return parameters; } diff --git a/Octokit/Models/Response/Repository.cs b/Octokit/Models/Response/Repository.cs index 65a2716f..8ae09602 100644 --- a/Octokit/Models/Response/Repository.cs +++ b/Octokit/Models/Response/Repository.cs @@ -14,7 +14,7 @@ namespace Octokit Id = id; } - public Repository(string url, string htmlUrl, string cloneUrl, string gitUrl, string sshUrl, string svnUrl, string mirrorUrl, long id, string nodeId, User owner, string name, string fullName, string description, string homepage, string language, bool @private, bool fork, int forksCount, int stargazersCount, string defaultBranch, int openIssuesCount, DateTimeOffset? pushedAt, DateTimeOffset createdAt, DateTimeOffset updatedAt, RepositoryPermissions permissions, Repository parent, Repository source, LicenseMetadata license, bool hasIssues, bool hasWiki, bool hasDownloads, bool hasPages, int subscribersCount, long size, bool? allowRebaseMerge, bool? allowSquashMerge, bool? allowMergeCommit) + public Repository(string url, string htmlUrl, string cloneUrl, string gitUrl, string sshUrl, string svnUrl, string mirrorUrl, long id, string nodeId, User owner, string name, string fullName, string description, string homepage, string language, bool @private, bool fork, int forksCount, int stargazersCount, string defaultBranch, int openIssuesCount, DateTimeOffset? pushedAt, DateTimeOffset createdAt, DateTimeOffset updatedAt, RepositoryPermissions permissions, Repository parent, Repository source, LicenseMetadata license, bool hasIssues, bool hasWiki, bool hasDownloads, bool hasPages, int subscribersCount, long size, bool? allowRebaseMerge, bool? allowSquashMerge, bool? allowMergeCommit, bool archived) { Url = url; HtmlUrl = htmlUrl; @@ -53,6 +53,7 @@ namespace Octokit AllowRebaseMerge = allowRebaseMerge; AllowSquashMerge = allowSquashMerge; AllowMergeCommit = allowMergeCommit; + Archived = archived; } public string Url { get; protected set; } @@ -132,6 +133,8 @@ namespace Octokit public long Size { get; protected set; } + public bool Archived { get; protected set; } + internal string DebuggerDisplay { get