autoforce
Version:
Developer Automation tool for Github / Gitlab and Salesforce projects.
61 lines (60 loc) • 2.36 kB
JSON
{
"name": "checkout-branch",
"guards": ["isGitApi"],
"arguments": ["newBranchName"],
"description": "Comando para cambiar de branch y baja cualquier cambio que este en la remote branch o en main",
"steps": [
{
"name": "valida que no sea la branch actual",
"function": "validaNoseaBranchActual",
"arguments": ["${newBranchName}"],
"description": "Valida que no sea la branch actual",
"errorMessage": "Ya esta parado sobre la branch ${newBranchName}"
},
{
"name": "chequea si hay cambios sin commit",
"function": "checkCommitPending",
"description": "Chequea si hay algo sin commitear",
"errorMessage": "Tiene modificaciones pendientes:\n ${salida}",
"onError": "commitChanges"
},
{
"name": "baja cambios en remote y en main",
"command": "git",
"arguments": ["fetch"],
"description": "Baja de remote",
"errorMessage": "No se pudo actualizar la branch, intente manualmente con git fetch"
},
{
"criteria": { "field": "existNewBranch", "value": true },
"name": "cambia de branch",
"command": "git",
"arguments": ["checkout", "${newBranchName}"],
"description": "Cambia de branch",
"errorMessage": "No se pudo mover al branch ${newBranchName}. Hagalo manualmente ${command}"
},
{
"criteria": { "field": "existNewBranch", "value": true },
"name": "baja de la remote branch",
"command": "git",
"arguments": ["pull", "--set-upstream", "origin ${newBranchName}"],
"description": "Trae contenido de branch remota",
"errorMessage": "No se pudo traer de la remote branch ${newBranchName}. Hagalo manualmente ${command}"
},
{
"criteria": { "field": "existNewBranch", "value": true },
"name": "merge de main",
"command": "git",
"arguments": ["merge main"],
"description": "Trae cualquier cambio en main",
"errorMessage": "No se pudo actualizar la branch con main, intente manualmente con git merge main"
},
{
"criteria": { "field": "existNewBranch", "value": false },
"name": "crea de branch",
"function": "createBranch",
"description": "Crea la nueva branch ${newBranchName}",
"errorMessage": "No se pudo crear la branch ${newBranchName}. Hagalo manualmente ${command}"
}
]
}