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

Fix: system webhooks API bug #28531

Merged
merged 3 commits into from
Dec 31, 2023
Merged

Fix: system webhooks API bug #28531

merged 3 commits into from
Dec 31, 2023

Conversation

pulltheflower
Copy link
Contributor

  • Fix the bug about admin/hooks API that GET /admin/hooks can only fetch system_hooks, POST /admin/hooks can only create default_hooks.

@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Dec 19, 2023
@pull-request-size pull-request-size bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Dec 19, 2023
@github-actions github-actions bot added modifies/api This PR adds API routes or modifies them modifies/cli PR changes something on the CLI, i.e. gitea doctor or gitea admin labels Dec 19, 2023
cmd/serv.go Outdated Show resolved Hide resolved
@github-actions github-actions bot removed the modifies/cli PR changes something on the CLI, i.e. gitea doctor or gitea admin label Dec 19, 2023
@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Dec 19, 2023
@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Dec 19, 2023
@KN4CK3R
Copy link
Member

KN4CK3R commented Dec 19, 2023

CI fail is related.

Comment on lines 169 to 171
isSystemWebhook, err := strconv.ParseBool(form.Config["is_system_webhook"])
if err != nil {
ctx.Error(http.StatusUnprocessableEntity, "", "Invalid is_system_webhook value")
Copy link
Contributor

Choose a reason for hiding this comment

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

What is is_system_webhook? I didn't see any document for it.

And I do not think err != nil is right here, because strconv.ParseBool("") returns an error: is is_system_webhook optional?

The last question, what is form.Config? Is it from a JSON? Is there a chance to use "bool" type?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

What is is_system_webhook? I didn't see any document for it.

I haven't add the document about is_system_webhook, but I noticed that when we create system hooks in the gitea admin page, it will write the is_system_webhook column in webhook table.
image
And when we create webhooks via /api/v1/admin/hooks API, we can not choose what type of webhook to create. We can only create default_webhook. So I want add this field to this API.

And I do not think err != nil is right here, because strconv.ParseBool("") returns an error: is is_system_webhook optional?

Thanks, You are right. I have optimize the code .

The last question, what is form.Config? Is it from a JSON? Is there a chance to use "bool" type?

Yes, it's a map[string]string, if we change it to map[string]any, a lot of codes should be change.

Copy link
Contributor

@wxiaoguang wxiaoguang left a comment

Choose a reason for hiding this comment

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

Need more improvements

@GiteaBot GiteaBot added lgtm/blocked A maintainer has reservations with the PR and thus it cannot be merged and removed lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. labels Dec 20, 2023
@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/blocked A maintainer has reservations with the PR and thus it cannot be merged labels Dec 20, 2023
@wxiaoguang
Copy link
Contributor

Dismiss my change request, but I sill have the question about whether it (is_system_webhook) needs to be documented somewhere.

@delvh
Copy link
Member

delvh commented Dec 30, 2023

@wxiaoguang is this PR ready to be merged or not?

@wxiaoguang
Copy link
Contributor

@wxiaoguang is this PR ready to be merged or not?

Just nit, no block from my side.

@delvh delvh added the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Dec 30, 2023
@lunny lunny enabled auto-merge (squash) December 31, 2023 04:11
@lunny lunny added the backport/v1.21 This PR should be backported to Gitea 1.21 label Dec 31, 2023
@lunny lunny merged commit f8a1bad into go-gitea:main Dec 31, 2023
25 checks passed
@GiteaBot GiteaBot added this to the 1.22.0 milestone Dec 31, 2023
GiteaBot pushed a commit to GiteaBot/gitea that referenced this pull request Dec 31, 2023
- Fix the bug about admin/hooks API that `GET /admin/hooks` can only
fetch system_hooks, `POST /admin/hooks` can only create default_hooks.
@GiteaBot GiteaBot added backport/done All backports for this PR have been created and removed reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. labels Dec 31, 2023
@delvh delvh added the type/bug label Dec 31, 2023
lunny pushed a commit that referenced this pull request Dec 31, 2023
Backport #28531 by @pulltheflower

- Fix the bug about admin/hooks API that `GET /admin/hooks` can only
fetch system_hooks, `POST /admin/hooks` can only create default_hooks.

Co-authored-by: vincent <38434877+pulltheflower@users.noreply.github.com>
zjjhot added a commit to zjjhot/gitea that referenced this pull request Jan 2, 2024
* giteaofficial/main:
  Add global setting how timestamps should be rendered (go-gitea#28657)
  [skip ci] Updated translations via Crowdin
  Upgrade xorm to new version which supported update join for all supported databases (go-gitea#28590)
  Fix: system webhooks API bug (go-gitea#28531)
  Fix alpine package files are not rebuilt (go-gitea#28638)
  Fix migration test (go-gitea#28659)
  Avoid cycle-redirecting user/login page (go-gitea#28636)
  Fix long package version names overflowing (go-gitea#28619)
nrdufour added a commit to nrdufour/home-ops that referenced this pull request Jan 17, 2024
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [docker.io/gitea/gitea](https://github.com/go-gitea/gitea) | patch | `1.21.3` -> `1.21.4` |

---

### Release Notes

<details>
<summary>go-gitea/gitea (docker.io/gitea/gitea)</summary>

### [`v1.21.4`](https://github.com/go-gitea/gitea/releases/tag/v1.21.4)

[Compare Source](go-gitea/gitea@v1.21.3...v1.21.4)

-   SECURITY
    -   Update github.com/cloudflare/circl ([#&#8203;28789](go-gitea/gitea#28789)) ([#&#8203;28790](go-gitea/gitea#28790))
    -   Require token for GET subscription endpoint ([#&#8203;28765](go-gitea/gitea#28765)) ([#&#8203;28768](go-gitea/gitea#28768))
-   BUGFIXES
    -   Use refname:strip-2 instead of refname:short when syncing tags ([#&#8203;28797](go-gitea/gitea#28797)) ([#&#8203;28811](go-gitea/gitea#28811))
    -   Fix links in issue card ([#&#8203;28806](go-gitea/gitea#28806)) ([#&#8203;28807](go-gitea/gitea#28807))
    -   Fix nil pointer panic when exec some gitea cli command ([#&#8203;28791](go-gitea/gitea#28791)) ([#&#8203;28795](go-gitea/gitea#28795))
    -   Require token for GET subscription endpoint ([#&#8203;28765](go-gitea/gitea#28765)) ([#&#8203;28778](go-gitea/gitea#28778))
    -   Fix button size in "attached header right" ([#&#8203;28770](go-gitea/gitea#28770)) ([#&#8203;28774](go-gitea/gitea#28774))
    -   Fix `convert.ToTeams` on empty input ([#&#8203;28426](go-gitea/gitea#28426)) ([#&#8203;28767](go-gitea/gitea#28767))
    -   Hide code related setting options in repository when code unit is disabled ([#&#8203;28631](go-gitea/gitea#28631)) ([#&#8203;28749](go-gitea/gitea#28749))
    -   Fix incorrect URL for "Reference in New Issue" ([#&#8203;28716](go-gitea/gitea#28716)) ([#&#8203;28723](go-gitea/gitea#28723))
    -   Fix panic when parsing empty pgsql host ([#&#8203;28708](go-gitea/gitea#28708)) ([#&#8203;28709](go-gitea/gitea#28709))
    -   Upgrade xorm to new version which supported update join for all supported databases ([#&#8203;28590](go-gitea/gitea#28590)) ([#&#8203;28668](go-gitea/gitea#28668))
    -   Fix alpine package files are not rebuilt ([#&#8203;28638](go-gitea/gitea#28638)) ([#&#8203;28665](go-gitea/gitea#28665))
    -   Avoid cycle-redirecting user/login page ([#&#8203;28636](go-gitea/gitea#28636)) ([#&#8203;28658](go-gitea/gitea#28658))
    -   Fix empty ref for cron workflow runs ([#&#8203;28640](go-gitea/gitea#28640)) ([#&#8203;28647](go-gitea/gitea#28647))
    -   Remove unnecessary syncbranchToDB with tests ([#&#8203;28624](go-gitea/gitea#28624)) ([#&#8203;28629](go-gitea/gitea#28629))
    -   Use known issue IID to generate new PR index number when migrating from GitLab ([#&#8203;28616](go-gitea/gitea#28616)) ([#&#8203;28618](go-gitea/gitea#28618))
    -   Fix flex container width ([#&#8203;28603](go-gitea/gitea#28603)) ([#&#8203;28605](go-gitea/gitea#28605))
    -   Fix the scroll behavior for emoji/mention list ([#&#8203;28597](go-gitea/gitea#28597)) ([#&#8203;28601](go-gitea/gitea#28601))
    -   Fix wrong due date rendering in issue list page ([#&#8203;28588](go-gitea/gitea#28588)) ([#&#8203;28591](go-gitea/gitea#28591))
    -   Fix `status_check_contexts` matching bug ([#&#8203;28582](go-gitea/gitea#28582)) ([#&#8203;28589](go-gitea/gitea#28589))
    -   Fix 500 error of searching commits ([#&#8203;28576](go-gitea/gitea#28576)) ([#&#8203;28579](go-gitea/gitea#28579))
    -   Use information from previous blame parts ([#&#8203;28572](go-gitea/gitea#28572)) ([#&#8203;28577](go-gitea/gitea#28577))
    -   Update mermaid for 1.21 ([#&#8203;28571](go-gitea/gitea#28571))
    -   Fix 405 method not allowed CORS / OIDC ([#&#8203;28583](go-gitea/gitea#28583)) ([#&#8203;28586](go-gitea/gitea#28586)) ([#&#8203;28587](go-gitea/gitea#28587)) ([#&#8203;28611](go-gitea/gitea#28611))
    -   Fix `GetCommitStatuses` ([#&#8203;28787](go-gitea/gitea#28787)) ([#&#8203;28804](go-gitea/gitea#28804))
    -   Forbid removing the last admin user ([#&#8203;28337](go-gitea/gitea#28337)) ([#&#8203;28793](go-gitea/gitea#28793))
    -   Fix schedule tasks bugs ([#&#8203;28691](go-gitea/gitea#28691)) ([#&#8203;28780](go-gitea/gitea#28780))
    -   Fix issue dependencies ([#&#8203;27736](go-gitea/gitea#27736)) ([#&#8203;28776](go-gitea/gitea#28776))
    -   Fix system webhooks API bug ([#&#8203;28531](go-gitea/gitea#28531)) ([#&#8203;28666](go-gitea/gitea#28666))
    -   Fix when private user following user, private user will not be counted in his own view ([#&#8203;28037](go-gitea/gitea#28037)) ([#&#8203;28792](go-gitea/gitea#28792))
    -   Render code block in activity tab ([#&#8203;28816](go-gitea/gitea#28816)) ([#&#8203;28818](go-gitea/gitea#28818))
-   ENHANCEMENTS
    -   Rework markup link rendering ([#&#8203;26745](go-gitea/gitea#26745)) ([#&#8203;28803](go-gitea/gitea#28803))
    -   Modernize merge button ([#&#8203;28140](go-gitea/gitea#28140)) ([#&#8203;28786](go-gitea/gitea#28786))
    -   Speed up loading the dashboard on mysql/mariadb ([#&#8203;28546](go-gitea/gitea#28546)) ([#&#8203;28784](go-gitea/gitea#28784))
    -   Assign pull request to project during creation ([#&#8203;28227](go-gitea/gitea#28227)) ([#&#8203;28775](go-gitea/gitea#28775))
    -   Show description as tooltip instead of title for labels ([#&#8203;28754](go-gitea/gitea#28754)) ([#&#8203;28766](go-gitea/gitea#28766))
    -   Make template `DateTime` show proper tooltip ([#&#8203;28677](go-gitea/gitea#28677)) ([#&#8203;28683](go-gitea/gitea#28683))
    -   Switch destination directory for apt signing keys ([#&#8203;28639](go-gitea/gitea#28639)) ([#&#8203;28642](go-gitea/gitea#28642))
    -   Include heap pprof in diagnosis report to help debugging memory leaks ([#&#8203;28596](go-gitea/gitea#28596)) ([#&#8203;28599](go-gitea/gitea#28599))
-   DOCS
    -   Suggest to use Type=simple for systemd service ([#&#8203;28717](go-gitea/gitea#28717)) ([#&#8203;28722](go-gitea/gitea#28722))
    -   Extend description for ARTIFACT_RETENTION_DAYS ([#&#8203;28626](go-gitea/gitea#28626)) ([#&#8203;28630](go-gitea/gitea#28630))
-   MISC
    -   Add -F to commit search to treat keywords as strings ([#&#8203;28744](go-gitea/gitea#28744)) ([#&#8203;28748](go-gitea/gitea#28748))
    -   Add download attribute to release attachments ([#&#8203;28739](go-gitea/gitea#28739)) ([#&#8203;28740](go-gitea/gitea#28740))
    -   Concatenate error in `checkIfPRContentChanged` ([#&#8203;28731](go-gitea/gitea#28731)) ([#&#8203;28737](go-gitea/gitea#28737))
    -   Improve 1.21 document for Database Preparation ([#&#8203;28643](go-gitea/gitea#28643)) ([#&#8203;28644](go-gitea/gitea#28644))

Instances on **[Gitea Cloud](https://cloud.gitea.com)** will be automatically upgraded to this version during the specified maintenance window.

</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 this update again.

---

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

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzIuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEzMi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Reviewed-on: https://git.home/nrdufour/home-ops/pulls/316
Co-authored-by: Renovate <renovate@ptinem.io>
Co-committed-by: Renovate <renovate@ptinem.io>
fuxiaohei pushed a commit to fuxiaohei/gitea that referenced this pull request Jan 17, 2024
- Fix the bug about admin/hooks API that `GET /admin/hooks` can only
fetch system_hooks, `POST /admin/hooks` can only create default_hooks.
silverwind pushed a commit to silverwind/gitea that referenced this pull request Feb 20, 2024
- Fix the bug about admin/hooks API that `GET /admin/hooks` can only
fetch system_hooks, `POST /admin/hooks` can only create default_hooks.
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 13, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
backport/done All backports for this PR have been created backport/v1.21 This PR should be backported to Gitea 1.21 lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. modifies/api This PR adds API routes or modifies them size/S Denotes a PR that changes 10-29 lines, ignoring generated files. type/bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants