Enlace de descarga para la última versión del proyecto GitHub

Estoy intentando agregar a mi website un enlace de descarga a la última versión de Github de un proyecto. Por ejemplo, el enlace https://github.com/mongodb/mongo/archive/r3.0.0-rc7.zip hace un enlace a la última versión (a partir de hoy), pero no quiero codificar el número de versión en el website.

Encontré varias preguntas sobre este tema, respuestas usando curl, ajax o php .

Intenté la solución usando ajax que usa la API de lanzamiento github:

<!DOCTYPE html> <HTML> <BODY> <script language="javascript" type="text/javascript"> $(document).ready(function () { GetLatestReleaseInfo(); }); function GetLatestReleaseInfo() { $.getJSON("https://github.com/mongodb/mongo/releases").done(function (json) { var release = json[0]; var asset = release.assets[0]; var downloadURL = "https://github.com/mongodb/mongo/releases" + release.tag_name + "/" + asset.name; $(".mongodb-download").attr("href", downloadURL); }); } </script> <a href="GetLatestReleaseInfo();">Link</a> <a href="" onclick="location.href=this.href+downloadURL;return false;">Link2</a> <a href="" onclick="location.href=this.href+mongodb-download;return false;">Link3</a> </BODY> </HTML> 

pero no logro llamar a la function javascript correctamente, como parece en mis bashs anteriores (Link, Link2 y Link3). No estoy muy familiarizado con javascript o ajax, por lo que agradecería cualquier ayuda; tal vez hay una manera más simple sin Ajax?

Está cargando una página html en lugar de su API REST. La URL correcta para get las tags es https://api.github.com/repos/mongodb/mongo/tags

Es posible que desee leer más sobre github api aquí – https://developer.github.com/v3/repos/

Tu html podría verse así:

 <!DOCTYPE html> <HTML> <BODY> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script language="javascript" type="text/javascript"> $(document).ready(function () { GetLatestReleaseInfo(); }); function GetLatestReleaseInfo() { $.getJSON("https://api.github.com/repos/mongodb/mongo/tags").done(function (json) { var release = json[0]; var downloadURL = release.zipball_url; $("#mongodb-download").attr("href", downloadURL); }); } </script> <a id='mongodb-download' href="">Download latest mongo</a> </BODY> </HTML> 

Para mí, esto funcionó bien:

 <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script> $(document).ready (function () { $.getJSON("https://api.github.com/repos/mongodb/mongo/tags").done(function (data) { $ ('#mongodb-download').attr ('href', data[0].zipball_url); }) }); </script> </head> <body> <a id="mongodb-download">Download the latest version of MongoDB</a> </body> </html> 

Si tiene problemas con undefined, simplemente cambie $ en jQuery y ¡todo debería funcionar!

 <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script> jQuery(document).ready (function () { jQuery.getJSON("https://api.github.com/repos/mongodb/mongo/tags").done(function (data) { jQuery('#mongodb-download').attr ('href', data[0].zipball_url); }) }); </script> </head> <body> <a id="mongodb-download">Download the latest version of MongoDB</a> </body> </html> 

Esto funciona para mí, ¡espero que ayude!