From 2cd16c9960ef1aec6f8322f1aff67caa03d82cb6 Mon Sep 17 00:00:00 2001 From: gwen Date: Tue, 7 Jan 2025 10:18:03 +0100 Subject: [PATCH] api --- api/createRepo.js | 17 +++++++++++++ api/create_one_repo.py | 54 ++++++++++++++++++++++++++++++++++++++++++ api/curl.txt | 20 ++++++++++++++++ api/curl_post.sh | 5 ++++ 4 files changed, 96 insertions(+) create mode 100644 api/createRepo.js create mode 100644 api/create_one_repo.py create mode 100644 api/curl.txt create mode 100644 api/curl_post.sh diff --git a/api/createRepo.js b/api/createRepo.js new file mode 100644 index 0000000..60a41a9 --- /dev/null +++ b/api/createRepo.js @@ -0,0 +1,17 @@ +let headers = new Headers(); +headers.append("Authorization", "Bearer 53fee4e31a06d538bd18562e7eb3450ce714e63f"); + +var formdata = new FormData(); +formdata.append("name", "exercices"); + +var options = { + method: 'POST', + headers: headers, + body: formdata, + redirect: 'follow' +}; + +fetch("https://forge.gwenaelremond.fr/api/v1/user/repos", options) + .then(response => response.text()) + .then(result => console.log(result)) + .catch(error => console.log('error', error)); \ No newline at end of file diff --git a/api/create_one_repo.py b/api/create_one_repo.py new file mode 100644 index 0000000..d7ffd81 --- /dev/null +++ b/api/create_one_repo.py @@ -0,0 +1,54 @@ +""" +#  XXX TODO : fournir la bonne URL +#  XXX TODO : fournir le bon application token + +sur la page du compte utilisateur de (admin) +la page de configuration **perso** /user/settings + +> settings > application > générer un jeton d'authentification +http://forge:port/user/settings/applications + +API doc swagger : + +https://forge.gwenaelremond.fr/api/swagger/ +https:///api/swagger#/admin/adminCreateUser + +il y a: + +- créer un repo comme admin +- créer un repo comme user + https://forge.gwenaelremond.fr/api/v1/user/repos + +""" +# ______________________________________________________________________________ +import requests + +# ______________________________________________________________________________ +# configuration +"repo name" +name = "essai" +url = 'https://forge.gwenaelremond.fr/api/v1/user/repos' +token = 'XXX' +# ______________________________________________________________________________ + +headers = { + 'accept': 'application/json', + 'Content-Type': 'application/json; indent=4', + 'Authorization': 'token {}'.format(token) + } +#{'Authorization': 'token myToken'} +#'X-Auth-Token': token +#{ +# "default_branch": "string", +# "description": "string", +# "name": "string", +# "readme": "string", +#} +data = { + "description": name, + "default_branch": "main", + "name": name, + "private": False, +} +response = requests.post(url, headers=headers, json=data) +print("réponse : ", response.json()) diff --git a/api/curl.txt b/api/curl.txt new file mode 100644 index 0000000..335e1c4 --- /dev/null +++ b/api/curl.txt @@ -0,0 +1,20 @@ +""" +curl -X 'POST' \ + 'https://forge.gwenaelremond.fr/api/v1/admin/users' \ + -H 'accept: application/json' \ + -H 'Authorization: token XXXX'\ + -H 'Content-Type: application/json' \ + -d '{ + "email": "user@example.com", + "full_name": "dupont", + "login_name": "dupont", + "must_change_password": true, + "password": "blabla%TulPoint45", + "restricted": true, + "send_notify": false, + "source_id": 0, + "username": "dupont" + +}' +""" + diff --git a/api/curl_post.sh b/api/curl_post.sh new file mode 100644 index 0000000..546bde8 --- /dev/null +++ b/api/curl_post.sh @@ -0,0 +1,5 @@ +# token, ou bien bearer +#"Authorization: token e4d2bac2fb0e463b1e79997b108b91fe7de144d5" +#"Authorization: bearer e4d2bac2fb0e463b1e79997b108b91fe7de144d5" + +curl -X POST "https://forge.gwenaelremond.fr/api/v1/user/repos" -H "accept: application/json" -H "Authorization: token f2b21b62ceb91d9cd561278545638a053bfce498" -H "Content-Type: application/json" -d '{ "auto_init": true, "default_branch": "main", "description": "reponses aux exercices et tp", "name": "exercices", "private": false, "readme": "Default"}' -i