src/searchBySummary.js   A
last analyzed

Complexity

Total Complexity 3
Complexity/F 1.5

Size

Lines of Code 46
Function Count 2

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
cc 0
wmc 3
eloc 30
nc 1
mnd 1
bc 3
fnc 2
dl 0
loc 46
bpm 1.5
cpm 1.5
noi 0
c 2
b 0
f 1
rs 10

1 Function

Rating   Name   Duplication   Size   Complexity  
A searchBySummary.js ➔ ??? 0 38 1
1
'use strict'
2
3
const debug = require('debug')('jira-resource')
4
const request = require('request')
5
6
const debugResponse = require('./debugResponse.js')
7
const replaceTextFileString = require('./replaceTextFileString.js')
8
9
module.exports = (baseFileDir, source, params, callback) => {
10
    debug('Searching for issue: %s', params.summary)
11
12
    const searchUrl = source.url + '/rest/api/2/search/'
13
    const summary = replaceTextFileString(baseFileDir, params.summary)
14
    const jql = 'project="' + source.project + '" AND summary~"' + summary + '" ORDER BY id DESC'
15
16
    let search = {
17
        jql:        jql,
18
        maxResults: 1,
19
        fields:     [
20
            'key',
21
            'summary'
22
        ]
23
    }
24
25
    debug('Sending search: %s', jql)
26
27
    request({
28
        method: 'POST',
29
        uri:    searchUrl,
30
        auth:   {
31
            username: source.username,
32
            password: source.password
33
        },
34
        json:   search
35
    }, (error, response, body) => {
36
        if ( error ) {
37
            callback(error)
38
        }
39
40
        debugResponse(response)
41
42
        let issue = body.issues[0]
43
44
        callback(null, issue)
45
    })
46
}
47