33 lines
1.0 KiB
Bash
33 lines
1.0 KiB
Bash
#!/bin/bash
|
|
# Creates a private Git repository on Gitea using its API, adds a remote origin to the local Git repository, and pushes existing changes to the master branch.
|
|
|
|
PROJECTNAME=$(basename "$(pwd)")
|
|
|
|
echo -e "\n\e[32mSetup Git Remotely\e[0m\n";
|
|
|
|
DESC="Repo auto created by Joomla remote git script creator for $PROJECTNAME"
|
|
|
|
# Create the repository using Gitea API
|
|
RESPONSE=$(curl -s -X POST \
|
|
-H "Authorization: token $ACCESS_TOKEN" \
|
|
-H "Content-Type: application/json" \
|
|
-d "{\"name\":\"$PROJECTNAME\",\"private\": true,\"description\": \"$DESC\"}" \
|
|
$GITEA_API_URL/user/repos)
|
|
|
|
if [ -z "$RESPONSE" ] || [ "$(echo "$RESPONSE" | jq -r '.id')" = "null" ]; then
|
|
echo "Error: Failed to create $PROJECTNAME repository."
|
|
exit 1
|
|
fi
|
|
|
|
SSH_URL=$(echo "$RESPONSE" | jq -r '.ssh_url')
|
|
if [ "$SSH_URL" = "null" ]; then
|
|
echo "Error: Failed to retrieve SSH URL for $PROJECTNAME repository."
|
|
exit 1
|
|
fi
|
|
|
|
# Add new remote repository
|
|
git remote add origin "$SSH_URL"
|
|
git remote -v
|
|
|
|
# Commit existing changes
|
|
git push -u origin master |