Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

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

Merged
merged 8 commits into from
Feb 14, 2025

Conversation

billnapier
Copy link
Contributor

No description provided.

@billnapier billnapier marked this pull request as draft December 12, 2024 07:05
@billnapier billnapier marked this pull request as ready for review December 13, 2024 05:47
@billnapier billnapier marked this pull request as draft December 18, 2024 00:56
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.
@billnapier billnapier marked this pull request as ready for review December 18, 2024 03:07
Copy link
Collaborator

@EnricoMi EnricoMi left a 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.

github/Organization.py Outdated Show resolved Hide resolved
github/Organization.py Outdated Show resolved Hide resolved
github/Organization.py Outdated Show resolved Hide resolved
github/Organization.py Outdated Show resolved Hide resolved
github/Organization.py Outdated Show resolved Hide resolved
github/Organization.py Outdated Show resolved Hide resolved
github/Organization.py Outdated Show resolved Hide resolved
github/RepoCodeSecurityConfig.py Show resolved Hide resolved
github/RepoCodeSecurityConfig.py Outdated Show resolved Hide resolved
@@ -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:
Copy link
Collaborator

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

Copy link
Contributor Author

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.

Copy link
Collaborator

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.

github/CodeSecurityConfig.py Outdated Show resolved Hide resolved
github/DefaultCodeSecurityConfig.py Outdated Show resolved Hide resolved
github/RepoCodeSecurityConfig.py Outdated Show resolved Hide resolved
Co-authored-by: Enrico Minack <github@enrico.minack.dev>
@billnapier billnapier requested a review from EnricoMi December 25, 2024 01:43
github/Repository.py Outdated Show resolved Hide resolved
github/Repository.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@EnricoMi EnricoMi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

tests/Organization.py Outdated Show resolved Hide resolved
tests/Organization.py Outdated Show resolved Hide resolved
@EnricoMi EnricoMi added this pull request to the merge queue Feb 14, 2025
@EnricoMi EnricoMi removed this pull request from the merge queue due to a manual request Feb 14, 2025
@EnricoMi EnricoMi enabled auto-merge February 14, 2025 19:41
@EnricoMi EnricoMi added this pull request to the merge queue Feb 14, 2025
Copy link

Test Results

    7 files  ± 0      7 suites  ±0   4m 19s ⏱️ -1s
  989 tests + 5    989 ✅ + 5  0 💤 ±0  0 ❌ ±0 
6 923 runs  +35  6 922 ✅ +35  1 💤 ±0  0 ❌ ±0 

Results for commit 2b002e6. ± Comparison against base commit 4d307a7.

Merged via the queue into PyGithub:main with commit ee5d1da Feb 14, 2025
16 checks passed
jmertic pushed a commit to jmertic/contrib_check that referenced this pull request Feb 18, 2025
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().[&quot;views&quot;].timestamp
repo.get_clones_traffic().[&quot;clones&quot;].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)
&lt;https://github.com/PyGithub/PyGithub/pull/3168&gt;</code><em>)
(<code>f7d52249
&lt;https://github.com/PyGithub/PyGithub/commit/f7d52249&gt;</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().[&quot;views&quot;].timestamp
repo.get_clones_traffic().[&quot;clones&quot;].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)
&lt;https://github.com/PyGithub/PyGithub/pull/3086&gt;</code><em>)
(<code>a50ae51b
&lt;https://github.com/PyGithub/PyGithub/commit/a50ae51b&gt;</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)
&lt;https://github.com/PyGithub/PyGithub/pull/2746&gt;</code><em>)
(<code>f23da453
&lt;https://github.com/PyGithub/PyGithub/commit/f23da453&gt;</code></em>)</li>
<li>Add Support for GitHub Copilot Seat Management in Organizations
(<code>[#3082](PyGithub/PyGithub#3082)
&lt;https://github.com/PyGithub/PyGithub/pull/3082&gt;</code><em>)
(<code>b5f8f078
&lt;https://github.com/PyGithub/PyGithub/commit/b5f8f078&gt;</code></em>)</li>
<li>Get branches where commit is head
(<code>[#3083](PyGithub/PyGithub#3083)
&lt;https://github.com/PyGithub/PyGithub/pull/3083&gt;</code><em>)
(<code>3d84a47a
&lt;https://github.com/PyGithub/PyGithub/commit/3d84a47a&gt;</code></em>)</li>
<li>Support downloading a Release Asset
(<code>[#3060](PyGithub/PyGithub#3060)
&lt;https://github.com/PyGithub/PyGithub/pull/3060&gt;</code><em>)
(<code>67cfdb21
&lt;https://github.com/PyGithub/PyGithub/commit/67cfdb21&gt;</code></em>)</li>
<li>Add <code>Repository.merge_upstream</code> method
(<code>[#3175](PyGithub/PyGithub#3175)
&lt;https://github.com/PyGithub/PyGithub/pull/3175&gt;</code><em>)
(<code>2f95352e
&lt;https://github.com/PyGithub/PyGithub/commit/2f95352e&gt;</code></em>)</li>
<li>Support updating pull request draft status
(<code>[#3104](PyGithub/PyGithub#3104)
&lt;https://github.com/PyGithub/PyGithub/pull/3104&gt;</code><em>)
(<code>5ec7b775
&lt;https://github.com/PyGithub/PyGithub/commit/5ec7b775&gt;</code></em>)</li>
<li>Add transfer ownership method to Repository
(<code>[#3091](PyGithub/PyGithub#3091)
&lt;https://github.com/PyGithub/PyGithub/pull/3091&gt;</code><em>)
(<code>b3ccd105
&lt;https://github.com/PyGithub/PyGithub/commit/b3ccd105&gt;</code></em>)</li>
<li>Add enable and disable a Workflow
(<code>[#3088](PyGithub/PyGithub#3088)
&lt;https://github.com/PyGithub/PyGithub/pull/3088&gt;</code><em>)
(<code>7f7d2282
&lt;https://github.com/PyGithub/PyGithub/commit/7f7d2282&gt;</code></em>)</li>
<li>Add support for managing Code Security Configurations
(<code>[#3095](PyGithub/PyGithub#3095)
&lt;https://github.com/PyGithub/PyGithub/pull/3095&gt;</code><em>)
(<code>ee5d1da3
&lt;https://github.com/PyGithub/PyGithub/commit/ee5d1da3&gt;</code></em>)</li>
<li>Allow for private_key / sign function in AppAuth
(<code>[#3065](PyGithub/PyGithub#3065)
&lt;https://github.com/PyGithub/PyGithub/pull/3065&gt;</code><em>)
(<code>36697b22
&lt;https://github.com/PyGithub/PyGithub/commit/36697b22&gt;</code></em>)</li>
<li>Add <code>GitCommitVerification</code> class
(<code>[#3028](PyGithub/PyGithub#3028)
&lt;https://github.com/PyGithub/PyGithub/pull/3028&gt;</code><em>)
(<code>822e6d71
&lt;https://github.com/PyGithub/PyGithub/commit/822e6d71&gt;</code></em>)</li>
</ul>
<p>Improvements
^^^^^^^^^^^^</p>
<ul>
<li>Update RateLimit object with all the new categories GitHub added.
(<code>[#3096](PyGithub/PyGithub#3096)
&lt;https://github.com/PyGithub/PyGithub/pull/3096&gt;</code><em>)
(<code>152429d9
&lt;https://github.com/PyGithub/PyGithub/commit/152429d9&gt;</code></em>)</li>
<li>Add support for make-latest to create_git_release and
create_git_tag_and_release
(<code>[#3067](PyGithub/PyGithub#3067)
&lt;https://github.com/PyGithub/PyGithub/pull/3067&gt;</code><em>)
(<code>8ed5635f
&lt;https://github.com/PyGithub/PyGithub/commit/8ed5635f&gt;</code></em>)</li>
<li>Add branch protection support for
<code>required_status_checks.checks</code> object
(<code>[#2884](PyGithub/PyGithub#2884)
&lt;https://github.com/PyGithub/PyGithub/pull/2884&gt;</code><em>)
(<code>764540d3
&lt;https://github.com/PyGithub/PyGithub/commit/764540d3&gt;</code></em>)</li>
<li>Use id and tree_id from simple-commit to populate GitCommit.sha and
GitCommit.tree
(<code>[#3167](PyGithub/PyGithub#3167)
&lt;https://github.com/PyGithub/PyGithub/pull/3167&gt;</code><em>)
(<code>04887640
&lt;https://github.com/PyGithub/PyGithub/commit/04887640&gt;</code></em>)</li>
<li>Use message of response in GithubException
(<code>[#3185](PyGithub/PyGithub#3185)
&lt;https://github.com/PyGithub/PyGithub/pull/3185&gt;</code><em>)
(<code>bd35f7dd
&lt;https://github.com/PyGithub/PyGithub/commit/bd35f7dd&gt;</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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pygithub&package-manager=pip&previous-version=2.5.0&new-version=2.6.0)](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>
jmertic pushed a commit to jmertic/lfx-landscape-tools that referenced this pull request Feb 18, 2025
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().[&quot;views&quot;].timestamp
repo.get_clones_traffic().[&quot;clones&quot;].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)
&lt;https://github.com/PyGithub/PyGithub/pull/3168&gt;</code><em>)
(<code>f7d52249
&lt;https://github.com/PyGithub/PyGithub/commit/f7d52249&gt;</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().[&quot;views&quot;].timestamp
repo.get_clones_traffic().[&quot;clones&quot;].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)
&lt;https://github.com/PyGithub/PyGithub/pull/3086&gt;</code><em>)
(<code>a50ae51b
&lt;https://github.com/PyGithub/PyGithub/commit/a50ae51b&gt;</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)
&lt;https://github.com/PyGithub/PyGithub/pull/2746&gt;</code><em>)
(<code>f23da453
&lt;https://github.com/PyGithub/PyGithub/commit/f23da453&gt;</code></em>)</li>
<li>Add Support for GitHub Copilot Seat Management in Organizations
(<code>[#3082](PyGithub/PyGithub#3082)
&lt;https://github.com/PyGithub/PyGithub/pull/3082&gt;</code><em>)
(<code>b5f8f078
&lt;https://github.com/PyGithub/PyGithub/commit/b5f8f078&gt;</code></em>)</li>
<li>Get branches where commit is head
(<code>[#3083](PyGithub/PyGithub#3083)
&lt;https://github.com/PyGithub/PyGithub/pull/3083&gt;</code><em>)
(<code>3d84a47a
&lt;https://github.com/PyGithub/PyGithub/commit/3d84a47a&gt;</code></em>)</li>
<li>Support downloading a Release Asset
(<code>[#3060](PyGithub/PyGithub#3060)
&lt;https://github.com/PyGithub/PyGithub/pull/3060&gt;</code><em>)
(<code>67cfdb21
&lt;https://github.com/PyGithub/PyGithub/commit/67cfdb21&gt;</code></em>)</li>
<li>Add <code>Repository.merge_upstream</code> method
(<code>[#3175](PyGithub/PyGithub#3175)
&lt;https://github.com/PyGithub/PyGithub/pull/3175&gt;</code><em>)
(<code>2f95352e
&lt;https://github.com/PyGithub/PyGithub/commit/2f95352e&gt;</code></em>)</li>
<li>Support updating pull request draft status
(<code>[#3104](PyGithub/PyGithub#3104)
&lt;https://github.com/PyGithub/PyGithub/pull/3104&gt;</code><em>)
(<code>5ec7b775
&lt;https://github.com/PyGithub/PyGithub/commit/5ec7b775&gt;</code></em>)</li>
<li>Add transfer ownership method to Repository
(<code>[#3091](PyGithub/PyGithub#3091)
&lt;https://github.com/PyGithub/PyGithub/pull/3091&gt;</code><em>)
(<code>b3ccd105
&lt;https://github.com/PyGithub/PyGithub/commit/b3ccd105&gt;</code></em>)</li>
<li>Add enable and disable a Workflow
(<code>[#3088](PyGithub/PyGithub#3088)
&lt;https://github.com/PyGithub/PyGithub/pull/3088&gt;</code><em>)
(<code>7f7d2282
&lt;https://github.com/PyGithub/PyGithub/commit/7f7d2282&gt;</code></em>)</li>
<li>Add support for managing Code Security Configurations
(<code>[#3095](PyGithub/PyGithub#3095)
&lt;https://github.com/PyGithub/PyGithub/pull/3095&gt;</code><em>)
(<code>ee5d1da3
&lt;https://github.com/PyGithub/PyGithub/commit/ee5d1da3&gt;</code></em>)</li>
<li>Allow for private_key / sign function in AppAuth
(<code>[#3065](PyGithub/PyGithub#3065)
&lt;https://github.com/PyGithub/PyGithub/pull/3065&gt;</code><em>)
(<code>36697b22
&lt;https://github.com/PyGithub/PyGithub/commit/36697b22&gt;</code></em>)</li>
<li>Add <code>GitCommitVerification</code> class
(<code>[#3028](PyGithub/PyGithub#3028)
&lt;https://github.com/PyGithub/PyGithub/pull/3028&gt;</code><em>)
(<code>822e6d71
&lt;https://github.com/PyGithub/PyGithub/commit/822e6d71&gt;</code></em>)</li>
</ul>
<p>Improvements
^^^^^^^^^^^^</p>
<ul>
<li>Update RateLimit object with all the new categories GitHub added.
(<code>[#3096](PyGithub/PyGithub#3096)
&lt;https://github.com/PyGithub/PyGithub/pull/3096&gt;</code><em>)
(<code>152429d9
&lt;https://github.com/PyGithub/PyGithub/commit/152429d9&gt;</code></em>)</li>
<li>Add support for make-latest to create_git_release and
create_git_tag_and_release
(<code>[#3067](PyGithub/PyGithub#3067)
&lt;https://github.com/PyGithub/PyGithub/pull/3067&gt;</code><em>)
(<code>8ed5635f
&lt;https://github.com/PyGithub/PyGithub/commit/8ed5635f&gt;</code></em>)</li>
<li>Add branch protection support for
<code>required_status_checks.checks</code> object
(<code>[#2884](PyGithub/PyGithub#2884)
&lt;https://github.com/PyGithub/PyGithub/pull/2884&gt;</code><em>)
(<code>764540d3
&lt;https://github.com/PyGithub/PyGithub/commit/764540d3&gt;</code></em>)</li>
<li>Use id and tree_id from simple-commit to populate GitCommit.sha and
GitCommit.tree
(<code>[#3167](PyGithub/PyGithub#3167)
&lt;https://github.com/PyGithub/PyGithub/pull/3167&gt;</code><em>)
(<code>04887640
&lt;https://github.com/PyGithub/PyGithub/commit/04887640&gt;</code></em>)</li>
<li>Use message of response in GithubException
(<code>[#3185](PyGithub/PyGithub#3185)
&lt;https://github.com/PyGithub/PyGithub/pull/3185&gt;</code><em>)
(<code>bd35f7dd
&lt;https://github.com/PyGithub/PyGithub/commit/bd35f7dd&gt;</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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pygithub&package-manager=pip&previous-version=2.5.0&new-version=2.6.0)](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>
Comment on lines +1820 to +1835
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},
)
Copy link
Collaborator

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?

Copy link
Contributor Author

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.

EnricoMi added a commit that referenced this pull request Feb 21, 2025
EnricoMi added a commit that referenced this pull request Feb 21, 2025
EnricoMi added a commit that referenced this pull request Feb 21, 2025
github-merge-queue bot pushed a commit that referenced this pull request Mar 1, 2025
Follow-up on #3095 and #3219.

---------

Co-authored-by: Enrico Minack <github@enrico.minack.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.