@@ -202,6 +202,7 @@ def sync_versions(self, project):
202
202
'build_triggered' : False ,
203
203
'project' : project .slug ,
204
204
'versions' : [version ],
205
+ 'versions_synced' : True ,
205
206
}
206
207
207
208
def get_external_version_response (self , project ):
@@ -359,6 +360,7 @@ def get_digest(secret, msg):
359
360
def handle_webhook (self ):
360
361
# Get event and trigger other webhook events
361
362
action = self .data .get ('action' , None )
363
+ created = self .data .get ('created' , False )
362
364
deleted = self .data .get ('deleted' , False )
363
365
event = self .request .META .get (GITHUB_EVENT_HEADER , GITHUB_PUSH )
364
366
webhook_github .send (
@@ -369,16 +371,17 @@ def handle_webhook(self):
369
371
)
370
372
# Don't build a branch if it's a push that was actually a delete
371
373
# https://developer.github.com/v3/activity/events/types/#pushevent
372
- if event == GITHUB_PUSH and not deleted :
374
+ if event == GITHUB_PUSH and not ( deleted or created ) :
373
375
try :
374
376
branches = [self ._normalize_ref (self .data ['ref' ])]
375
377
return self .get_response_push (self .project , branches )
376
378
except KeyError :
377
379
raise ParseError ('Parameter "ref" is required' )
378
- if event in (GITHUB_CREATE , GITHUB_DELETE ) or (event == GITHUB_PUSH and deleted ):
380
+ # Sync versions on other PUSH events that create or delete
381
+ elif event in (GITHUB_CREATE , GITHUB_DELETE , GITHUB_PUSH ):
379
382
return self .sync_versions (self .project )
380
383
381
- if (
384
+ elif (
382
385
self .project .has_feature (Feature .EXTERNAL_VERSION_BUILD ) and
383
386
event == GITHUB_PULL_REQUEST and action
384
387
):
0 commit comments