def get_taiga_status(request, nomeProjeto): try: # Linka o projeto do Taiga com o projeto Knowleds projeto_knowleds = ProjetoKnowLeds.objects.get(nome_webhook=nomeProjeto) except: pass if request.method == 'POST': print ('POST') r = json.load(request) if r['action'] == 'create' : # Se for SPRINT if r['type'] == 'milestone': projeto = projeto_save(r['data']['project'], projeto_knowleds) sprint_save(r['data'], projeto) # Se for USER HISTORY elif r['type'] == 'userstory': projeto = projeto_save(r['data']['project'], projeto_knowleds) print('ALGO MUDOU: ' + str(r)) userstory_save(r['data'],projeto) # Se for TASK elif r['type'] == 'task': projeto = projeto_save( r['data']['project'], projeto_knowleds) userStory = userstory_save(r['data']['user_story'], projeto) task = Task() # Atributos para salvar task.ident = r['data']['id'] task.titulo = r['data']['subject'] task.descricao = r['data']['description'] task.userStory = userStory task.tags = r['data']['tags'] task.is_closed = r['data']['status']['is_closed'] try: ##identificar qual user task.user = r['data']['assigned_to']['username'] except: pass textoTag = task.titulo + ' precisa de ajuda, voce sabe a solucao' for tag in task.getTags(): if tag == 'ajuda' or tag == 'Ajuda' or tag == 'AJUDA': print('Mandando o email...') send_mail('Ajuda em UserStory', textoTag, '*****@*****.**', ['*****@*****.**'], fail_silently=False) task.save() # Se for ISSUE elif r['type'] == 'issue': projeto = projeto_save(r['data']['project'], projeto_knowleds) issue = Issue() # Atributos para salvar issue.ident = r['data']['id'] issue.titulo = r['data']['subject'] issue.descricao = r['data']['description'] issue.setTags(r['data']['tags']) issue.is_closed = r['data']['status']['is_closed'] issue.projeto = projeto issue.save() textoTag = issue.titulo + ' precisa de ajuda, voce sabe a solucao' for tag in issue.getTags(): if tag == 'ajuda' or tag == 'Ajuda' or tag == 'AJUDA': print('Mandando o email...') send_mail('Ajuda em UserStory', textoTag, '*****@*****.**', ['*****@*****.**'], fail_silently=False) elif r['action'] == 'change': # Se for USER HISTORY if r['type'] == 'userstory': projeto = projeto_save(r['data']['project'], projeto_knowleds) userstory_save(r['data'],projeto) # Se for TASK elif r['type'] == 'task': if Task.objects.filter(ident=r['data']['id']): task = Task.objects.filter(ident=r['data']['id'])[0] else: task = Task() projeto = projeto_save( r['data']['project'], projeto_knowleds) userStory = userstory_save(r['data']['user_story'], projeto) print("\n\nOlha aqui o user story: " + str(userStory)) # Atributos para salvar task.ident = r['data']['id'] task.titulo = r['data']['subject'] task.descricao = r['data']['description'] task.userStory = userStory task.tags = r['data']['tags'] task.is_closed = r['data']['status']['is_closed'] try: ##identificar qual user task.user = r['data']['assigned_to']['username'] except: pass task.save() """ texto = '' for t in Task.objects.all().filter(sprint_id=r['data']['milestone']['id']): texto += 'Tarefa: ' + t.titulo + ': \n' + 'Descricao: '+ t.descricao + '\n \n \n' # Se a tarefa encerrar o Sprint entra aqui # para ENVIAR o EMAIL email = Projeto.objects.get(nomeFantasia = 'Teste').email print('Olha como esta o status: ' + str(r['data']['milestone']['closed'])) if r['data']['milestone']['closed']: sprint = 'O Sprint: ' + r['data']['milestone']['name'] + ' foi encerrado' send_mail(sprint, texto, '[email protected], [email protected],', [email], fail_silently=False) textoTag = task.titulo + ' precisa de ajuda, voce sabe a solucao' for tag in task.getTags(): if tag == 'ajuda' or tag == 'Ajuda' or tag == 'AJUDA': print('Mandando o email...') send_mail('Ajuda em UserStory', textoTag, '*****@*****.**', ['*****@*****.**'], fail_silently=False) """ # Se for ISSUE elif r['type'] == 'issue': projeto = projeto_save(r['data']['project'], projeto_knowleds) try: issue = Issue.objects.get(ident=r['data']['id']) except: issue = Issue() pass issue.ident = r['data']['id'] issue.titulo = r['data']['subject'] issue.descricao = r['data']['description'] issue.setTags(r['data']['tags']) issue.is_closed = r['data']['status']['is_closed'] issue.projeto = projeto issue.save() textoTag = issue.titulo + ' precisa de ajuda, voce sabe a solucao' for tag in issue.getTags(): if tag == 'ajuda' or tag == 'Ajuda' or tag == 'AJUDA': print('Mandando o email...') send_mail('Ajuda em UserStory', textoTag, '*****@*****.**', ['*****@*****.**'], fail_silently=False) #Se for SPRINT elif r['type'] == 'milestone': projeto = projeto_save(r['data']['project'], projeto_knowleds) sprint_save(r['data'], projeto) return Response("POST", status=status.HTTP_201_CREATED) elif request.method == 'GET': return Response("GET")