Esempio n. 1
0
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")