-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Add support for managing Code Security Configrations #3095
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
6253864
to
1f5d78b
Compare
1f5d78b
to
22f8314
Compare
Have lint pass cleanly. Add unit tests for security config. Also fix a bug in getting repository security config. Fix it so lint passes. Fix bad import. Fix import ordering.
22f8314
to
fbf2635
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work, just minor convention issues.
@@ -4222,6 +4225,29 @@ def update_custom_properties(self, properties: dict[str, None | str | list]) -> | ||
} | ||
self._requester.requestJsonAndCheck("PATCH", url, input=patch_parameters) | ||
|
||
def attach_security_config(self, id: int) -> None: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same naming as in Organization
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So I made the requested change here, but IMHO the to_repository
and from_repository
here are a touch redundant.
Example code (actually from the unit test):
repo.attach_security_config_to_repository(id=1234)
vs
repo.attach_security_config(id=1234)
Ultimately I defer to whatever you prefer, but just thought I'd point it out.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right, this is a method on Repository
. Please revert to attach_security_config
.
6528884
to
199feaa
Compare
Co-authored-by: Enrico Minack <github@enrico.minack.dev>
199feaa
to
afbeb50
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Bumps the all group with 1 update: [pygithub](https://github.com/pygithub/pygithub). Updates `pygithub` from 2.5.0 to 2.6.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pygithub/pygithub/releases">pygithub's releases</a>.</em></p> <blockquote> <h2>v2.6.0</h2> <h3>Breaking Changes</h3> <ul> <li>Rework <code>Views</code> and <code>Clones</code> by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3168">PyGithub/PyGithub#3168</a>: View and clones traffic information returned by <code>Repository.get_views_traffic</code> and <code>Repository.get_clones_traffic</code> now return proper PyGithub objects, instead of a <code>dict</code>, with all information that used to be provided by the <code>dict</code>:</li> </ul> <p>Code like</p> <pre lang="python"><code>repo.get_views_traffic().["views"].timestamp repo.get_clones_traffic().["clones"].timestamp </code></pre> <p>should be replaced with</p> <pre lang="python"><code>repo.get_views_traffic().views.timestamp repo.get_clones_traffic().clones.timestamp </code></pre> <ul> <li>Fix typos by <a href="https://github.com/kianmeng"><code>@kianmeng</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3086">PyGithub/PyGithub#3086</a>: Property <code>OrganizationCustomProperty.respository_id</code> renamed to <code>OrganizationCustomProperty.repository_id</code>.</li> </ul> <h3>New Features</h3> <ul> <li>Add capability for global laziness by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/2746">PyGithub/PyGithub#2746</a></li> <li>Add Support for GitHub Copilot Seat Management in Organizations by <a href="https://github.com/pashafateev"><code>@pashafateev</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3082">PyGithub/PyGithub#3082</a></li> <li>Get branches where commit is head by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3083">PyGithub/PyGithub#3083</a></li> <li>Support downloading a Release Asset by <a href="https://github.com/neel-m"><code>@neel-m</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3060">PyGithub/PyGithub#3060</a></li> <li>Add <code>Repository.merge_upstream</code> method by <a href="https://github.com/Felixoid"><code>@Felixoid</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3175">PyGithub/PyGithub#3175</a></li> <li>Support updating pull request draft status by <a href="https://github.com/didot"><code>@didot</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3104">PyGithub/PyGithub#3104</a></li> <li>Add transfer ownership method to Repository by <a href="https://github.com/tanannie22"><code>@tanannie22</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3091">PyGithub/PyGithub#3091</a></li> <li>Add enable and disable a Workflow by <a href="https://github.com/nickrmcclorey"><code>@nickrmcclorey</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3088">PyGithub/PyGithub#3088</a></li> <li>Add support for managing Code Security Configrations by <a href="https://github.com/billnapier"><code>@billnapier</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3095">PyGithub/PyGithub#3095</a></li> <li>Allow for private_key / sign function in AppAuth by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3065">PyGithub/PyGithub#3065</a></li> </ul> <h3>Improvements</h3> <ul> <li>Update RateLimit object with all the new categories GitHub added. by <a href="https://github.com/billnapier"><code>@billnapier</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3096">PyGithub/PyGithub#3096</a></li> <li>Add support for make-latest to create_git_release and create_git_tag_and_release by <a href="https://github.com/SebastienSyd"><code>@SebastienSyd</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3067">PyGithub/PyGithub#3067</a></li> <li>Add branch protection support for <code>required_status_checks.checks</code> object by <a href="https://github.com/treee111"><code>@treee111</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/2884">PyGithub/PyGithub#2884</a></li> <li>Use id and tree_id from simple-commit to populate GitCommit.sha and GitCommit.tree by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3167">PyGithub/PyGithub#3167</a></li> <li>Use message of response in GithubException by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3185">PyGithub/PyGithub#3185</a></li> <li>Sync Advisory classes with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3193">PyGithub/PyGithub#3193</a></li> <li>Sync Branch class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3109">PyGithub/PyGithub#3109</a></li> <li>Sync BranchProtection class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3110">PyGithub/PyGithub#3110</a></li> <li>Sync CheckRunAnnotation class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3112">PyGithub/PyGithub#3112</a></li> <li>Sync CheckRun class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3111">PyGithub/PyGithub#3111</a></li> <li>Sync CheckSuite class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3113">PyGithub/PyGithub#3113</a></li> <li>Sync Commit class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3116">PyGithub/PyGithub#3116</a></li> <li>Sync CommitComment class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3117">PyGithub/PyGithub#3117</a></li> <li>Sync CommitStatus class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3118">PyGithub/PyGithub#3118</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/PyGithub/PyGithub/blob/main/doc/changes.rst">pygithub's changelog</a>.</em></p> <blockquote> <h2>Version 2.6.0 (February 15, 2025)</h2> <p>Breaking Changes ^^^^^^^^^^^^^^^^</p> <ul> <li> <p>Rework <code>Views</code> and <code>Clones</code> (<code>[#3168](PyGithub/PyGithub#3168) <https://github.com/PyGithub/PyGithub/pull/3168></code><em>) (<code>f7d52249 <https://github.com/PyGithub/PyGithub/commit/f7d52249></code></em>):</p> <p>View and clones traffic information returned by <code>Repository.get_views_traffic</code> and <code>Repository.get_clones_traffic</code> now return proper PyGithub objects, instead of a <code>dict</code>, with all information that used to be provided by the <code>dict</code>:</p> <p>Code like</p> <p>.. code-block:: python</p> <p>repo.get_views_traffic().["views"].timestamp repo.get_clones_traffic().["clones"].timestamp</p> <p>should be replaced with</p> <p>.. code-block:: python</p> <p>repo.get_views_traffic().views.timestamp repo.get_clones_traffic().clones.timestamp</p> </li> <li> <p>Fix typos (<code>[#3086](PyGithub/PyGithub#3086) <https://github.com/PyGithub/PyGithub/pull/3086></code><em>) (<code>a50ae51b <https://github.com/PyGithub/PyGithub/commit/a50ae51b></code></em>):</p> <p>Property <code>OrganizationCustomProperty.respository_id</code> renamed to <code>OrganizationCustomProperty.repository_id</code>.</p> </li> </ul> <p>New Features ^^^^^^^^^^^^</p> <ul> <li>Add capability for global laziness (<code>[#2746](PyGithub/PyGithub#2746) <https://github.com/PyGithub/PyGithub/pull/2746></code><em>) (<code>f23da453 <https://github.com/PyGithub/PyGithub/commit/f23da453></code></em>)</li> <li>Add Support for GitHub Copilot Seat Management in Organizations (<code>[#3082](PyGithub/PyGithub#3082) <https://github.com/PyGithub/PyGithub/pull/3082></code><em>) (<code>b5f8f078 <https://github.com/PyGithub/PyGithub/commit/b5f8f078></code></em>)</li> <li>Get branches where commit is head (<code>[#3083](PyGithub/PyGithub#3083) <https://github.com/PyGithub/PyGithub/pull/3083></code><em>) (<code>3d84a47a <https://github.com/PyGithub/PyGithub/commit/3d84a47a></code></em>)</li> <li>Support downloading a Release Asset (<code>[#3060](PyGithub/PyGithub#3060) <https://github.com/PyGithub/PyGithub/pull/3060></code><em>) (<code>67cfdb21 <https://github.com/PyGithub/PyGithub/commit/67cfdb21></code></em>)</li> <li>Add <code>Repository.merge_upstream</code> method (<code>[#3175](PyGithub/PyGithub#3175) <https://github.com/PyGithub/PyGithub/pull/3175></code><em>) (<code>2f95352e <https://github.com/PyGithub/PyGithub/commit/2f95352e></code></em>)</li> <li>Support updating pull request draft status (<code>[#3104](PyGithub/PyGithub#3104) <https://github.com/PyGithub/PyGithub/pull/3104></code><em>) (<code>5ec7b775 <https://github.com/PyGithub/PyGithub/commit/5ec7b775></code></em>)</li> <li>Add transfer ownership method to Repository (<code>[#3091](PyGithub/PyGithub#3091) <https://github.com/PyGithub/PyGithub/pull/3091></code><em>) (<code>b3ccd105 <https://github.com/PyGithub/PyGithub/commit/b3ccd105></code></em>)</li> <li>Add enable and disable a Workflow (<code>[#3088](PyGithub/PyGithub#3088) <https://github.com/PyGithub/PyGithub/pull/3088></code><em>) (<code>7f7d2282 <https://github.com/PyGithub/PyGithub/commit/7f7d2282></code></em>)</li> <li>Add support for managing Code Security Configurations (<code>[#3095](PyGithub/PyGithub#3095) <https://github.com/PyGithub/PyGithub/pull/3095></code><em>) (<code>ee5d1da3 <https://github.com/PyGithub/PyGithub/commit/ee5d1da3></code></em>)</li> <li>Allow for private_key / sign function in AppAuth (<code>[#3065](PyGithub/PyGithub#3065) <https://github.com/PyGithub/PyGithub/pull/3065></code><em>) (<code>36697b22 <https://github.com/PyGithub/PyGithub/commit/36697b22></code></em>)</li> <li>Add <code>GitCommitVerification</code> class (<code>[#3028](PyGithub/PyGithub#3028) <https://github.com/PyGithub/PyGithub/pull/3028></code><em>) (<code>822e6d71 <https://github.com/PyGithub/PyGithub/commit/822e6d71></code></em>)</li> </ul> <p>Improvements ^^^^^^^^^^^^</p> <ul> <li>Update RateLimit object with all the new categories GitHub added. (<code>[#3096](PyGithub/PyGithub#3096) <https://github.com/PyGithub/PyGithub/pull/3096></code><em>) (<code>152429d9 <https://github.com/PyGithub/PyGithub/commit/152429d9></code></em>)</li> <li>Add support for make-latest to create_git_release and create_git_tag_and_release (<code>[#3067](PyGithub/PyGithub#3067) <https://github.com/PyGithub/PyGithub/pull/3067></code><em>) (<code>8ed5635f <https://github.com/PyGithub/PyGithub/commit/8ed5635f></code></em>)</li> <li>Add branch protection support for <code>required_status_checks.checks</code> object (<code>[#2884](PyGithub/PyGithub#2884) <https://github.com/PyGithub/PyGithub/pull/2884></code><em>) (<code>764540d3 <https://github.com/PyGithub/PyGithub/commit/764540d3></code></em>)</li> <li>Use id and tree_id from simple-commit to populate GitCommit.sha and GitCommit.tree (<code>[#3167](PyGithub/PyGithub#3167) <https://github.com/PyGithub/PyGithub/pull/3167></code><em>) (<code>04887640 <https://github.com/PyGithub/PyGithub/commit/04887640></code></em>)</li> <li>Use message of response in GithubException (<code>[#3185](PyGithub/PyGithub#3185) <https://github.com/PyGithub/PyGithub/pull/3185></code><em>) (<code>bd35f7dd <https://github.com/PyGithub/PyGithub/commit/bd35f7dd></code></em>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/PyGithub/PyGithub/commit/e3e07d7466b4b1b9cae5b50f1a68c7db92e5cb8f"><code>e3e07d7</code></a> Fix PyPi upload (<a href="https://redirect.github.com/pygithub/pygithub/issues/3200">#3200</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/620c83994af1201860b255e04ceb7821e0d2fe2d"><code>620c839</code></a> Fix PyPi upload (<a href="https://redirect.github.com/pygithub/pygithub/issues/3199">#3199</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/bf98e178547db7d4e5e4c04d9deb63ff45b135d6"><code>bf98e17</code></a> Release 2.6.0 (<a href="https://redirect.github.com/pygithub/pygithub/issues/3198">#3198</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/822e6d713da1c3ccbbfdfdb54c8d69f83f2884f2"><code>822e6d7</code></a> Add <code>GitCommitVerification</code> class (<a href="https://redirect.github.com/pygithub/pygithub/issues/3028">#3028</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/cab8d0788dfb2824365d6eb32ccd8808ce5fb4e1"><code>cab8d07</code></a> Add maintenance label to release.yml (<a href="https://redirect.github.com/pygithub/pygithub/issues/3197">#3197</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/6f9a2983dd31543426d3943a289f3baad414f041"><code>6f9a298</code></a> Replace release drafter with Github release note generation (<a href="https://redirect.github.com/pygithub/pygithub/issues/3196">#3196</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/d9d93c03d1c58c76f7aa0fca009b3fecb4d23973"><code>d9d93c0</code></a> Sync Advisory classes with API spec (<a href="https://redirect.github.com/pygithub/pygithub/issues/3193">#3193</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/6ed83964da9211184db0ce1cd9e9cb912ea12455"><code>6ed8396</code></a> Sync Project class with API spec (<a href="https://redirect.github.com/pygithub/pygithub/issues/3194">#3194</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/882fe4493905733e921487d266ec8ab9b568a82a"><code>882fe44</code></a> Make <code>NotSet</code> an <code>Attribute[Any]</code> (<a href="https://redirect.github.com/pygithub/pygithub/issues/3057">#3057</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/193f699152791f751e324c66ef89558be34b673f"><code>193f699</code></a> Fix <code>Repository.get_contents</code> redirection (<a href="https://redirect.github.com/pygithub/pygithub/issues/3183">#3183</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pygithub/pygithub/compare/v2.5.0...v2.6.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the all group with 1 update: [pygithub](https://github.com/pygithub/pygithub). Updates `pygithub` from 2.5.0 to 2.6.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pygithub/pygithub/releases">pygithub's releases</a>.</em></p> <blockquote> <h2>v2.6.0</h2> <h3>Breaking Changes</h3> <ul> <li>Rework <code>Views</code> and <code>Clones</code> by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3168">PyGithub/PyGithub#3168</a>: View and clones traffic information returned by <code>Repository.get_views_traffic</code> and <code>Repository.get_clones_traffic</code> now return proper PyGithub objects, instead of a <code>dict</code>, with all information that used to be provided by the <code>dict</code>:</li> </ul> <p>Code like</p> <pre lang="python"><code>repo.get_views_traffic().["views"].timestamp repo.get_clones_traffic().["clones"].timestamp </code></pre> <p>should be replaced with</p> <pre lang="python"><code>repo.get_views_traffic().views.timestamp repo.get_clones_traffic().clones.timestamp </code></pre> <ul> <li>Fix typos by <a href="https://github.com/kianmeng"><code>@kianmeng</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3086">PyGithub/PyGithub#3086</a>: Property <code>OrganizationCustomProperty.respository_id</code> renamed to <code>OrganizationCustomProperty.repository_id</code>.</li> </ul> <h3>New Features</h3> <ul> <li>Add capability for global laziness by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/2746">PyGithub/PyGithub#2746</a></li> <li>Add Support for GitHub Copilot Seat Management in Organizations by <a href="https://github.com/pashafateev"><code>@pashafateev</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3082">PyGithub/PyGithub#3082</a></li> <li>Get branches where commit is head by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3083">PyGithub/PyGithub#3083</a></li> <li>Support downloading a Release Asset by <a href="https://github.com/neel-m"><code>@neel-m</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3060">PyGithub/PyGithub#3060</a></li> <li>Add <code>Repository.merge_upstream</code> method by <a href="https://github.com/Felixoid"><code>@Felixoid</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3175">PyGithub/PyGithub#3175</a></li> <li>Support updating pull request draft status by <a href="https://github.com/didot"><code>@didot</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3104">PyGithub/PyGithub#3104</a></li> <li>Add transfer ownership method to Repository by <a href="https://github.com/tanannie22"><code>@tanannie22</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3091">PyGithub/PyGithub#3091</a></li> <li>Add enable and disable a Workflow by <a href="https://github.com/nickrmcclorey"><code>@nickrmcclorey</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3088">PyGithub/PyGithub#3088</a></li> <li>Add support for managing Code Security Configrations by <a href="https://github.com/billnapier"><code>@billnapier</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3095">PyGithub/PyGithub#3095</a></li> <li>Allow for private_key / sign function in AppAuth by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3065">PyGithub/PyGithub#3065</a></li> </ul> <h3>Improvements</h3> <ul> <li>Update RateLimit object with all the new categories GitHub added. by <a href="https://github.com/billnapier"><code>@billnapier</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3096">PyGithub/PyGithub#3096</a></li> <li>Add support for make-latest to create_git_release and create_git_tag_and_release by <a href="https://github.com/SebastienSyd"><code>@SebastienSyd</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3067">PyGithub/PyGithub#3067</a></li> <li>Add branch protection support for <code>required_status_checks.checks</code> object by <a href="https://github.com/treee111"><code>@treee111</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/2884">PyGithub/PyGithub#2884</a></li> <li>Use id and tree_id from simple-commit to populate GitCommit.sha and GitCommit.tree by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3167">PyGithub/PyGithub#3167</a></li> <li>Use message of response in GithubException by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3185">PyGithub/PyGithub#3185</a></li> <li>Sync Advisory classes with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3193">PyGithub/PyGithub#3193</a></li> <li>Sync Branch class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3109">PyGithub/PyGithub#3109</a></li> <li>Sync BranchProtection class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3110">PyGithub/PyGithub#3110</a></li> <li>Sync CheckRunAnnotation class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3112">PyGithub/PyGithub#3112</a></li> <li>Sync CheckRun class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3111">PyGithub/PyGithub#3111</a></li> <li>Sync CheckSuite class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3113">PyGithub/PyGithub#3113</a></li> <li>Sync Commit class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3116">PyGithub/PyGithub#3116</a></li> <li>Sync CommitComment class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3117">PyGithub/PyGithub#3117</a></li> <li>Sync CommitStatus class with API spec by <a href="https://github.com/EnricoMi"><code>@EnricoMi</code></a> in <a href="https://redirect.github.com/PyGithub/PyGithub/pull/3118">PyGithub/PyGithub#3118</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/PyGithub/PyGithub/blob/main/doc/changes.rst">pygithub's changelog</a>.</em></p> <blockquote> <h2>Version 2.6.0 (February 15, 2025)</h2> <p>Breaking Changes ^^^^^^^^^^^^^^^^</p> <ul> <li> <p>Rework <code>Views</code> and <code>Clones</code> (<code>[#3168](PyGithub/PyGithub#3168) <https://github.com/PyGithub/PyGithub/pull/3168></code><em>) (<code>f7d52249 <https://github.com/PyGithub/PyGithub/commit/f7d52249></code></em>):</p> <p>View and clones traffic information returned by <code>Repository.get_views_traffic</code> and <code>Repository.get_clones_traffic</code> now return proper PyGithub objects, instead of a <code>dict</code>, with all information that used to be provided by the <code>dict</code>:</p> <p>Code like</p> <p>.. code-block:: python</p> <p>repo.get_views_traffic().["views"].timestamp repo.get_clones_traffic().["clones"].timestamp</p> <p>should be replaced with</p> <p>.. code-block:: python</p> <p>repo.get_views_traffic().views.timestamp repo.get_clones_traffic().clones.timestamp</p> </li> <li> <p>Fix typos (<code>[#3086](PyGithub/PyGithub#3086) <https://github.com/PyGithub/PyGithub/pull/3086></code><em>) (<code>a50ae51b <https://github.com/PyGithub/PyGithub/commit/a50ae51b></code></em>):</p> <p>Property <code>OrganizationCustomProperty.respository_id</code> renamed to <code>OrganizationCustomProperty.repository_id</code>.</p> </li> </ul> <p>New Features ^^^^^^^^^^^^</p> <ul> <li>Add capability for global laziness (<code>[#2746](PyGithub/PyGithub#2746) <https://github.com/PyGithub/PyGithub/pull/2746></code><em>) (<code>f23da453 <https://github.com/PyGithub/PyGithub/commit/f23da453></code></em>)</li> <li>Add Support for GitHub Copilot Seat Management in Organizations (<code>[#3082](PyGithub/PyGithub#3082) <https://github.com/PyGithub/PyGithub/pull/3082></code><em>) (<code>b5f8f078 <https://github.com/PyGithub/PyGithub/commit/b5f8f078></code></em>)</li> <li>Get branches where commit is head (<code>[#3083](PyGithub/PyGithub#3083) <https://github.com/PyGithub/PyGithub/pull/3083></code><em>) (<code>3d84a47a <https://github.com/PyGithub/PyGithub/commit/3d84a47a></code></em>)</li> <li>Support downloading a Release Asset (<code>[#3060](PyGithub/PyGithub#3060) <https://github.com/PyGithub/PyGithub/pull/3060></code><em>) (<code>67cfdb21 <https://github.com/PyGithub/PyGithub/commit/67cfdb21></code></em>)</li> <li>Add <code>Repository.merge_upstream</code> method (<code>[#3175](PyGithub/PyGithub#3175) <https://github.com/PyGithub/PyGithub/pull/3175></code><em>) (<code>2f95352e <https://github.com/PyGithub/PyGithub/commit/2f95352e></code></em>)</li> <li>Support updating pull request draft status (<code>[#3104](PyGithub/PyGithub#3104) <https://github.com/PyGithub/PyGithub/pull/3104></code><em>) (<code>5ec7b775 <https://github.com/PyGithub/PyGithub/commit/5ec7b775></code></em>)</li> <li>Add transfer ownership method to Repository (<code>[#3091](PyGithub/PyGithub#3091) <https://github.com/PyGithub/PyGithub/pull/3091></code><em>) (<code>b3ccd105 <https://github.com/PyGithub/PyGithub/commit/b3ccd105></code></em>)</li> <li>Add enable and disable a Workflow (<code>[#3088](PyGithub/PyGithub#3088) <https://github.com/PyGithub/PyGithub/pull/3088></code><em>) (<code>7f7d2282 <https://github.com/PyGithub/PyGithub/commit/7f7d2282></code></em>)</li> <li>Add support for managing Code Security Configurations (<code>[#3095](PyGithub/PyGithub#3095) <https://github.com/PyGithub/PyGithub/pull/3095></code><em>) (<code>ee5d1da3 <https://github.com/PyGithub/PyGithub/commit/ee5d1da3></code></em>)</li> <li>Allow for private_key / sign function in AppAuth (<code>[#3065](PyGithub/PyGithub#3065) <https://github.com/PyGithub/PyGithub/pull/3065></code><em>) (<code>36697b22 <https://github.com/PyGithub/PyGithub/commit/36697b22></code></em>)</li> <li>Add <code>GitCommitVerification</code> class (<code>[#3028](PyGithub/PyGithub#3028) <https://github.com/PyGithub/PyGithub/pull/3028></code><em>) (<code>822e6d71 <https://github.com/PyGithub/PyGithub/commit/822e6d71></code></em>)</li> </ul> <p>Improvements ^^^^^^^^^^^^</p> <ul> <li>Update RateLimit object with all the new categories GitHub added. (<code>[#3096](PyGithub/PyGithub#3096) <https://github.com/PyGithub/PyGithub/pull/3096></code><em>) (<code>152429d9 <https://github.com/PyGithub/PyGithub/commit/152429d9></code></em>)</li> <li>Add support for make-latest to create_git_release and create_git_tag_and_release (<code>[#3067](PyGithub/PyGithub#3067) <https://github.com/PyGithub/PyGithub/pull/3067></code><em>) (<code>8ed5635f <https://github.com/PyGithub/PyGithub/commit/8ed5635f></code></em>)</li> <li>Add branch protection support for <code>required_status_checks.checks</code> object (<code>[#2884](PyGithub/PyGithub#2884) <https://github.com/PyGithub/PyGithub/pull/2884></code><em>) (<code>764540d3 <https://github.com/PyGithub/PyGithub/commit/764540d3></code></em>)</li> <li>Use id and tree_id from simple-commit to populate GitCommit.sha and GitCommit.tree (<code>[#3167](PyGithub/PyGithub#3167) <https://github.com/PyGithub/PyGithub/pull/3167></code><em>) (<code>04887640 <https://github.com/PyGithub/PyGithub/commit/04887640></code></em>)</li> <li>Use message of response in GithubException (<code>[#3185](PyGithub/PyGithub#3185) <https://github.com/PyGithub/PyGithub/pull/3185></code><em>) (<code>bd35f7dd <https://github.com/PyGithub/PyGithub/commit/bd35f7dd></code></em>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/PyGithub/PyGithub/commit/e3e07d7466b4b1b9cae5b50f1a68c7db92e5cb8f"><code>e3e07d7</code></a> Fix PyPi upload (<a href="https://redirect.github.com/pygithub/pygithub/issues/3200">#3200</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/620c83994af1201860b255e04ceb7821e0d2fe2d"><code>620c839</code></a> Fix PyPi upload (<a href="https://redirect.github.com/pygithub/pygithub/issues/3199">#3199</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/bf98e178547db7d4e5e4c04d9deb63ff45b135d6"><code>bf98e17</code></a> Release 2.6.0 (<a href="https://redirect.github.com/pygithub/pygithub/issues/3198">#3198</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/822e6d713da1c3ccbbfdfdb54c8d69f83f2884f2"><code>822e6d7</code></a> Add <code>GitCommitVerification</code> class (<a href="https://redirect.github.com/pygithub/pygithub/issues/3028">#3028</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/cab8d0788dfb2824365d6eb32ccd8808ce5fb4e1"><code>cab8d07</code></a> Add maintenance label to release.yml (<a href="https://redirect.github.com/pygithub/pygithub/issues/3197">#3197</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/6f9a2983dd31543426d3943a289f3baad414f041"><code>6f9a298</code></a> Replace release drafter with Github release note generation (<a href="https://redirect.github.com/pygithub/pygithub/issues/3196">#3196</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/d9d93c03d1c58c76f7aa0fca009b3fecb4d23973"><code>d9d93c0</code></a> Sync Advisory classes with API spec (<a href="https://redirect.github.com/pygithub/pygithub/issues/3193">#3193</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/6ed83964da9211184db0ce1cd9e9cb912ea12455"><code>6ed8396</code></a> Sync Project class with API spec (<a href="https://redirect.github.com/pygithub/pygithub/issues/3194">#3194</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/882fe4493905733e921487d266ec8ab9b568a82a"><code>882fe44</code></a> Make <code>NotSet</code> an <code>Attribute[Any]</code> (<a href="https://redirect.github.com/pygithub/pygithub/issues/3057">#3057</a>)</li> <li><a href="https://github.com/PyGithub/PyGithub/commit/193f699152791f751e324c66ef89558be34b673f"><code>193f699</code></a> Fix <code>Repository.get_contents</code> redirection (<a href="https://redirect.github.com/pygithub/pygithub/issues/3183">#3183</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pygithub/pygithub/compare/v2.5.0...v2.6.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
def get_repos_for_code_security_config(self, id: int, status: Opt[str] = NotSet) -> PaginatedList[Repository]: | ||
""" | ||
:calls: `GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories <https://docs.github.com/en/rest/code-security/configurations#get-repositories-associated-with-a-code-security-configuration>`_ | ||
""" | ||
assert isinstance(id, int), id | ||
assert is_optional(status, str), status | ||
|
||
url_parameters = NotSet.remove_unset_items({"status": status}) | ||
|
||
return PaginatedList( | ||
github.Repository.Repository, | ||
self._requester, | ||
f"{self.url}/code-security/configurations/{id}/repositories", | ||
url_parameters, | ||
headers={"Accept": Consts.repoVisibilityPreview}, | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@billnapier I doubt this works. According to the OpenAPI spec, this API path returns an object with this schema:
{
"type": "object",
"description": "Repositories associated with a code security configuration and attachment status",
"properties": {
"status": {
"type": "string",
"description": "The attachment status of the code security configuration on the repository.",
"enum": [
"attached",
"attaching",
"detached",
"removed",
"enforced",
"failed",
"updating",
"removed_by_enterprise"
]
},
"repository": {
"$ref": "#/components/schemas/simple-repository"
}
}
}
So the items of the pagination has properties status
and repository
.
Unfortunately, we do not have test data recorded. Can you please record test data for this method and share them?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ugh, good catch and thanks for fixing.
#3239 should have the recorded test data.
No description provided.