const gitea = require('../gitea-api') const log = (msg) => { console.log('[issueBranchName]', msg) } module.exports = { exec: (req) => { if(req.headers['x-gitea-event'] !== 'issues') { return } const { issue, repository } = req.body const isBug = issue.labels.length && !!issue.labels.find(label => label.name === 'bug') const prefix = isBug ? 'bugfix' : 'feature' const branch = issue.title.replace(/[^a-z0-9\s]/gi, '') .replaceAll(' ', '-') .toLowerCase() const branchName = `${prefix}/ISS-${issue.number}-${branch}` log(`Created branch name ${branchName} in ${repository.full_name}`) issue.body = issue.body || '' let body if(issue.body.includes('> ')) { body = issue.body.replaceAll(/> .+<\/code>/g, `> ${branchName}`) }else { body = issue.body body += '\n\n' body += `> ${branchName}` } const path = `/repos/${repository.full_name}/issues/${issue.number}` return gitea.patch(path, { body }) .then(() => {}) .catch(reason => reason) } }