mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-31 14:31:02 +00:00 
			
		
		
		
	Implement Actions Success, Failure and Recover webhooks for Forgejo, Gitea, Gogs, Slack, Discord, DingTalk, Telegram, Microsoft Teams, Feishu / Lark Suite, Matrix, WeCom (Wechat Work), Packagist. Some of these webhooks have not been manually tested. Implement settings for these new webhooks. ## Checklist The [contributor guide](https://forgejo.org/docs/next/contributor/) contains information that will be helpful to first time contributors. There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org). ### Tests - I added test coverage for Go changes... - [x] in their respective `*_test.go` for unit tests. - [x] in the `tests/integration` directory if it involves interactions with a live Forgejo server. - I added test coverage for JavaScript changes... - [ ] in `web_src/js/*.test.js` if it can be unit tested. - [ ] in `tests/e2e/*.test.e2e.js` if it requires interactions with a live Forgejo server (see also the [developer guide for JavaScript testing](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/tests/e2e/README.md#end-to-end-tests)). ### Documentation - [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change. - [x] I did not document these changes and I do not expect someone else to do it. ### Release notes - [ ] I do not want this change to show in the release notes. - [x] I want the title to show in the release notes with a link to this pull request. - [ ] I want the content of the `release-notes/<pull request number>.md` to be be used for the release notes instead of the title. <!--start release-notes-assistant--> ## Release notes <!--URL:https://codeberg.org/forgejo/forgejo--> - Features - [PR](https://codeberg.org/forgejo/forgejo/pulls/7508): <!--number 7508 --><!--line 0 --><!--description QWN0aW9ucyBGYWlsdXJlLCBTdWNjZXMsIFJlY292ZXIgV2ViaG9va3M=-->Actions Failure, Succes, Recover Webhooks<!--description--> <!--end release-notes-assistant--> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7508 Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org> Co-authored-by: christopher-besch <mail@chris-besch.com> Co-committed-by: christopher-besch <mail@chris-besch.com>
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2022 The Gitea Authors. All rights reserved.
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| package webhook
 | |
| 
 | |
| // HookEvents is a set of web hook events
 | |
| // update TestCreateWebhook in models/webhook/webhook_test.go when adding or changing values here
 | |
| type HookEvents struct {
 | |
| 	Create                   bool `json:"create"`
 | |
| 	Delete                   bool `json:"delete"`
 | |
| 	Fork                     bool `json:"fork"`
 | |
| 	Issues                   bool `json:"issues"`
 | |
| 	IssueAssign              bool `json:"issue_assign"`
 | |
| 	IssueLabel               bool `json:"issue_label"`
 | |
| 	IssueMilestone           bool `json:"issue_milestone"`
 | |
| 	IssueComment             bool `json:"issue_comment"`
 | |
| 	Push                     bool `json:"push"`
 | |
| 	PullRequest              bool `json:"pull_request"`
 | |
| 	PullRequestAssign        bool `json:"pull_request_assign"`
 | |
| 	PullRequestLabel         bool `json:"pull_request_label"`
 | |
| 	PullRequestMilestone     bool `json:"pull_request_milestone"`
 | |
| 	PullRequestComment       bool `json:"pull_request_comment"`
 | |
| 	PullRequestReview        bool `json:"pull_request_review"`
 | |
| 	PullRequestSync          bool `json:"pull_request_sync"`
 | |
| 	PullRequestReviewRequest bool `json:"pull_request_review_request"`
 | |
| 	Wiki                     bool `json:"wiki"`
 | |
| 	Repository               bool `json:"repository"`
 | |
| 	Release                  bool `json:"release"`
 | |
| 	Package                  bool `json:"package"`
 | |
| 	ActionRunFailure         bool `json:"action_run_failure"`
 | |
| 	ActionRunRecover         bool `json:"action_run_recover"`
 | |
| 	ActionRunSuccess         bool `json:"action_run_success"`
 | |
| }
 | |
| 
 | |
| // HookEvent represents events that will deliver a hook.
 | |
| type HookEvent struct {
 | |
| 	PushOnly       bool   `json:"push_only"`
 | |
| 	SendEverything bool   `json:"send_everything"`
 | |
| 	ChooseEvents   bool   `json:"choose_events"`
 | |
| 	BranchFilter   string `json:"branch_filter"`
 | |
| 
 | |
| 	HookEvents `json:"events"`
 | |
| }
 |