Skip to content

Instantly share code, notes, and snippets.

@danielappelt
Created July 4, 2019 14:50
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danielappelt/5c1d5bf2058a7b36b5f150fe93522962 to your computer and use it in GitHub Desktop.
Save danielappelt/5c1d5bf2058a7b36b5f150fe93522962 to your computer and use it in GitHub Desktop.
Node client to programmatically create a Gitea repo (https://try.gitea.io/api/swagger#/user/createCurrentUserRepo)
'use strict';
// Setup:
// npm install node-rest-client
// Usage:
// node create_gitea_repos.js <repo name> <repo desc> [<gitea url>] [<user>] [<token>]
// You may put hardcoded values below instead of using last three arguments.
// Create a token in your user's settings at <gitea url>/user/settings/applications
var url = process.argv[4] || '',
user = process.argv[5] || '',
token = process.argv[6] || '';
// See https://www.npmjs.com/package/node-rest-client
var Client = require('node-rest-client').Client;
// Use gitea user and token for authentication
var client = new Client({user: user, password: token});
var args = {
data : { name: process.argv[2],
description: process.argv[3] },
headers: { "Content-Type": "application/json" }
};
client.post(url + '/api/v1/user/repos', args, function (data, response) {
// Print parsed response body
console.log(data);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment