Плагин Jenkins Git Changelog выдает ошибку «нет протокола» при общении с JIRA - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь выяснить, как получить плагин Git Changelog для получения информации о проблеме с нашего сервера JIRA.Но я получаю ошибки «без протокола», как это:

java.net.MalformedURLException: no protocol: /rest/api/2/issue/JIRA-1234?fields=parent,summary,issuetype,labels,description

Подробности следуют.Кто-нибудь случайно видел, что я делаю здесь не так?

Исследование: я получил ноль хитов, ища в StackOverflow «плагин jenkins git changelog, не выдающий ошибку протокола при разговоре с jira».Я получил один удар по «плагину jenkins git changelog без протокола», но он не имеет отношения к делу.Кажется, я не могу найти конкретных примеров вызова подключаемого модуля Git Changelog из сценария конвейера с интеграцией JIRA в любом месте онлайн.

ДЕТАЛИ

Я использую следующий синтаксис для вызова журнала изменений GitПлагин v2.11 из конвейера Jenkins v2.144:

        withCredentials([[
            $class: 'UsernamePasswordMultiBinding',
            credentialsId: 'JiraUserCredentials',
            usernameVariable: 'jiraUserName',
            passwordVariable: 'jiraUserPw'
        ]]) {
            changelogString = gitChangelog returnType: 'STRING',
                from: [type: 'COMMIT', value: startCommitHash],
                to: [type: 'COMMIT', value: endCommitHash],
                jira: [
                    issuePattern: '\\b[A-Z]([A-Z]+)-([0-9]+)\\b',
                    password: '$jiraUserPw',
                    server: 'https://my.jira.server/jira/',
                    username: '$jiraUserName'
                    ],
                template: template
        }

Шаблон усов, который я передаю, ссылается на информацию о проблемах JIRA с использованием тегов {{title}} и {{type}}.Трубопровод Дженкинса "успешно", но информация не получена из JIRA.Главный журнал Jenkins показывает следующую трассировку стека:

GET:
/rest/api/2/issue/JIRA-1234?fields=parent,summary,issuetype,labels,description
Oct 01, 2018 11:42:05 AM SEVERE se.bjurr.gitchangelog.internal.integrations.rest.RestClient doGet
Got:
null
java.net.MalformedURLException: no protocol: /rest/api/2/issue/JIRA-1234?fields=parent,summary,issuetype,labels,description
                at java.net.URL.<init>(URL.java:593)
                at java.net.URL.<init>(URL.java:490)
                at java.net.URL.<init>(URL.java:439)
                at se.bjurr.gitchangelog.internal.integrations.rest.RestClient.doGet(RestClient.java:63)
                at se.bjurr.gitchangelog.internal.integrations.rest.RestClient.access$000(RestClient.java:21)
                at se.bjurr.gitchangelog.internal.integrations.rest.RestClient$1.load(RestClient.java:35)
                at se.bjurr.gitchangelog.internal.integrations.rest.RestClient$1.load(RestClient.java:32)
                at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568)
                at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350)
                at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313)
                at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228)
                at com.google.common.cache.LocalCache.get(LocalCache.java:3965)
                at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969)
                at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829)
                at se.bjurr.gitchangelog.internal.integrations.rest.RestClient.get(RestClient.java:52)
                at se.bjurr.gitchangelog.internal.integrations.jira.DefaultJiraClient.getIssue(DefaultJiraClient.java:29)
                at se.bjurr.gitchangelog.internal.issues.IssueParser.createParsedIssue(IssueParser.java:200)
                at se.bjurr.gitchangelog.internal.issues.IssueParser.parseForIssues(IssueParser.java:82)
                at se.bjurr.gitchangelog.api.GitChangelogApi.getChangelog(GitChangelogApi.java:456)
                at se.bjurr.gitchangelog.api.GitChangelogApi.getChangelog(GitChangelogApi.java:77)
                at se.bjurr.gitchangelog.api.GitChangelogApi.render(GitChangelogApi.java:99)
                at se.bjurr.gitchangelog.api.GitChangelogApi.render(GitChangelogApi.java:123)
                at org.jenkinsci.plugins.gitchangelog.steps.GitChangelogStep.perform(GitChangelogStep.java:404)
                at org.jenkinsci.plugins.gitchangelog.steps.GitChangelogStep.access$000(GitChangelogStep.java:44)
                at org.jenkinsci.plugins.gitchangelog.steps.GitChangelogStep$1$1.call(GitChangelogStep.java:322)
                at hudson.FilePath.act(FilePath.java:1163)
                at org.jenkinsci.plugins.gitchangelog.steps.GitChangelogStep$1.run(GitChangelogStep.java:326)
                at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1$1.call(SynchronousNonBlockingStepExecution.java:50)
                at hudson.security.ACL.impersonate(ACL.java:290)
                at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1.run(SynchronousNonBlockingStepExecution.java:47)
                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at java.lang.Thread.run(Thread.java:748)

1 Ответ

0 голосов
/ 05 октября 2018

Оказывается синтаксис, который я использую выше для вызова Git Changelog Plugin, и интерфейс с JIRA в порядке.Проблема заключалась в том, что я выполнял задание на узле Jenkins, у которого не было доступа к JIRA-серверу компании.(Узел Jenkins работал в общедоступном облаке.) Как только я обновил план запуска задания на узле Jenkins, который имел доступ к серверу JIRA компании (предварительно), план смог связаться с JIRA и свернутьатрибуты JIRA выдает успешно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...