plugin installations from git twitter

installations - ¿Hay un script que publica git se compromete a twitter?



plugin git (7)

Git es notorio por su límite de longitud recomendada para los títulos de mensajes de confirmación: la primera línea no debe tener más de 50 caracteres (para ajustarse a un encabezado de correo electrónico).

Eso me recuerda a ... bueno, ¿hay un gancho que automáticamente envía mensajes de confirmación a Twitter tan pronto como son enviados al servidor?


Algunos friedcode descubrieron friedcode . No lo he intentado yo mismo, pero parece hacer el trabajo.


Aqui tienes:

#!/bin/sh username=<your Twitter account> password=<your Twitter password> service_uri=http://api.twitter.com/1/statuses/update.json subject=`git log --pretty=format:%s -n1` curl -u "${username}:${password}" -d status="${subject}" $service_uri

Guarde como .git/hooks/post-commit en su repositorio y conviértalo en ejecutable.

[Nota: completamente sin probar, acabo de hacer esto en el acto]


Configuro un enlace Git post-commit que se publica en mi cuenta privada de Twitter cada vez que hago un commit local en mi repositorio de desarrollo. Esto es lo que hice:

  1. Registrar una aplicación en Twitter. Así es como haces eso:
    1. Vaya a http://dev.twitter.com . Es posible que deba iniciar sesión de nuevo. http://www.adornomedia.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-02-at-5.12.18-PM-300x290.png
    2. Pase el cursor sobre su avatar en la parte superior derecha y elija "Mis aplicaciones" en el menú que aparece. http://www.adornomedia.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-02-at-5.22.26-PM.png
    3. Haga clic en el botón "Crear nueva aplicación". http://www.adornomedia.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-02-at-5.23.14-PM.png
    4. Rellena el siguiente como quieras. La dirección del sitio web puede ser cualquier cosa. El nombre de la aplicación puede ser cualquier cosa. Deje en blanco la URL de devolución de llamada . De acuerdo con el acuerdo, ingrese el CAPTCHA y listo. http://www.adornomedia.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-02-at-5.36.56-PM-300x122.png
    5. A continuación, serás llevado a una pantalla con un montón de teclas. Copia todos esos en un editor de texto.
    6. Haga clic en la pestaña "Configuración". Cambie a "Leer y escribir" para el tipo de aplicación . Haga clic en Actualizar . http://www.adornomedia.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-02-at-5.36.42-PM-300x127.png
    7. Vuelve a la pestaña Detalles . Desplácese hasta la parte inferior y haga clic en "Crear mi token de acceso de OAuth".
    8. Espera unos segundos, refresca la página, espera un poco más. Finalmente, en la parte inferior de la página aparecerá una sección que dice "Su token de acceso". Copie estos códigos.
    9. Eso es todo para la configuración de tu aplicación de Twitter.
  2. Abra un shell en la máquina con la que planea comprometerse (y envíe tweets desde).
  3. Instale http_post . Tendrás que compilar esto desde la fuente. ( make y make install ). Asegúrese de que sea accesible desde su PATH .
  4. Instale oauth_sign . También tendrás que compilar esta fuente de formulario. ( haga y realice la instalación ) Asegúrese de que sea accesible desde su PATH .
  5. Finalmente, guarde el siguiente script en .git / hooks / post-commit en su repositorio Git.

    #!/bin/sh # PATH modification needed for http_post and oauth_sign export PATH=$PATH:/usr/local/bin toplevel_path=`git rev-parse --show-toplevel` toplevel_dir=`basename "$toplevel_path"` branch=`git rev-parse --abbrev-ref HEAD` subject=`git log --pretty=format:%s -n1` hashtags="#code #$toplevel_dir" tweet=$hashtags'' [''$branch'']: "''$subject''"'' # truncate tweets that are longer than 140 characters if [ ${#tweet} -gt 140 ] then tweet_trunc=$(echo $tweet | cut -c1-137) tweet=${tweet_trunc}... fi consumer_key="<Put your computer key here>" consumer_secret="<Put your consumer secret here>" access_token="<Put your access token here>" access_secret="<Put your access token secret here>" url="https://api.twitter.com/1.1/statuses/update.json" http_post -h Authorization "$(oauth_sign / $consumer_key $consumer_secret / $access_token $access_secret / POST "$url" status="$tweet")" / "$url" status="$tweet"

  6. Asegúrate de hacer el archivo ejecutable. ( chmod a+x .git/hooks/post-commit )

  7. ¡Eso es! Si desea que esto se agregue automáticamente a cualquier nuevo repositorio que realice, modifique las plantillas de git-core. Tendrá que averiguar dónde están (es diferente para cada configuración). Para mí, están ubicados aquí: / opt / local / share / git-core / templates / hooks / post-commit .

Nota: todo esto se basa en gran medida en este script: http://fanf.livejournal.com/108436.html

¡Buena suerte!

--David



Sé que esto es viejo, pero hace un tiempo escribí a este tipo: https://github.com/mrsnowf1ake/twitter-git-hook

Puede rodear cualquier parte de la confirmación con _* y *_ . No es exactamente lo que mencionaste aquí, pero hace algo similar.