Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Aprenda inglês de uma vez por todas

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Shell Script - Notificações de tickets vencidos - Plugin Datefield - Trac

Colaboração: Noilson Caio Teixeira de Araújo

Data de Publicação: 30 de maio de 2011

Para suprir a falta de notificação de ticket que se vence no dia corrente, desenvolvi um simples programa em shell script para isso.

Fonte: https://mycodestock.com/code/899/

  #!/bin/bash
  # Noilson Caio
  # 22 / abril / 2010
  #
  # Notifica tickets vencidos do datefiel, plugin do TRAC.
  # Busca Tickets que se vencem na data atual de execucao do script
  #
  # data - equivale ao formato utilizado no trac.ini, vaiavel due_date.value em [ticket-custom]
  # url - url do TRAC
  # 
  #
  #
  data="$(date +%d-%m-%Y)"
  url="trac.dominio.com"
  #
  # chaveaut - qualquer numero diferente de zero habilita a autenticacao
  # Se chaveaut = 1 
  # usuario - usuario com permissoes de realizarconsultas no TRAC
  # senha - senha do usuario
  # 
  chaveaut="1"
  usuario="usuario"
  senha="senha"
  #
  # saida - arquivo de retorno da consuta
  #
  saida="$(mktemp)"
  #
  # mail - endereco de email onde sera enviado o aviso
  #
  mail="redes@dominio.com.br"
  #
  # Localiza e testa os principais programas envolvidos no processo
  #
  sedbin="$(which sed)"
  mailbin="$(which mail)"
  wgetbin="$(which wget)"
  #
  # Testa binarios
  #
  for i in "$sedbin" "$mailbin" "$wgetbin"
  do
  	if [ ! -e "$i" ]
  	then
  		echo "binario nao encontrado"
  		exit 127
  	fi
  done
  #
  #
  # Consulta autenticada
  #
  consultaaut()
  {
  wget -q "http://"$url"/query?status=accepted&status=assigned&status=new&status=reopened&due_date=%7E"$data"&format=csv&order=priority&col=id&col=summary&col=due_date&col=status&col=owner&col=milestone&col=component" --user="$usuario" --password="$senha" -O "$saida"
  }
  #
  # Consulta sem autenticacao
  #
  consulta()
  {
  wget -q "http://"$url"/query?status=accepted&status=assigned&status=new&status=reopened&due_date=%7E"$data"&format=csv&order=priority&col=id&col=summary&col=due_date&col=status&col=owner&col=milestone&col=component" -O "$saida"
  }
  #
  # Testa chave de autenticacao
  #
  if [ "$chave" != "0" ]
  then
  	consultaaut
  else
  	consulta
  fi
  #
  # Testa resultado da consulta
  #
  conteudo=$(cat $saida | sed -e 1d)
  if [ -z "$conteudo" ];
  then
  	exit
  else
  	sed -i 1d "$saida"
  	while read ticket
  	do
  		id=$(echo $ticket | cut -d',' -f 1)
  		sumario=$(echo $ticket | cut -d',' -f 2)
  		dono=$(echo $ticket | cut -d',' -f 5)
  #
  # MSG
  #
  msg()
  {
  echo "
  ticket de id: $id - http://"$url"/ticket/"$id" [ $sumario ] responsavel : $dono. Vence hoje, "$data"
  "
  }
  #
  # Notifica por email
  #
  		msg | mail -s "ticket de id: [ $id ] - Data limite" "$mail"
  #
  # Limpa fila
  #
  		sed -i 1d "$saida"
  	done < "$saida"
  #
  # Limpa tempfile
  #
  	rm -rf "$saida"
  #
  fi
  exit 0

Agendamento (cron)

Adicionar o seguinte script em /etc/cron.daily/ e chmod +x /etc/cron.daily/Wdatefield.sh

  #!/bin/bash
  /usr/caminho/do/script/Wdatefield.sh

Tem um vídeo com o funcionamento do script em: http://ncaio.ithub.com.br/2011/05/05/shell-script-notificacoes-de-tickets-vencidos-plugin-datefield-trac/

Blog do autor: http://ncaio.ithub.com.br

Veja a relação completa dos artigos de Noilson Caio Teixeira de Araújo

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.97/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (741 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

PDF Explicado