Diminuendo provides a full GitHub API proxy with OAuth integration.
OAuth
GET /api/oauth/github/authorize
Redirect to GitHub OAuth authorization page.
GET /api/oauth/github/callback
OAuth callback handler. Exchanges code for token and stores credential.
Repositories
POST /api/github/repos
Create a new repository.
{
"name": "my-project",
"description": "A new project",
"isPrivate": true,
"owner": "org-name"
}
POST /api/github/repos/:owner/:repo/fork
Fork a repository.
{
"org": "my-org"
}
Issues
POST /api/github/repos/:owner/:repo/issues
Create an issue.
{
"title": "Bug: Login fails on Safari",
"body": "Steps to reproduce...",
"labels": ["bug", "priority:high"],
"assignees": ["developer1"]
}
PATCH /api/github/repos/:owner/:repo/issues/:number
Update an issue.
POST /api/github/repos/:owner/:repo/issues/:number/comments
Add a comment to an issue.
{
"body": "This has been fixed in PR #42"
}
Pull Requests
POST /api/github/pulls
Create a pull request.
{
"owner": "org",
"repo": "project",
"title": "Fix login bug",
"body": "Resolves #123",
"head": "fix/login-bug",
"base": "main"
}
PATCH /api/github/repos/:owner/:repo/pulls/:number
Update a pull request.
POST /api/github/repos/:owner/:repo/pulls/:number/reviews
Create a review.
{
"event": "APPROVE",
"body": "LGTM!"
}
POST /api/github/repos/:owner/:repo/pulls/:number/requested_reviewers
Request reviewers.
{
"reviewers": ["reviewer1", "reviewer2"]
}
PR Command Parser
GitHub webhook comments are parsed for commands:
| Command | Action |
|---|---|
/review | Trigger agent code review |
/fix | Trigger agent to fix issues |
/approve | Approve the PR via agent |
/deploy | Trigger deployment workflow |