93 liens privés
J'ai besoin de récupérer le dernier commit d'un projet que je suis sur Bitbucket, c'est parti à grand coup de curl, de jq et de bash.
Nous demandons à l'API de Bitbucket des informations retournées en JSON que nous filtrerons avec jq via un pipe
curl -s -u "pseudo:mdp" "https://api.bitbucket.org/2.0/repositories/entité/projet.git/commits?pagelen=1" | jq --raw-output .values[0].date | xargs date +"%d/%m/%Y" -d
-s: silencieux
-u: le pseudo, voir dans settings/account settings:username + mot de passe
entité/projet.git: le chemin vers le projet en question
/commits: nous demandons la liste des commits
?pagelen=1: qui sont triés par date DESC, nous filtrons sur le premier résultat
à cette étape curl nous retourne un JSON que nous donnerons à manger à jq
https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commits#get
la flemme de lire le json: http://jsonselector.com/
jq: https://stedolan.github.io/jq/manual/
quelques exemples: https://www.bortzmeyer.org/jq.html
--raw-output: pas de guillemets
.values[0].date : nous voulons depuis la racine du JSON(.) dans l'attribut (values), le premier élément([0]), l'attribut(date)
xargs date +"%d/%m/%Y" -d : la date epoch précédement obtenue est donnée à date (GNU coreutils) via un pipe