Skip to content

Commit 6d0283f

Browse files
author
John Pribesh
committed
Refactors checkStatus event data assignment
1 parent 10dc04f commit 6d0283f

File tree

1 file changed

+54
-33
lines changed

1 file changed

+54
-33
lines changed

app.js

Lines changed: 54 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -38,23 +38,21 @@ http.createServer(function (req, res) {
3838
})
3939
}).listen(process.env.WEB_PORT);
4040

41-
function syncItem() {
42-
return {
43-
"issue_number": "",
44-
"jira_key": "",
45-
"issue_url": "",
46-
"smart_url": "",
47-
"contributor": "",
48-
"contributor_url": "",
49-
"title": "",
50-
"pr_branch": "",
51-
"base_branch": "",
52-
"statuses_url": "",
53-
"description": "",
54-
"repo": "",
55-
"sha": ""
56-
}
57-
}
41+
const syncItem = () => {
42+
issue_number: '',
43+
jira_key: '',
44+
issue_url: '',
45+
smart_url: '',
46+
contributor: '',
47+
contributor_url: '',
48+
title: '',
49+
pr_branch: '',
50+
base_branch: '',
51+
statuses_url: '',
52+
description: '',
53+
repo: '',
54+
sha: ''
55+
};
5856

5957
// Report error it is occurs
6058
handler.on('error', function (err) {
@@ -167,22 +165,9 @@ function getBuildStatus(newItem,repo,bambooResults,callback) {
167165

168166
function checkStatus(event,callback) {
169167
if (isNewPr(event) == true) {
170-
var newItem = new syncItem();
171-
newItem.issue_number = event.payload.number;
172-
newItem.contributor = event.payload.sender.login;
173-
newItem.repo = event.payload.repository.full_name;
174-
newItem.contributor_url = event.payload.sender.html_url;
175-
newItem.smart_url = `${event.payload.repository.full_name}#${event.payload.number}`;
176-
newItem.title = event.payload.pull_request.title;
177-
newItem.description = `${event.payload.pull_request.body} \r\n\r\nReferences: ${event.payload.repository.full_name}#${event.payload.number}`;
178-
newItem.pr_branch = event.payload.pull_request.head.ref;
179-
newItem.base_branch = event.payload.pull_request.base.ref;
180-
newItem.issue_url = event.payload.pull_request.issue_url;
181-
newItem.jiraIssue_url = "";
182-
newItem.jira_key = "";
183-
newItem.sha = event.payload.pull_request.head.sha;
184-
newItem.statuses_url = event.payload.pull_request.statuses_url;
185-
var repo = github.getRepo(newItem.repo);
168+
const newItem = buildSyncItem(event);
169+
const repo = github.getRepo(newItem.repo);
170+
186171
repo.updateStatus(newItem.sha, {
187172
state: 'pending', //The state of the status. Can be one of: pending, success, error, or failure.
188173
description: 'Checking your work...',
@@ -378,3 +363,39 @@ handler.on('pull_request', function(event){
378363
console.log('Finished processing');
379364
})
380365
});
366+
367+
function buildSyncItem(event) {
368+
const { number: issue_number, pull_request, repository, sender} = event.payload;
369+
const { full_name: repoName } = repository;
370+
const { login: contributor, html_url: contributor_url} = sender;
371+
const { body, head, issue_url, statuses_url, title } = pull_request;
372+
const smart_url = `${repoName}#${issue_number}`;
373+
const description = `
374+
${body}
375+
376+
References: ${repoName}#${issue_number}
377+
`;
378+
379+
let newItem = new syncItem();
380+
381+
const newItemData = {
382+
contributor,
383+
contributor_url,
384+
description,
385+
base_branch: base.ref,
386+
jira_key: '',
387+
jiraIssue_url: '',
388+
issue_number,
389+
issue_url,
390+
pr_branch: head.ref,
391+
repo: repoName,
392+
sha: head.sha,
393+
smart_url,
394+
statuses_url,
395+
title
396+
};
397+
398+
newItem = Object.assign(newItem, newItemData);
399+
400+
return newItem;
401+
}

0 commit comments

Comments
 (0)