@@ -31,26 +31,15 @@ type CommitModel struct {
3131 CommitMessage string `json:"message"`
3232}
3333
34- // MergeQueueMeta ...
35- type MergeQueuePushModel struct {
36- QueueProvider string `json:"queue_provider,omitempty"`
37- PRNumber int `json:"pr_number,omitempty"`
38- BaseBranch string `json:"base_branch,omitempty"`
39- BaseSHA string `json:"base_sha,omitempty"`
40- SyntheticSHA string `json:"synthetic_sha,omitempty"`
41- }
42-
4334// PushEventModel ...
4435type PushEventModel struct {
45- Ref string `json:"ref"`
46- Deleted bool `json:"deleted"`
47- HeadCommit CommitModel `json:"head_commit"`
48- Commits []CommitModel `json:"commits"`
49- Repo RepoInfoModel `json:"repository"`
50- Pusher PusherModel `json:"pusher"`
51- IsMergeQueuePush bool `json:"is_merge_queue_push"`
52- After string `json:"after"`
53- MergeQueue * MergeQueuePushModel `json:"merge_queue"`
36+ Ref string `json:"ref"`
37+ Deleted bool `json:"deleted"`
38+ HeadCommit CommitModel `json:"head_commit"`
39+ Commits []CommitModel `json:"commits"`
40+ Repo RepoInfoModel `json:"repository"`
41+ Pusher PusherModel `json:"pusher"`
42+ After string `json:"after"`
5443}
5544
5645// UserModel ...
@@ -218,28 +207,37 @@ func transformPushEvent(pushEvent PushEventModel) hookCommon.TransformResultMode
218207 commitMessages = append (commitMessages , commit .CommitMessage )
219208 }
220209
221- if strings .HasPrefix (pushEvent .Ref , "refs/heads/gh-readonly-queue/" ) || strings .HasPrefix (pushEvent .Ref , "refs/heads/gt-queue/" ) {
222- // merge queue push
223- provider , base , pr , sha , err := parseMergeQueueRef (pushEvent .Ref )
224- if err != nil {
225- return hookCommon.TransformResultModel {
226- Error : fmt .Errorf ("failed to parse merge queue ref: %w" , err ),
227- }
228- }
229- pushEvent .IsMergeQueuePush = true
230- pushEvent .MergeQueue = & MergeQueuePushModel {
231- QueueProvider : provider ,
232- PRNumber : pr ,
233- BaseBranch : base ,
234- BaseSHA : sha ,
235- SyntheticSHA : pushEvent .After ,
236- }
237- }
238-
239210 if strings .HasPrefix (pushEvent .Ref , "refs/heads/" ) {
240211 // code push
241212 branch := strings .TrimPrefix (pushEvent .Ref , "refs/heads/" )
242213
214+ // merge queue push
215+ var mergeQueue bitriseapi.MergeQueueModel
216+ if strings .HasPrefix (pushEvent .Ref , "refs/heads/gh-readonly-queue/" ) || strings .HasPrefix (pushEvent .Ref , "refs/heads/gt-queue/" ) {
217+ providerRef , base , pr , sha , err := parseMergeQueueRef (pushEvent .Ref )
218+ if err != nil {
219+ return hookCommon.TransformResultModel {
220+ Error : fmt .Errorf ("failed to parse merge queue ref: %w" , err ),
221+ }
222+ }
223+
224+ var provider string
225+ switch providerRef {
226+ case "gh-readonly-queue" :
227+ provider = "github"
228+ case "gt-queue" :
229+ provider = "gitlab"
230+ }
231+
232+ mergeQueue = bitriseapi.MergeQueueModel {
233+ QueueProvider : provider ,
234+ PullRequestID : pr ,
235+ BaseBranch : base ,
236+ BaseSHA : sha ,
237+ SyntheticSHA : pushEvent .After ,
238+ }
239+ }
240+
243241 return hookCommon.TransformResultModel {
244242 TriggerAPIParams : []bitriseapi.TriggerAPIParamsModel {
245243 {
@@ -250,6 +248,7 @@ func transformPushEvent(pushEvent PushEventModel) hookCommon.TransformResultMode
250248 CommitMessages : commitMessages ,
251249 PushCommitPaths : commitPaths ,
252250 BaseRepositoryURL : pushEvent .Repo .getRepositoryURL (),
251+ MergeQueue : mergeQueue ,
253252 },
254253 TriggeredBy : hookCommon .GenerateTriggeredBy (ProviderID , pushEvent .Pusher .Name ),
255254 },
0 commit comments