De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
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
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
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários