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(' ', '-') const branchName = `${prefix}/${issue.number}-${branch}` log(`Created branch name ${branchName} in ${repository.full_name}`) issue.body = issue.body || '' let body if(issue.body.includes('Branchname')) { body = issue.body.replaceAll(/\*\*Branchname\*\*: .+<\/code>/g, `**Branchname**: ${branchName}`) }else { body = `${issue.body}
**Branchname**: ${branchName}` } body = body.replaceAll('\n', '\\n') const path = `/repos/${repository.full_name}/issues/${issue.number}` return gitea.patch(path, { body }) .then(() => {}) .catch(reason => reason) } }