Add support for jira_issue_updater

Change-Id: I7ca54752e12540ef2de2d8d888da5e79ee4345e5
This commit is contained in:
Yolande Amate 2017-08-24 01:55:06 +01:00
parent 5541b319bc
commit 024db19793
5 changed files with 109 additions and 0 deletions

View File

@ -1728,6 +1728,61 @@ def maven_builder(registry, xml_parent, data):
convert_mapping_to_xml(maven, data, mapping, fail_required=True) convert_mapping_to_xml(maven, data, mapping, fail_required=True)
def jira_issue_updater(registry, xml_parent, data):
"""yaml: jenkins-jira-issue-updater
Updates issues in Atlassian JIRA as part of a Jenkins job.
Requires the Jenkins :jenkins-wiki:`Jira Issue Updater Plugin
<Jira+Issue+Updater+Plugin>`.
:arg str base-url: The base url of the rest API. (default '')
:arg str username: The Jira username (required)
:arg str password: The Jira password (required)
:arg str jql: The JQL used to select the issues to update. (required)
:arg str workflow: The Name of the workflow action to be executed.
(default '')
:arg str comment: The Jira comment to be added. (default '')
:arg str custom-Id: The Jira custom field to be edited. (default '')
:arg str custom-value: Jira custom field value. (default '')
:arg bool fail-if-error: Fail this build if JQL returns error.
((default false)
:arg bool fail-if-no-match: Fail this build if no issues are matched.
(default false)
:arg bool fail-if-no-connection: Fail this build if can't connect to Jira.
(default false)
Minimal Example:
.. literalinclude::
/../../tests/builders/fixtures/jenkins-jira-issue-updater-minimal.yaml
:language: yaml
Full Example:
.. literalinclude::
/../../tests/builders/fixtures/jenkins-jira-issue-updater-full.yaml
:language: yaml
"""
issue_updater = XML.SubElement(xml_parent, 'info.bluefloyd.jenkins.'
'IssueUpdatesBuilder')
issue_updater.set('plugin', 'jenkins-jira-issue-updater')
mapping = [
('base-url', 'restAPIUrl', ''),
('username', 'userName', None),
('password', 'password', None),
('jql', 'jql', None),
('workflow', 'workflowActionName', ''),
('comment', 'comment', ''),
('custom-Id', 'customFieldId', ''),
('custom-value', 'customFieldValue', ''),
('fail-if-error', 'failIfJqlFails', False),
('fail-if-no-match', 'failIfNoIssuesReturned', False),
('fail-if-no-connection', 'failIfNoJiraConnection', False)
]
convert_mapping_to_xml(issue_updater, data, mapping, fail_required=True)
def maven_target(registry, xml_parent, data): def maven_target(registry, xml_parent, data):
"""yaml: maven-target """yaml: maven-target
Execute top-level Maven targets. Execute top-level Maven targets.

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<builders>
<info.bluefloyd.jenkins.IssueUpdatesBuilder plugin="jenkins-jira-issue-updater">
<restAPIUrl>url</restAPIUrl>
<userName>your-username</userName>
<password>your-password</password>
<jql>project-key</jql>
<workflowActionName>workflow-name</workflowActionName>
<comment>comment</comment>
<customFieldId>ID</customFieldId>
<customFieldValue>value</customFieldValue>
<failIfJqlFails>true</failIfJqlFails>
<failIfNoIssuesReturned>true</failIfNoIssuesReturned>
<failIfNoJiraConnection>true</failIfNoJiraConnection>
</info.bluefloyd.jenkins.IssueUpdatesBuilder>
</builders>
</project>

View File

@ -0,0 +1,13 @@
builders:
- jenkins-jira-issue-updater:
base-url: url
username: your-username
password: your-password
jql: project-key
workflow: workflow-name
comment: comment
custom-Id: ID
custom-value: value
fail-if-error: true
fail-if-no-match: true
fail-if-no-connection: true

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<builders>
<info.bluefloyd.jenkins.IssueUpdatesBuilder plugin="jenkins-jira-issue-updater">
<restAPIUrl/>
<userName>Username</userName>
<password>Password</password>
<jql>jql</jql>
<workflowActionName/>
<comment/>
<customFieldId/>
<customFieldValue/>
<failIfJqlFails>false</failIfJqlFails>
<failIfNoIssuesReturned>false</failIfNoIssuesReturned>
<failIfNoJiraConnection>false</failIfNoJiraConnection>
</info.bluefloyd.jenkins.IssueUpdatesBuilder>
</builders>
</project>

View File

@ -0,0 +1,5 @@
builders:
- jenkins-jira-issue-updater:
username: 'Username'
password: 'Password'
jql: 'jql'