SHARE
TWEET

Untitled

a guest Mar 5th, 2015 226 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/usr/bin/python
  2. # coding: utf-8
  3. import sys
  4. import json
  5.  
  6.  
  7. def so_permite_comitar_se_branch_tiver_verde(filename, branch):
  8.     f = open(filename, 'r')
  9.     obj = json.loads(f.read())
  10.     f.close()
  11.     branch_status = obj.get(branch)
  12.     if not branch_status:
  13.         exit(0)
  14.     if branch_status['status'] == 'SUCCESS':
  15.         exit(0)
  16.     if branch_status['status'] == 'RUNNING':
  17.         print(u'------------------------------------')
  18.         print(u'Tem uma build dessa branch rodando, tenta daqui a pouquinho!')
  19.         print(u'desc=%s' % branch_status['desc'])
  20.         print(u'last_update=%s' % branch_status['last_update'])
  21.         exit(1)
  22.     if branch_status['status'] == 'FAIL':
  23.         print(u'------------------------------------')
  24.         print(u'Seu push foi rejeitado porque essa branch estah quebrada!')
  25.         print(u'desc=%s' % branch_status['desc'])
  26.         print(u'last_update=%s' % branch_status['last_update'])
  27.         print(u'')
  28.         print(u'Vai lah no Jenkins e ve o que tah rolando')
  29.         print(u'Se vc quiser fazer um commit pra consertar a build use a palavra mahgica')
  30.         print(u'**************')
  31.         print(u'WILLFIX')
  32.         print(u'**************')
  33.         print(u'no comentario')
  34.         print(u'(por favor nao abuse desse recurso, senao vai rolar um creu em vc)')
  35.         print(u'')
  36.         print(u'Se o responsavel pela quebra nao estiver disponivel no momento, '
  37.               u'vc pode - e deve - voltar o commit do safado')
  38.         print(u'Pra isso, basta usar o job no Jenkins "Voltar_commit"')
  39.         exit(1)
  40.  
  41. if __name__ == '__main__':
  42.     so_permite_comitar_se_branch_tiver_verde(sys.argv[1], sys.argv[2])
RAW Paste Data
Top