Note - branch/version is a bit blurry, but we can think of version as another 'main' branch that is being actively worked on. ex: epics 3 vs 7, both 3 and 7 are actively getting fixes.
Create Issue:
'headers': {
"linux_username": "string",
"github_username": "string"
},
'body': {
"caterNumber": "string"
"component": "string"
"issueTracker": "string", // OPTIONAL, typically provided in the component DB
}
Behavior/Flow
- Given the input information, the backend creates an issue on the appropriate issueTracker.
- Typically the issueTracker is contained in the component DB, but the user can specify issueTracker to override.
- Using information on the cater backend returns a link to new issue.
- Ideally a comment is added to both the cater and the new issue cross-referencing each other
Return
{
"error": "string"
"issueUrl": "string"
}
Add new version for active development on component - TBD:
'headers': {
"linux_username": "string",
"github_username": "string"
},
'body': {
"component": "string"
"version": "string"
}
TBD
Create new branch
'headers': {
"linux_username": "string",
"github_username": "string"
},
'body': {
"component": "string"
"branch": "string" // Name of newly created branch
}
Behavior/Flow
- User creates the new branch using the CLI
- CLI notifies the backend that the branch has been created
- Backend records to branches_in_development_schema
Returns
Checkout component
'headers': {
"linux_username": "string",
"github_username": "string"
},
'body': {
"component": "string"
"branch": "string"
}
Behavior/Flow
- Not clear that this is actually needed - but if we need 'eco' like functionality, we might implement this
Returns nothing
Push
// Any reason we can't use git directly?
Behavior/Flow
- Not clear that this is actually needed
Returns nothing
Mark complete (use when a dev is done, to notify backend the development is considered done)
'headers': {
"linux_username": "string",
"github_username": "string"
},
'body': {
"component": "string"
"branch": "string"
"isComplete": bool
}
Behavior/Flow
- Using the input information, the backend sets the developmentComplete field on the branches_in_development_schema appropriately.
Returns
Start Build (called by runner / cli)
'headers': {
"linux_username": "string",
"github_username": "string"
},
'body': {
"component": "string"
"branch": "string"
}
Behavior/Flow
- Using the information above, the backend starts an appropriate build container based on component DB.
- Passes the build command from the component DB to the container
- Returns a URL to allow tracking the build
Returns
{
"error": "string"
"url": "string" // Where to monitor the build progress
}