Skip to content

Commit 4fba3f4

Browse files
committed
Add support for jira issue parameter in pipelines
1 parent a17d731 commit 4fba3f4

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

src/main/java/hudson/plugins/jira/listissuesparameter/JiraIssueParameterDefinition.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import java.util.concurrent.TimeoutException;
3333
import net.sf.json.JSONObject;
3434
import org.apache.commons.lang.StringUtils;
35+
import org.jenkinsci.Symbol;
3536
import org.kohsuke.stapler.DataBoundConstructor;
3637
import org.kohsuke.stapler.DataBoundSetter;
3738
import org.kohsuke.stapler.Stapler;
@@ -113,6 +114,7 @@ public void setAltSummaryFields(String altSummaryFields) {
113114
}
114115

115116
@Extension
117+
@Symbol("jiraIssue")
116118
public static class DescriptorImpl extends ParameterDescriptor {
117119
@Override
118120
public String getDisplayName() {
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package hudson.plugins.jira.listissuesparameter;
2+
3+
import static org.hamcrest.MatcherAssert.assertThat;
4+
import static org.hamcrest.Matchers.*;
5+
6+
import hudson.model.ParametersDefinitionProperty;
7+
import org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition;
8+
import org.jenkinsci.plugins.workflow.job.WorkflowJob;
9+
import org.junit.jupiter.api.Test;
10+
import org.jvnet.hudson.test.JenkinsRule;
11+
import org.jvnet.hudson.test.junit.jupiter.WithJenkins;
12+
13+
@WithJenkins
14+
class JiraIssueParameterTest {
15+
16+
@Test
17+
void scriptedPipeline(JenkinsRule r) throws Exception {
18+
WorkflowJob p = r.createProject(WorkflowJob.class);
19+
p.setDefinition(new CpsFlowDefinition(
20+
"""
21+
properties([
22+
parameters([
23+
jiraIssue(name: 'JIRA_ISSUE', description: 'Jira Test Description', jiraIssueFilter: 'project=PRJ')
24+
])
25+
])""",
26+
true));
27+
r.buildAndAssertSuccess(p);
28+
29+
ParametersDefinitionProperty parameters = p.getProperty(ParametersDefinitionProperty.class);
30+
assertThat(parameters, is(notNullValue()));
31+
assertThat(
32+
parameters.getParameterDefinitions(),
33+
hasItem(allOf(
34+
instanceOf(JiraIssueParameterDefinition.class),
35+
hasProperty("name", is("JIRA_ISSUE")),
36+
hasProperty("description", is("Jira Test Description")),
37+
hasProperty("jiraIssueFilter", is("project=PRJ")))));
38+
}
39+
}

0 commit comments

Comments
 (0)