goliac (1.0.0)

Download OpenAPI specification:Download

goliac is a golang REST application skeleton The base path for all the APIs is "/api/v1".

app

postFlushCache

Flush the Github remote cache

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

postResync

Ask to sync again against Github

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

getStatus

Get different status on Goliac

Responses

Response samples

Content type
application/json
{
  • "organization": "string",
  • "lastSyncTime": "string",
  • "lastSyncError": "string",
  • "nbUsers": 0,
  • "nbUsersExternal": 0,
  • "nbTeams": 0,
  • "nbRepos": 0,
  • "version": "string",
  • "detailedErrors": [
    ],
  • "detailedWarnings": [
    ],
  • "nbWorkflows": 0
}

getUsers

Get all users

Responses

Response samples

Content type
application/json
[
  • {
    }
]

getUser

Get user and associated teams and repos

path Parameters
userID
required
string non-empty

user name

Responses

Response samples

Content type
application/json
{
  • "githubid": "string",
  • "teams": [
    ],
  • "repositories": [
    ]
}

getCollaborators

Get all external collaborators

Responses

Response samples

Content type
application/json
[
  • {
    }
]

getCollaborator

Get collaborator and repos

path Parameters
collaboratorID
required
string non-empty

collaborator name

Responses

Response samples

Content type
application/json
{
  • "githubid": "string",
  • "repositories": [
    ]
}

getTeams

Get all teams

Responses

Response samples

Content type
application/json
[
  • {
    }
]

getTeam

Get team and associated users and repos

path Parameters
teamID
required
string non-empty

team name

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "path": "string",
  • "owners": [
    ],
  • "members": [
    ],
  • "repositories": [
    ]
}

getRepositories

Get all repositories

Responses

Response samples

Content type
application/json
[
  • {
    }
]

getRepository

Get repository and associated teams

path Parameters
repositoryID
required
string non-empty

repository slug name

Responses

Response samples

Content type
application/json
{
  • "organization": "string",
  • "name": "string",
  • "visibility": "string",
  • "archived": true,
  • "autoMergeAllowed": true,
  • "deleteBranchOnMerge": true,
  • "allowUpdateBranch": true,
  • "teams": [
    ],
  • "collaborators": [
    ],
  • "variables": [
    ],
  • "secrets": [
    ],
  • "environments": [
    ]
}

getStatitics

Get different statistics on Goliac

Responses

Response samples

Content type
application/json
{
  • "lastTimeToApply": "string",
  • "lastGithubApiCalls": 0,
  • "lastGithubThrottled": 0,
  • "maxTimeToApply": "string",
  • "maxGithubApiCalls": 0,
  • "maxGithubThrottled": 0
}

getUnmanaged

Get unmanaged resources metrics

Responses

Response samples

Content type
application/json
{
  • "users": [
    ],
  • "externally_managed_teams": [
    ],
  • "teams": [
    ],
  • "repos": [
    ],
  • "rulesets": [
    ]
}

health

Check if goliac is healthy

getLiveness

Check if Goliac is healthy

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

getReadiness

Check if Goliac is ready to serve

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

external

postExternalCreateRepository

Create a Repository via Goliac

Request Body schema: application/json

Repository to create

repository_name
required
string non-empty
github_token
required
string >= 40 characters
team_name
required
string non-empty
visibility
string
Default: "private"
default_branch
string non-empty
Default: "main"

Responses

Request samples

Content type
application/json
{
  • "repository_name": "string",
  • "github_token": "stringstringstringstringstringstringstri",
  • "team_name": "string",
  • "visibility": "private",
  • "default_branch": "main"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

auth

getAuthenticationLogin

Authenticate the user

query Parameters
redirect
string

redirect url

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

getAuthenticationCallback

Receive the callback from github after authentication

query Parameters
code
required
string

code received from github

state
required
string

state received from github

Responses

Response samples

Content type
application/json
{
  • "github_id": "string",
  • "name": "string"
}

getGithubUser

Get the authenticated user information

Responses

Response samples

Content type
application/json
{
  • "github_id": "string",
  • "name": "string"
}

getWorkflows

Get all PR force merge workflows

Responses

Response samples

Content type
application/json
[
  • {
    }
]

postWorkflow

Submit a workflow for execution

path Parameters
workflowName
required
string

workflow name

Request Body schema: application/json

Workflow execution properties

required
Array of objects
explanation
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "properties": [
    ],
  • "explanation": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "tracking_urls": [
    ]
}

getWorkflow

Get Workflow information

path Parameters
workflowName
required
string

workflow name

Responses

Response samples

Content type
application/json
{
  • "workflow_type": "string"
}