Skip to content

Commit 60f29eb

Browse files
zbynekrantoniuk
andauthored
Provide pipeline names for steps and selectors (#757)
* Provide pipeline names for steps and selectors * Apply naming suggestions Co-authored-by: Radek Antoniuk <521838+rantoniuk@users.noreply.github.com> * Fix release note step name * Adjust version step names, update tests and docs --------- Co-authored-by: Radek Antoniuk <521838+rantoniuk@users.noreply.github.com>
1 parent 5d61844 commit 60f29eb

18 files changed

+65
-31
lines changed

docs/usage-examples.md

Lines changed: 36 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Usage examples
22

3-
## JiraIssueUpdater usage example
3+
## jiraCommentIssues usage example
44

55
You need keep reference to used scm.
66
As an example, you can write a flow:
@@ -9,9 +9,9 @@ As an example, you can write a flow:
99
node {
1010
def gitScm = git url: 'git@github.com:jenkinsci/jira-plugin.git', branch: 'master'
1111
sh 'make something'
12-
step([$class: 'hudson.plugins.jira.JiraIssueUpdater',
13-
issueSelector: [$class: 'hudson.plugins.jira.selector.DefaultIssueSelector'],
14-
scm: gitScm])
12+
jiraCommentIssues(
13+
issueSelector: DefaultSelector(),
14+
scm: gitScm)
1515
gitScm = null
1616
}
1717
```
@@ -21,42 +21,56 @@ Note that a pointer to scm class should be better cleared to not serialize scm o
2121
You can add some labels to issue in jira:
2222

2323
```groovy
24-
step([$class: 'hudson.plugins.jira.JiraIssueUpdater',
25-
issueSelector: [$class: 'hudson.plugins.jira.selector.DefaultIssueSelector'],
24+
jiraCommentIssues(
25+
issueSelector: DefaultSelector(),
2626
scm: gitScm,
27-
labels: [ "$version", "jenkins" ]])
27+
labels: [ "$version", "jenkins" ])
2828
```
2929

30-
## JiraIssueUpdateBuilder usage example
30+
## jiraExecuteWorkflow usage example
3131

3232
```groovy
3333
node {
34-
step([$class: 'hudson.plugins.jira.JiraIssueUpdateBuilder',
34+
jiraExecuteWorkflow(
3535
jqlSearch: "project = EX and labels = 'jenkins' and labels = '${version}'",
3636
workflowActionName: 'Resolve Issue',
37-
comment: 'comment'])
37+
comment: 'comment')
38+
}
3839
```
3940

40-
## JiraCreateReleaseNotes usage example
41+
## jiraCreateReleaseNotes usage example
4142

4243
```groovy
4344
node {
44-
wrap([$class: 'hudson.plugins.jira.JiraCreateReleaseNotes', jiraProjectKey: 'TST',
45-
jiraRelease: '1.1.1', jiraEnvironmentVariable: 'notes', jiraFilter: 'status in (Resolved, Closed)'])
46-
{
47-
//do some useful here
48-
//release notes can be found in environment variable jiraEnvironmentVariable
49-
print env.notes
50-
}
45+
jiraCreateReleaseNotes(jiraProjectKey: 'TST',
46+
jiraRelease: '1.1.1', jiraEnvironmentVariable: 'notes', jiraFilter: 'status in (Resolved, Closed)')
47+
{
48+
//do some useful here
49+
//release notes can be found in environment variable jiraEnvironmentVariable
50+
print env.notes
51+
}
52+
}
5153
```
5254

53-
## JiraReleaseVersionUpdaterBuilder usage example
55+
## jiraMarkVersionReleased usage example
5456

5557
```groovy
5658
node {
57-
step([$class: 'hudson.plugins.jira.JiraReleaseVersionUpdaterBuilder',
59+
jiraMarkVersionReleased(
5860
jiraProjectKey: 'TEST',
59-
jiraRelease: '1.1.1'])
61+
jiraRelease: '1.1.1')
62+
}
63+
```
64+
65+
## jiraUpdateIssueField usage example
66+
67+
```groovy
68+
node {
69+
jiraUpdateIssueField(
70+
issueSelector: ExplicitSelector("JIRA-123"),
71+
fieldId: "10001",
72+
fieldValue: "value"
73+
)
6074
}
6175
```
6276

@@ -78,7 +92,7 @@ Interface for Pipeline job types that simply want to post a comment e.g.:
7892

7993
```groovy
8094
node {
81-
jiraComment(issueKey: "EX-111", body: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) builded. Please go to ${env.BUILD_URL}.")
95+
jiraComment(issueKey: "EX-111", body: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) built. Please go to ${env.BUILD_URL}.")
8296
}
8397
```
8498

src/main/java/hudson/plugins/jira/JiraCreateReleaseNotes.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@
1919
import java.util.HashMap;
2020
import java.util.Map;
2121
import jenkins.tasks.SimpleBuildWrapper;
22+
import org.jenkinsci.Symbol;
2223
import org.kohsuke.stapler.DataBoundConstructor;
2324

2425
public class JiraCreateReleaseNotes extends SimpleBuildWrapper {
2526

2627
@Extension
28+
@Symbol("jiraCreateReleaseNotes")
2729
public static final class Descriptor extends BuildWrapperDescriptor {
2830

2931
@Override

src/main/java/hudson/plugins/jira/JiraIssueUpdateBuilder.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import java.util.concurrent.TimeoutException;
3131
import jenkins.tasks.SimpleBuildStep;
3232
import org.apache.commons.lang.StringUtils;
33+
import org.jenkinsci.Symbol;
3334
import org.kohsuke.stapler.DataBoundConstructor;
3435
import org.kohsuke.stapler.QueryParameter;
3536

@@ -125,6 +126,7 @@ public DescriptorImpl getDescriptor() {
125126
* Descriptor for {@link JiraIssueUpdateBuilder}.
126127
*/
127128
@Extension
129+
@Symbol("jiraExecuteWorkflow")
128130
public static final class DescriptorImpl extends BuildStepDescriptor<Builder> {
129131
/**
130132
* Performs on-the-fly validation of the form field 'Jql'.

src/main/java/hudson/plugins/jira/JiraIssueUpdater.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import java.util.List;
2626
import jenkins.model.Jenkins;
2727
import jenkins.tasks.SimpleBuildStep;
28+
import org.jenkinsci.Symbol;
2829
import org.kohsuke.stapler.DataBoundConstructor;
2930

3031
/**
@@ -116,6 +117,7 @@ public boolean endBuild() throws InterruptedException, IOException {
116117
};
117118
}
118119

120+
@Symbol("jiraCommentIssues")
119121
public static final class DescriptorImpl extends BuildStepDescriptor<Publisher> {
120122
private DescriptorImpl() {
121123
super(JiraIssueUpdater.class);

src/main/java/hudson/plugins/jira/JiraReleaseVersionUpdaterBuilder.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import hudson.tasks.Builder;
1111
import jenkins.tasks.SimpleBuildStep;
1212
import net.sf.json.JSONObject;
13+
import org.jenkinsci.Symbol;
1314
import org.kohsuke.stapler.DataBoundConstructor;
1415
import org.kohsuke.stapler.StaplerRequest2;
1516

@@ -77,6 +78,7 @@ public Descriptor<Builder> getDescriptor() {
7778
return DESCRIPTOR;
7879
}
7980

81+
@Symbol("jiraMarkVersionReleased")
8082
public static final class DescriptorImpl extends BuildStepDescriptor<Builder> {
8183

8284
private DescriptorImpl() {

src/main/java/hudson/plugins/jira/JiraVersionCreatorBuilder.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import hudson.tasks.Builder;
1111
import jenkins.tasks.SimpleBuildStep;
1212
import net.sf.json.JSONObject;
13+
import org.jenkinsci.Symbol;
1314
import org.kohsuke.stapler.DataBoundConstructor;
1415
import org.kohsuke.stapler.StaplerRequest2;
1516

@@ -70,6 +71,7 @@ public BuildStepDescriptor<Builder> getDescriptor() {
7071
@Extension
7172
public static final DescriptorImpl DESCRIPTOR = new DescriptorImpl();
7273

74+
@Symbol("jiraCreateVersion")
7375
public static class DescriptorImpl extends BuildStepDescriptor<Builder> {
7476

7577
public DescriptorImpl() {

src/main/java/hudson/plugins/jira/pipeline/IssueFieldUpdateStep.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.util.List;
2525
import java.util.Set;
2626
import jenkins.tasks.SimpleBuildStep;
27+
import org.jenkinsci.Symbol;
2728
import org.kohsuke.stapler.DataBoundConstructor;
2829
import org.kohsuke.stapler.DataBoundSetter;
2930
import org.kohsuke.stapler.QueryParameter;
@@ -161,6 +162,7 @@ public DescriptorImpl getDescriptor() {
161162
}
162163

163164
@Extension
165+
@Symbol("jiraUpdateIssueField")
164166
public static class DescriptorImpl extends BuildStepDescriptor<Builder> {
165167

166168
public FormValidation doCheckField_id(@QueryParameter String value) throws IOException, ServletException {

src/main/java/hudson/plugins/jira/selector/DefaultIssueSelector.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import java.util.regex.Matcher;
2626
import java.util.regex.Pattern;
2727
import org.apache.commons.lang.StringUtils;
28+
import org.jenkinsci.Symbol;
2829
import org.kohsuke.stapler.DataBoundConstructor;
2930

3031
public class DefaultIssueSelector extends AbstractIssueSelector {
@@ -46,6 +47,7 @@ public Set<String> findIssueIds(
4647
}
4748

4849
@Extension
50+
@Symbol("DefaultSelector")
4951
public static final class DescriptorImpl extends Descriptor<AbstractIssueSelector> {
5052

5153
@Override

src/main/java/hudson/plugins/jira/selector/ExplicitIssueSelector.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import java.util.List;
1717
import java.util.Set;
1818
import org.apache.commons.lang.StringUtils;
19+
import org.jenkinsci.Symbol;
1920
import org.kohsuke.stapler.DataBoundConstructor;
2021

2122
public class ExplicitIssueSelector extends AbstractIssueSelector {
@@ -63,6 +64,7 @@ public Set<String> findIssueIds(Run<?, ?> run, JiraSite site, TaskListener liste
6364
}
6465

6566
@Extension
67+
@Symbol("ExplicitSelector")
6668
public static final class DescriptorImpl extends Descriptor<AbstractIssueSelector> {
6769
@Override
6870
public String getDisplayName() {

src/main/java/hudson/plugins/jira/selector/JqlIssueSelector.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import java.util.List;
1717
import java.util.Set;
1818
import java.util.concurrent.TimeoutException;
19+
import org.jenkinsci.Symbol;
1920
import org.kohsuke.stapler.DataBoundConstructor;
2021

2122
public class JqlIssueSelector extends AbstractIssueSelector {
@@ -55,13 +56,14 @@ public Set<String> findIssueIds(Run<?, ?> run, JiraSite site, TaskListener liste
5556
}
5657

5758
// deduplication
58-
return new HashSet(issueKeys);
59+
return new HashSet<>(issueKeys);
5960
} catch (TimeoutException e) {
6061
throw new IllegalStateException("Can't open rest session to Jira site " + site, e);
6162
}
6263
}
6364

6465
@Extension
66+
@Symbol("JqlSelector")
6567
public static final class DescriptorImpl extends Descriptor<AbstractIssueSelector> {
6668
@Override
6769
public String getDisplayName() {

0 commit comments

Comments
 (0)