mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-26 08:58:24 +00:00 
			
		
		
		
	Replace #22751 1. only support the default branch in the repository setting. 2. autoload schedule data from the schedule table after starting the service. 3. support specific syntax like `@yearly`, `@monthly`, `@weekly`, `@daily`, `@hourly` ## How to use See the [GitHub Actions document](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule) for getting more detailed information. ```yaml on: schedule: - cron: '30 5 * * 1,3' - cron: '30 5 * * 2,4' jobs: test_schedule: runs-on: ubuntu-latest steps: - name: Not on Monday or Wednesday if: github.event.schedule != '30 5 * * 1,3' run: echo "This step will be skipped on Monday and Wednesday" - name: Every time run: echo "This step will always run" ``` Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com> --------- Co-authored-by: Jason Song <i@wolfogre.com> Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2023 The Gitea Authors. All rights reserved.
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| package v1_21 //nolint
 | |
| import (
 | |
| 	"code.gitea.io/gitea/modules/timeutil"
 | |
| 
 | |
| 	"xorm.io/xorm"
 | |
| )
 | |
| 
 | |
| func AddActionScheduleTable(x *xorm.Engine) error {
 | |
| 	type ActionSchedule struct {
 | |
| 		ID            int64
 | |
| 		Title         string
 | |
| 		Specs         []string
 | |
| 		RepoID        int64 `xorm:"index"`
 | |
| 		OwnerID       int64 `xorm:"index"`
 | |
| 		WorkflowID    string
 | |
| 		TriggerUserID int64
 | |
| 		Ref           string
 | |
| 		CommitSHA     string
 | |
| 		Event         string
 | |
| 		EventPayload  string `xorm:"LONGTEXT"`
 | |
| 		Content       []byte
 | |
| 		Created       timeutil.TimeStamp `xorm:"created"`
 | |
| 		Updated       timeutil.TimeStamp `xorm:"updated"`
 | |
| 	}
 | |
| 
 | |
| 	type ActionScheduleSpec struct {
 | |
| 		ID         int64
 | |
| 		RepoID     int64 `xorm:"index"`
 | |
| 		ScheduleID int64 `xorm:"index"`
 | |
| 		Spec       string
 | |
| 		Next       timeutil.TimeStamp `xorm:"index"`
 | |
| 		Prev       timeutil.TimeStamp
 | |
| 
 | |
| 		Created timeutil.TimeStamp `xorm:"created"`
 | |
| 		Updated timeutil.TimeStamp `xorm:"updated"`
 | |
| 	}
 | |
| 
 | |
| 	return x.Sync(
 | |
| 		new(ActionSchedule),
 | |
| 		new(ActionScheduleSpec),
 | |
| 	)
 | |
| }
 |