Skip to content
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

Add parent_team_id, maintainers and notification_setting for creating and updating teams. #2863

Merged
merged 16 commits into from Jan 28, 2024

Conversation

Cheshirez
Copy link
Contributor

All prerequisites been done in lib, so this commit just extends create_team and update_team methods with optional parameter parent_team_id as per GH documentation:

Updated validation data to pass tests and also had tested all create/update/absent parent_id cases on real environment.

@codecov-commenter
Copy link

codecov-commenter commented Dec 14, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (cc4c526) 96.70% compared to head (effb4ca) 96.70%.

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2863   +/-   ##
=======================================
  Coverage   96.70%   96.70%           
=======================================
  Files         147      147           
  Lines       14873    14885   +12     
=======================================
+ Hits        14383    14395   +12     
  Misses        490      490           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Cheshirez
Copy link
Contributor Author

@EnricoMi could you please take a look on this PR?

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.

While you are there, can you add the other missing arguments as well?

  • maintainers
  • notification_setting

@Cheshirez
Copy link
Contributor Author

Added maintainers to the create_team method (it don't appear in other requests and returns).
@EnricoMi can we add notification_setting in separate PR?
That's require to add a property, which has default so we'll need to update a lot ReplayData for that.

@EnricoMi
Copy link
Collaborator

That's require to add a property, which has default so we'll need to update a lot ReplayData for that.

The method signature can have notification_setting: Opt[str] = NotSet as Github applies the default. This would not change recorded data.

Having notification_setting: Opt[str] = "notifications_enabled" would be preferable. I think this would only add notification_setting to the POST payload, but the response should stay unchanged, so this could be added manually without recording new data.

@EnricoMi EnricoMi changed the title Set missing parent_team_id for creating and updating teams. Add parent_team_id and maintainers for creating and updating teams. Dec 20, 2023
@Cheshirez Cheshirez changed the title Add parent_team_id and maintainers for creating and updating teams. Add parent_team_id, maintainers and notification_setting for creating and updating teams. Dec 22, 2023
@Cheshirez
Copy link
Contributor Author

Added notification_setting param.

github/Organization.py Outdated Show resolved Hide resolved
github/Team.py Outdated Show resolved Hide resolved
tests/ReplayData/Team.testEditWithAllArguments.txt Outdated Show resolved Hide resolved
tests/Organization.py Show resolved Hide resolved
tests/Team.py Show resolved Hide resolved
@Cheshirez
Copy link
Contributor Author

Added notification_settings to tests assertion as well. @EnricoMi could you please review?
Sorry for the delay.

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! Two minor changes requested.

github/Organization.py Outdated Show resolved Hide resolved
github/Team.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!

@EnricoMi EnricoMi merged commit 49d07d1 into PyGithub:main Jan 28, 2024
15 checks passed
@Cheshirez Cheshirez deleted the nested-teams branch January 29, 2024 18:35
lettuce-bot bot added a commit to lettuce-financial/github-bot-signed-commit that referenced this pull request Jan 30, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [PyGithub](https://togithub.com/pygithub/pygithub) | `==2.1.1` ->
`==2.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/PyGithub/2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/PyGithub/2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/PyGithub/2.1.1/2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/PyGithub/2.1.1/2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pygithub/pygithub (PyGithub)</summary>

###
[`v2.2.0`](https://togithub.com/PyGithub/PyGithub/releases/tag/v2.2.0)

[Compare
Source](https://togithub.com/pygithub/pygithub/compare/v2.1.1...v2.2.0)

#### Breaking Changes

The `github.Comparison.Comparison` instance returned by
`Repository.compare` provides a `commits` property that used to return a
`list[github.Commit.Commit]`, which has now been changed to
`PaginatedList[github.Commit.Commit]`. This breaks user code that
assumes a `list`:

```python
commits = repo.compare("v0.6", "v0.7").commits
no_of_commits = len(commits)  # will raise a TypeError
```

This will raise a `TypeError: object of type 'PaginatedList' has no
len()`, as the returned `PaginatedList`
does not support the `len()` method. Use the `totalCount` property
instead:

```python
commits = repo.compare("v0.6", "v0.7").commits
no_of_commits = commits.totalCount
```

#### New features

-   Add support to call GraphQL API

#### Improvements

- Add parent_team_id, maintainers and notification_setting for creating
and updating teams. by
[@&#8203;Cheshirez](https://togithub.com/Cheshirez) in
[PyGithub/PyGithub#2863
- Add support for issue reactions summary by
[@&#8203;smuzaffar](https://togithub.com/smuzaffar) in
[PyGithub/PyGithub#2866
- Support for DependabotAlert APIs by
[@&#8203;coopernetes](https://togithub.com/coopernetes) in
[PyGithub/PyGithub#2879
- Derive GraphQL URL from base_url by
[@&#8203;EnricoMi](https://togithub.com/EnricoMi) in
[PyGithub/PyGithub#2880
- Make `Repository.compare().commits` return paginated list by
[@&#8203;EnricoMi](https://togithub.com/EnricoMi) in
[PyGithub/PyGithub#2882
- Add missing branch protection fields by
[@&#8203;treee111](https://togithub.com/treee111) in
[PyGithub/PyGithub#2873
- Add `include_all_branches` to `create_repo_from_template` of
`AuthenticatedUser` and `Organization` by
[@&#8203;janssonoskar](https://togithub.com/janssonoskar) in
[PyGithub/PyGithub#2871
- Add and update organisation dependabot secrets by
[@&#8203;mohy01](https://togithub.com/mohy01) in
[PyGithub/PyGithub#2316
- Add missing params to `Organization.create_repo` by
[@&#8203;tekumara](https://togithub.com/tekumara) in
[PyGithub/PyGithub#2700
- Update allowed values for `Repository` collaborator permissions by
[@&#8203;flying-sheep](https://togithub.com/flying-sheep) in
[PyGithub/PyGithub#1996
- Support editing PullRequestReview by
[@&#8203;ColasGael](https://togithub.com/ColasGael) in
[PyGithub/PyGithub#2851
- Update attributes after calling `PullRequestReview.dismiss` by
[@&#8203;ColasGael](https://togithub.com/ColasGael) in
[PyGithub/PyGithub#2854
- Add `request_cve` on `RepositoryAdvisories` by
[@&#8203;JLLeitschuh](https://togithub.com/JLLeitschuh) in
[PyGithub/PyGithub#2855
- Filter collaborators of a repository by permissions by
[@&#8203;notmicaelfilipe](https://togithub.com/notmicaelfilipe) in
[PyGithub/PyGithub#2792
- Set pull request to auto merge via GraphQL API by
[@&#8203;heitorpolidoro](https://togithub.com/heitorpolidoro) in
[PyGithub/PyGithub#2816
- Support Environment Variables and Secrets by
[@&#8203;AndrewJDawes](https://togithub.com/AndrewJDawes) in
[PyGithub/PyGithub#2848
- Update workflow.get_runs & pullrequest.add_to_assignees function
signature by [@&#8203;sd-kialo](https://togithub.com/sd-kialo) in
[PyGithub/PyGithub#2799
- Add `GithubObject.last_modified_datetime` to have `last_modified` as a
`datetime` by [@&#8203;chouetz](https://togithub.com/chouetz) in
[PyGithub/PyGithub#2772
- Add support for global advisories and unify some shared logic with
repository advisories by
[@&#8203;crimsonknave](https://togithub.com/crimsonknave) in
[PyGithub/PyGithub#2702
- Add `internal` as valid Repository visibility value by
[@&#8203;AndrewJDawes](https://togithub.com/AndrewJDawes) in
[PyGithub/PyGithub#2806
- Add support for issue comments reactions summary by
[@&#8203;smuzaffar](https://togithub.com/smuzaffar) in
[PyGithub/PyGithub#2813

#### Bug Fixes

- Add a bunch of missing urllib.parse.quote calls by
[@&#8203;ExplodingCabbage](https://togithub.com/ExplodingCabbage) in
[PyGithub/PyGithub#1976
- Fix Variable and Secret url bugs by
[@&#8203;AndrewJDawes](https://togithub.com/AndrewJDawes) in
[PyGithub/PyGithub#2835

#### Maintenance

- Update the class name for NetrcAuth in the examples by
[@&#8203;vinnybod](https://togithub.com/vinnybod) in
[PyGithub/PyGithub#2860
- Move build to PEP517 by [@&#8203;trim21](https://togithub.com/trim21)
in
[PyGithub/PyGithub#2800
- Use new type assert functions in `Repository` by
[@&#8203;trim21](https://togithub.com/trim21) in
[PyGithub/PyGithub#2798
- PyTest: Move config to pyproject.toml by
[@&#8203;Borda](https://togithub.com/Borda) in
[PyGithub/PyGithub#2859
- codespell: ignore-words-list by
[@&#8203;Borda](https://togithub.com/Borda) in
[PyGithub/PyGithub#2858
- Improve fix-headers.py script by
[@&#8203;EnricoMi](https://togithub.com/EnricoMi) in
[PyGithub/PyGithub#2728
- Remove dependency on python-dateutil by
[@&#8203;lazka](https://togithub.com/lazka) in
[PyGithub/PyGithub#2804
- CI: update precommit & apply by
[@&#8203;Borda](https://togithub.com/Borda) in
[PyGithub/PyGithub#2600
- Docs: Fix parameter order according to Version 2.1.0 by
[@&#8203;nad182](https://togithub.com/nad182) in
[PyGithub/PyGithub#2786
- Add missing GitHub classes to docs by
[@&#8203;EnricoMi](https://togithub.com/EnricoMi) in
[PyGithub/PyGithub#2783
- CI: Fix mypy error by ignoring override by
[@&#8203;EnricoMi](https://togithub.com/EnricoMi) in
[PyGithub/PyGithub#2779

**Full Changelog**:
PyGithub/PyGithub@v2.1.1...v2.2.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/lettuce-financial/github-bot-signed-commit).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants