mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 13:34:43 +01: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),
 | 
						|
	)
 | 
						|
}
 |