Gitea Client Skill - Setup Guide
This guide explains how to set up and use the Gitea Client skill for AI agent integration.
Prerequisites
- Gitea Account: You need access to the Gitea instance at https://gitea.arcodange.lab
- Personal Access Token: Create a token with appropriate permissions
- curl and jq: Required for API interactions
Setup Instructions
1. Create a Personal Access Token
- Log in to https://gitea.arcodange.lab
- Go to your profile → Settings → Applications
- Click "Generate New Token"
- Set required scopes:
read:repository- Read repository datawrite:repository- Comment on PRsread:user- Read user data
- Copy the generated token
2. Configure Authentication
Option A: Environment Variable (Simple)
export GITEA_API_TOKEN="your_personal_access_token"
Option B: Token File (Recommended for security)
echo "your_personal_access_token" > ~/.gitea_token
chmod 600 ~/.gitea_token
export GITEA_API_TOKEN_FILE="$HOME/.gitea_token"
3. Add to Your Shell Configuration
Add the export command to your ~/.bashrc, ~/.zshrc, or equivalent:
# For environment variable
echo 'export GITEA_API_TOKEN="your_token"' >> ~/.bashrc
# For token file
echo 'export GITEA_API_TOKEN_FILE="$HOME/.gitea_token"' >> ~/.bashrc
Then reload your shell:
source ~/.bashrc
Usage Examples
Test Your Setup
# List recent jobs for a workflow
./scripts/gitea-client.sh list-jobs owner repo workflow_id 5
# Check job status
./scripts/gitea-client.sh job-status owner repo job_id
Monitor a CI/CD Job
# Wait for job completion (5 minute timeout)
./scripts/gitea-client.sh wait-job owner repo job_id 300
# Get logs if failed
./scripts/gitea-client.sh job-logs owner repo job_id
Comment on a Pull Request
# Add a comment to PR #42
./scripts/gitea-client.sh comment-pr owner repo 42 "Build completed successfully!"
# Get PR status
./scripts/gitea-client.sh pr-status owner repo 42
Troubleshooting
Common Issues
401 Unauthorized
- Check your token is correct
- Verify token has required scopes
- Ensure you're using the right authentication method
404 Not Found
- Verify repository owner and name
- Check workflow ID and job ID
- Confirm PR number exists
429 Too Many Requests
- Wait and retry
- Consider rate limiting in your scripts
- Contact admin if this persists
Debugging
Enable verbose output by modifying the script:
# Change this line in gitea-client.sh
curl -s ... # Remove -s for verbose output
curl ... # Shows full request/response
Security Best Practices
- Never commit tokens to version control
- Use token files with restrictive permissions (
chmod 600) - Rotate tokens regularly
- Use minimal required scopes
- Revoke tokens when no longer needed
API Documentation
- Swagger: https://gitea.arcodange.lab/swagger.v1.json
- Gitea API Docs: https://docs.gitea.com/api/usage
Support
For issues with the Gitea instance:
- Contact: system administrators
- Instance: https://gitea.arcodange.lab
For issues with this skill:
- Check the SKILL.md for command reference
- Review this README for setup
- Examine the script for implementation details