Estava eu pensando em como fazer um sistema que pudesse escrever comentários automaticamente no meu twitter a cada commit dado no svn.
Buscando mais a fundo pela internet, enconcrei a API do Twitter e com um pouco de esforço consegui criar um script tão simples que chega a ser sem graça, abaixo segue o processo:
Precisaremos de:
Uma conta do Twitter com senha conhecida (óbvio);
Repositório SVN;
Acesso a pasta de scripts hooks do repositório svn;
Utilitário cURL.
Descreverei o processo para utilizar o script em ambiente linux, mas em outros sistemas deverá funcionar de maneira semelhante, bastando instalar o cURL ou equivalente na maquina.
Para começar, navegue até a pasta hooks do seu repositorio. No meu caso que uso dreamhost(cupons de desconto aqui), fica localizado na pasta: “/home/(seu_user)/svn/(nome_repositorio)/hooks/” . Aqui encontramos alguns scripts de modelo, no caso utilizaremos o “post-commit.tmpl”, basta renomear ele para “post-commit” caso o arquivo “post-commit” não exista, e após isso, torná-lo executavel(chmod a+x post-commit); caso o arquivo ja exista, adicione as seguintes linhas de comando ao término dele:
A primeira linha serve para pegar a mensagem de log associada ao commit, a segunda serve para enviar sua mensagem ao twitter. Ah! ${REV} e ${REPOS} ja estão definidos pelo padrão do post-commit.tmpl, logo caso ja se tenha um post-commit existente, é bom verificar como o .tmpl se essa parte foi alterada. Ainda na segunda linha, lembre de alterar “user” pelo seu nome de usuário do twitter e o nome “pass” pelo seu password.
Uma observação para quem gosta de colocar caracteres malucos no user ou pass: provavelmente o terminal interpretará seus caracteres como funções, portanto, teste antes na mão mesmo para ver se não ocorre nenhum erro, pois comigo ocorreu e mudei meu password.
Feito tudo isso, basta fazer um commit que ele estará automaticamente no seu twitter.
Qualquer dúvida, entre em contato comigo no bate-papo aqui do site ou então pelo twitter. (http://twitter.com/tolstenko).
Twitter, cURL e SVN
Estava eu pensando em como fazer um sistema que pudesse escrever comentários automaticamente no meu twitter a cada commit dado no svn.
Buscando mais a fundo pela internet, enconcrei a API do Twitter e com um pouco de esforço consegui criar um script tão simples que chega a ser sem graça, abaixo segue o processo:
Precisaremos de:
Descreverei o processo para utilizar o script em ambiente linux, mas em outros sistemas deverá funcionar de maneira semelhante, bastando instalar o cURL ou equivalente na maquina.
Para começar, navegue até a pasta hooks do seu repositorio. No meu caso que uso dreamhost(cupons de desconto aqui), fica localizado na pasta: “/home/(seu_user)/svn/(nome_repositorio)/hooks/” . Aqui encontramos alguns scripts de modelo, no caso utilizaremos o “post-commit.tmpl”, basta renomear ele para “post-commit” caso o arquivo “post-commit” não exista, e após isso, torná-lo executavel(chmod a+x post-commit); caso o arquivo ja exista, adicione as seguintes linhas de comando ao término dele:
COMMENT='svnlook log -r${REV} ${REPOS}' curl -u user:pass -d status="${COMMENT}" http://twitter.com/statuses/update.jsonA primeira linha serve para pegar a mensagem de log associada ao commit, a segunda serve para enviar sua mensagem ao twitter. Ah! ${REV} e ${REPOS} ja estão definidos pelo padrão do post-commit.tmpl, logo caso ja se tenha um post-commit existente, é bom verificar como o .tmpl se essa parte foi alterada. Ainda na segunda linha, lembre de alterar “user” pelo seu nome de usuário do twitter e o nome “pass” pelo seu password.
Uma observação para quem gosta de colocar caracteres malucos no user ou pass: provavelmente o terminal interpretará seus caracteres como funções, portanto, teste antes na mão mesmo para ver se não ocorre nenhum erro, pois comigo ocorreu e mudei meu password.
Feito tudo isso, basta fazer um commit que ele estará automaticamente no seu twitter.
Qualquer dúvida, entre em contato comigo no bate-papo aqui do site ou então pelo twitter. (http://twitter.com/tolstenko).