Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added environment variable functionality #117

Open
wants to merge 115 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
fad1063
1. added variable injection of artifacts url
vikulin Oct 11, 2018
b518906
1. fixed parameters saving
vikulin Oct 11, 2018
db45483
1. added help
vikulin Oct 11, 2018
6e78429
1. fixed test constructor
vikulin Oct 11, 2018
8a00444
1. added help file
vikulin Oct 11, 2018
4fd67de
1. help file fix
vikulin Oct 12, 2018
0e72621
1. cosmetic fix
vikulin Oct 12, 2018
9dcdb98
1. fixed S3 download link
vikulin Oct 12, 2018
39d8af5
Merge branch 'master' of https://github.com/jenkinsci/s3-plugin
vikulin Feb 20, 2020
e5a4159
1. import fix
vikulin Feb 20, 2020
20584d3
1. fixed deprecated code errors
vikulin May 3, 2020
bb41b6f
1. space fix
vikulin Apr 23, 2021
7fa3243
1. corrected AWS URLs
vikulin May 19, 2021
b9ea463
Merged changes from parent repo
vikulin Nov 19, 2021
783da0d
Merge branch 'jenkinsci-master' into HEAD
vikulin Nov 19, 2021
e45cc55
Merge branch 'jenkinsci-master-1'
vikulin Nov 19, 2021
61ad722
Bump bom-2.289.x from 961.vf0c9f6f59827 to 1008.vb9e22885c9cf
dependabot[bot] Nov 19, 2021
7b5b04d
Bump testcontainers from 1.16.0 to 1.16.2
dependabot[bot] Nov 19, 2021
88ff2e0
Bump aws-java-sdk-minimal from 1.12.80 to 1.12.101-300.vc09c7be9cb57
dependabot[bot] Nov 19, 2021
af33517
1. added secure domain link
vikulin Nov 19, 2021
30c0000
removed unused method
vikulin Nov 19, 2021
048353a
Update pom.xml
vikulin Nov 19, 2021
57bb0fd
Update src/main/java/hudson/plugins/s3/ClientHelper.java
vikulin Nov 19, 2021
7635157
Update src/main/java/hudson/plugins/s3/S3BucketPublisher.java
vikulin Nov 19, 2021
9d4f472
Update src/main/java/hudson/plugins/s3/S3BucketPublisher.java
vikulin Nov 19, 2021
3c1e653
Update src/main/resources/hudson/plugins/s3/Entry/config.jelly
vikulin Nov 19, 2021
64ef2a8
1. reorder import
vikulin Nov 19, 2021
1cdf580
Merge pull request #7 from vikulin/jenkinsci-master
vikulin Nov 19, 2021
a75a9f0
added .profile exclusion, import fixes
vikulin Nov 19, 2021
8502333
Merge branch 'jenkinsci-master'
vikulin Nov 19, 2021
61ed098
1. import fix
vikulin Nov 19, 2021
b3d9317
1. fixed imports
vikulin Nov 19, 2021
0cf27e3
1. fixed import
vikulin Nov 19, 2021
088bdd3
1. fixed import
vikulin Nov 19, 2021
7d4140c
1. fixed import
vikulin Nov 19, 2021
410b22f
Apply suggestions from code review
vikulin Nov 19, 2021
e484c10
1. fixed imports
vikulin Nov 19, 2021
7e4229d
1. import fixes
vikulin Nov 19, 2021
19e0b2f
Merge branch 'master' of https://github.com/vikulin/s3-plugin.git
vikulin Nov 19, 2021
ec26674
Merge branch 'master' of https://github.com/vikulin/s3-plugin.git
vikulin Nov 19, 2021
cc85fa2
1. small fixes
vikulin Nov 19, 2021
e510561
1. data structure fix
vikulin Nov 19, 2021
6bf2ddb
1. added custom enpoint support
vikulin Nov 19, 2021
85b8254
Bump plugin from 4.29 to 4.32
dependabot[bot] Dec 22, 2021
d1e4656
Bump maven-plugin from 3.13 to 3.16
dependabot[bot] Dec 23, 2021
b4d81b5
Merge pull request #9 from vikulin/dependabot/maven/org.jenkins-ci.ma…
vikulin Dec 23, 2021
b33591b
Merge pull request #8 from vikulin/dependabot/maven/org.jenkins-ci.pl…
vikulin Dec 23, 2021
f24813e
Merge pull request #6 from vikulin/dependabot/maven/org.jenkins-ci.pl…
vikulin Dec 23, 2021
6d5932c
Bump envinject from 2.3.0 to 2.4.0
dependabot[bot] Dec 23, 2021
ec71ef0
Merge pull request #10 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin Dec 23, 2021
4667101
Merge pull request #4 from vikulin/dependabot/maven/io.jenkins.tools.…
vikulin Dec 23, 2021
b47b0f2
Merge pull request #3 from vikulin/dependabot/maven/org.testcontainer…
vikulin Dec 23, 2021
a081a8e
Bump aws-java-sdk-minimal
dependabot[bot] Dec 24, 2021
b0ddf80
Merge pull request #11 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin Dec 24, 2021
2884393
Bump bom-2.289.x from 1008.vb9e22885c9cf to 1083.vb6e5d3561904
dependabot[bot] Jan 5, 2022
51fdbc2
Merge pull request #12 from vikulin/dependabot/maven/io.jenkins.tools…
vikulin Jan 5, 2022
09d5bc5
Bump bom-2.289.x from 1083.vb6e5d3561904 to 1090.v0a_33df40457a_
dependabot[bot] Jan 6, 2022
50aed46
Bump plugin from 4.32 to 4.33
dependabot[bot] Jan 6, 2022
8ddae94
Merge pull request #14 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin Jan 6, 2022
fb6cf83
Merge pull request #13 from vikulin/dependabot/maven/io.jenkins.tools…
vikulin Jan 6, 2022
4aebcce
Bump release-drafter/release-drafter from 5.15.0 to 5.16.1
dependabot[bot] Jan 13, 2022
04395b7
Merge pull request #15 from vikulin/dependabot/github_actions/release…
vikulin Jan 14, 2022
9b989e5
Bump maven-plugin from 3.16 to 3.18
dependabot[bot] Mar 1, 2022
10b9452
Bump plugin from 4.33 to 4.40
dependabot[bot] Apr 6, 2022
912a5b3
Bump testcontainers from 1.16.2 to 1.17.1
dependabot[bot] Apr 14, 2022
db474c1
Merge branch 'master' into master
alecharp May 17, 2022
c8d5cfc
Bump bom-2.289.x from 1090.v0a_33df40457a_ to 1382.v7d694476f340
dependabot[bot] May 17, 2022
1ab11b9
Bump release-drafter/release-drafter from 5.16.1 to 5.20.0
dependabot[bot] May 17, 2022
ca866d4
Bump aws-java-sdk-minimal
dependabot[bot] May 17, 2022
62ccb92
Bump testcontainers from 1.17.1 to 1.17.2
dependabot[bot] May 20, 2022
e85cffa
Merge pull request #45 from vikulin/dependabot/maven/org.testcontaine…
vikulin May 22, 2022
0349d69
Merge pull request #54 from vikulin/dependabot/github_actions/release…
vikulin May 22, 2022
38a6509
Merge pull request #55 from vikulin/dependabot/maven/io.jenkins.tools…
vikulin May 22, 2022
9822043
Merge pull request #52 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin May 22, 2022
35e6445
Bump copyartifact from 1.46.2 to 1.46.4
dependabot[bot] May 22, 2022
8273366
Bump symbol-annotation from 1.17 to 1.23
dependabot[bot] May 22, 2022
1487dcd
Merge pull request #58 from vikulin/dependabot/maven/org.jenkins-ci-s…
vikulin May 22, 2022
a563737
Merge pull request #57 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin May 22, 2022
eb4492f
Merge pull request #56 from vikulin/dependabot/maven/org.testcontaine…
vikulin May 22, 2022
0b76641
Merge pull request #43 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin May 22, 2022
43707f1
Merge pull request #34 from vikulin/dependabot/maven/org.jenkins-ci.m…
vikulin May 22, 2022
9f9ef87
Bump envinject from 2.4.0 to 2.866.v5c0403e3d4df
dependabot[bot] May 23, 2022
1e57b9d
Merge pull request #59 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin May 23, 2022
51e85eb
Bump bom-2.289.x from 1382.v7d694476f340 to 1409.v7659b_c072f18
dependabot[bot] May 27, 2022
fcc7f79
Merge pull request #60 from vikulin/dependabot/maven/io.jenkins.tools…
vikulin May 27, 2022
361a59c
Bump maven-plugin from 3.18 to 3.19
dependabot[bot] Jun 2, 2022
4ee30f1
Merge pull request #61 from vikulin/dependabot/maven/org.jenkins-ci.m…
vikulin Jun 2, 2022
09e6d9c
Bump aws-java-sdk-minimal
dependabot[bot] Jun 24, 2022
2a54c8c
Bump testcontainers from 1.17.2 to 1.17.3
dependabot[bot] Jun 29, 2022
2618a83
Bump plugin from 4.40 to 4.42
dependabot[bot] Jul 4, 2022
8c9abd2
Bump bom-2.289.x from 1409.v7659b_c072f18 to 1472.vb_65d893c9a_b_6
dependabot[bot] Jul 5, 2022
3e2d383
Merge pull request #71 from vikulin/dependabot/maven/io.jenkins.tools…
vikulin Jul 6, 2022
28575d5
Merge pull request #70 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin Jul 6, 2022
2283e27
Bump bom-2.289.x from 1472.vb_65d893c9a_b_6 to 1478.v81d3dc4f9a_43
dependabot[bot] Jul 11, 2022
c2d146c
Merge pull request #72 from vikulin/dependabot/maven/io.jenkins.tools…
vikulin Jul 11, 2022
179c90c
Bump plugin from 4.42 to 4.43.1
dependabot[bot] Jul 14, 2022
f17cd30
Merge pull request #73 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin Jul 14, 2022
d1a463a
Bump bom-2.289.x from 1478.v81d3dc4f9a_43 to 1500.ve4d05cd32975
dependabot[bot] Jul 20, 2022
a0d5ad8
Merge pull request #74 from vikulin/dependabot/maven/io.jenkins.tools…
vikulin Jul 20, 2022
41242a7
Bump plugin from 4.43.1 to 4.45
dependabot[bot] Aug 1, 2022
f75bfc4
Bump envinject from 2.866.v5c0403e3d4df to 2.875.v9b_9e962da_a_ec
dependabot[bot] Aug 2, 2022
47bd1c2
Merge pull request #76 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin Aug 2, 2022
685cb9d
Merge pull request #77 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin Aug 2, 2022
0366ef4
Bump plugin from 4.45 to 4.46
dependabot[bot] Aug 9, 2022
6739efe
Merge pull request #78 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin Aug 9, 2022
00c0d03
Bump copyartifact from 1.46.4 to 1.47
dependabot[bot] Aug 15, 2022
1732a88
Merge pull request #79 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin Aug 15, 2022
ddca990
Merge pull request #68 from vikulin/dependabot/maven/org.testcontaine…
vikulin Aug 15, 2022
4764866
Merge pull request #65 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin Aug 15, 2022
0df1573
Bump release-drafter/release-drafter from 5.20.0 to 5.20.1
dependabot[bot] Aug 16, 2022
4a623f7
Merge pull request #80 from vikulin/dependabot/github_actions/release…
vikulin Aug 16, 2022
950ff1b
Bump plugin from 4.46 to 4.47
dependabot[bot] Aug 23, 2022
172315e
Merge pull request #81 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin Aug 23, 2022
8392b43
Bump aws-java-sdk-minimal
dependabot[bot] Aug 25, 2022
6ecc873
Merge pull request #82 from vikulin/dependabot/maven/org.jenkins-ci.p…
vikulin Aug 25, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/release-drafter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ jobs:
update_release_draft:
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v5.19.0
- uses: release-drafter/release-drafter@v5.20.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
.settings
.classpath
.project
target
work
*.i*
52 changes: 23 additions & 29 deletions .project
Original file line number Diff line number Diff line change
@@ -1,29 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>s3</name>
<comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.maven.ide.eclipse.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.maven.ide.eclipse.maven2Nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
<?xml version="1.0" encoding="UTF-8"?>
vikulin marked this conversation as resolved.
Show resolved Hide resolved
<projectDescription>
<name>s3-plugin</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
19 changes: 12 additions & 7 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plugin</artifactId>
<version>4.40</version>
<version>4.47</version>
</parent>

<artifactId>s3</artifactId>
Expand Down Expand Up @@ -69,7 +69,7 @@
<dependency>
<groupId>org.jenkins-ci.plugins.aws-java-sdk</groupId>
<artifactId>aws-java-sdk-minimal</artifactId>
<version>1.12.80</version>
<version>1.12.287-357.vf82d85a_6eefd</version>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.dataformat</groupId>
Expand All @@ -84,12 +84,12 @@
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>copyartifact</artifactId>
<version>1.46.2</version>
<version>1.47</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.main</groupId>
<artifactId>maven-plugin</artifactId>
<version>3.16</version>
<version>3.19</version>
<exclusions>
<exclusion>
<groupId>commons-io</groupId>
Expand All @@ -101,10 +101,15 @@
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>structs</artifactId>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>envinject</artifactId>
<version>2.875.v9b_9e962da_a_ec</version>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<version>1.17.1</version>
<version>1.17.3</version>
<scope>test</scope>
<exclusions>
<exclusion>
Expand All @@ -124,7 +129,7 @@
<dependency>
<groupId>io.jenkins.tools.bom</groupId>
<artifactId>bom-2.289.x</artifactId>
<version>1342.v729ca_3818e88</version>
<version>1500.ve4d05cd32975</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand All @@ -136,7 +141,7 @@
<dependency>
<groupId>org.jenkins-ci</groupId>
<artifactId>symbol-annotation</artifactId>
<version>1.17</version>
<version>1.23</version>
</dependency>
</dependencies>
</dependencyManagement>
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/hudson/plugins/s3/Destination.java
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,4 @@ public static Destination newFromRun(Run run, S3Artifact artifact)
{
return newFromRun(run, artifact.getBucket(), artifact.getName(), artifact.useFullProjectName());
}
}
}
39 changes: 36 additions & 3 deletions src/main/java/hudson/plugins/s3/Entry.java
Original file line number Diff line number Diff line change
Expand Up @@ -89,12 +89,39 @@ public final class Entry implements Describable<Entry> {
* Metadata overrides
*/
public List<MetadataPair> userMetadata;

/**
* Inject pre-signed artifacts URL after upload was completed
*/
public boolean injectUrl;

/**
* Build variable where artifacts URLs will be stored
*/
public String buildVariable;


/**
* @param bucket
* @param sourceFile
* @param excludedFile
* @param storageClass
* @param selectedRegion
* @param noUploadOnFailure
* @param uploadFromSlave
* @param managedArtifacts
* @param useServerSideEncryption
* @param flatten
* @param gzipFiles
* @param keepForever
* @param showDirectlyInBrowser
* @param userMetadata
*/
@DataBoundConstructor
public Entry(String bucket, String sourceFile, String excludedFile, String storageClass, String selectedRegion,
boolean noUploadOnFailure, boolean uploadFromSlave, boolean managedArtifacts,
boolean useServerSideEncryption, boolean flatten, boolean gzipFiles, boolean keepForever,
boolean showDirectlyInBrowser, List<MetadataPair> userMetadata) {
boolean showDirectlyInBrowser, boolean injectUrl, String buildVariable, List<MetadataPair> userMetadata) {
this.bucket = bucket;
this.sourceFile = sourceFile;
this.excludedFile = excludedFile;
Expand All @@ -107,10 +134,16 @@ public Entry(String bucket, String sourceFile, String excludedFile, String stora
this.flatten = flatten;
this.gzipFiles = gzipFiles;
this.keepForever = keepForever;
this.userMetadata = userMetadata;
this.showDirectlyInBrowser = showDirectlyInBrowser;
this.injectUrl = injectUrl;
if(injectUrl) {
this.buildVariable = buildVariable;
} else {
this.buildVariable = null;
}
this.userMetadata = userMetadata;
}

vikulin marked this conversation as resolved.
Show resolved Hide resolved
@Override
public Descriptor<Entry> getDescriptor() {
return DESCRIPOR;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/hudson/plugins/s3/FingerprintRecord.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public FingerprintRecord(boolean produced, String bucket, String name, String re
}

Fingerprint addRecord(Run<?, ?> run) throws IOException {
final FingerprintMap map = Jenkins.getInstance().getFingerprintMap();
final FingerprintMap map = Jenkins.get().getFingerprintMap();
return map.getOrCreate(produced ? run : null, artifact.getName(), md5sum);
}

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/hudson/plugins/s3/S3ArtifactsAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -122,4 +122,4 @@ private String getDownloadURL(AmazonS3 client, int signedUrlExpirySeconds, Run r

return client.generatePresignedUrl(request).toExternalForm();
}
}
}
vikulin marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,4 @@ public String getDisplayName() {
public String getUrlName() {
return null;
}
}
}
40 changes: 34 additions & 6 deletions src/main/java/hudson/plugins/s3/S3BucketPublisher.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.amazonaws.AmazonClientException;
import com.amazonaws.regions.Region;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
Expand Down Expand Up @@ -37,6 +36,7 @@
import net.sf.json.JSONObject;
import org.apache.commons.lang.StringUtils;
import org.jenkinsci.Symbol;
import org.jenkinsci.plugins.envinject.EnvInjectPluginAction;
import org.kohsuke.stapler.AncestorInPath;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.QueryParameter;
Expand All @@ -51,11 +51,15 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;


public final class S3BucketPublisher extends Recorder implements SimpleBuildStep {

public static final String S3_DEFAULT_ENDPOINT = "https://s3.amazonaws.com";

private String profileName;
@Extension
Expand Down Expand Up @@ -248,7 +252,7 @@ public void perform(@Nonnull Run<?, ?> run, @Nonnull FilePath ws, @Nonnull Launc
try {
final Map<String, String> envVars = run.getEnvironment(listener);
final Map<String, String> record = Maps.newHashMap();
final List<FingerprintRecord> artifacts = new CopyOnWriteArrayList();
final List<FingerprintRecord> artifacts = new CopyOnWriteArrayList<>();

for (Entry entry : entries) {
if (entry.noUploadOnFailure && Result.FAILURE.equals(run.getResult())) {
Expand Down Expand Up @@ -301,18 +305,42 @@ public void perform(@Nonnull Run<?, ?> run, @Nonnull FilePath ws, @Nonnull Launc
fingerprintRecord.setKeepForever(entry.keepForever);
fingerprintRecord.setShowDirectlyInBrowser(entry.showDirectlyInBrowser);
}

if (entry.managedArtifacts) {
artifacts.addAll(fingerprints);
fillFingerprints(run, listener, record, fingerprints);
}
addS3ArtifactsAction(run, profile, fingerprints);
if(entry.injectUrl) {
StringBuilder links = new StringBuilder("");
final String s3Endpoint;
if (StringUtils.isNotEmpty(ClientHelper.ENDPOINT)) {
s3Endpoint = ClientHelper.ENDPOINT;
} else {
s3Endpoint = S3_DEFAULT_ENDPOINT;
}
for (FingerprintRecord fingerprintRecord : fingerprints) {
StringBuffer sb = new StringBuffer(s3Endpoint);
sb.append("/")
.append(fingerprintRecord.getArtifact().getBucket())
.append("/")
.append(fingerprintRecord.getArtifact().getName())
.append("\n");
links.append(sb.toString());
}
EnvInjectPluginAction envInjectAction = run.getAction(EnvInjectPluginAction.class);
if (envInjectAction != null) {
Map<String, String> envMap = new HashMap<String, String>();
envMap.put(entry.buildVariable, links.toString());
Set<String> set = run.getEnvironment(listener).keySet();
envInjectAction.overrideAll(set, envMap);
}
}
}

// don't bother adding actions if none of the artifacts are managed
if (!artifacts.isEmpty()) {
addS3ArtifactsAction(run, profile, artifacts);
addFingerprintAction(run, record);
}

} catch (AmazonClientException|IOException e) {
if (!isDontSetBuildResultOnFailure()) {
e.printStackTrace(listener.error("Failed to upload files"));
Expand All @@ -323,7 +351,7 @@ public void perform(@Nonnull Run<?, ?> run, @Nonnull FilePath ws, @Nonnull Launc

}
}

private void addS3ArtifactsAction(Run<?, ?> run, S3Profile profile, List<FingerprintRecord> artifacts) {
S3ArtifactsAction existingAction = run.getAction(S3ArtifactsAction.class);
if (existingAction != null) {
Expand Down
15 changes: 8 additions & 7 deletions src/main/java/hudson/plugins/s3/S3CopyArtifact.java
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ public class S3CopyArtifact extends Builder implements SimpleBuildStep {
private final Boolean flatten;
private final Boolean optional;

private static final BuildSelector DEFAULT_BUILD_SELECTOR = new StatusBuildSelector(true);
private static final BuildSelector DEFAULT_BUILD_SELECTOR = new StatusBuildSelector();

@DataBoundConstructor
public S3CopyArtifact(String projectName, BuildSelector buildSelector, String filter,
Expand Down Expand Up @@ -344,16 +344,15 @@ public FormValidation doCheckProjectName(
}
else if (value.indexOf('$') >= 0) {
result = FormValidation.warning(Messages.CopyArtifact_ParameterizedName());
}
else {
} else {
AbstractProject nearProject = AbstractProject.findNearest(value);
if (nearProject != null) {
result = FormValidation.error(
Messages.BuildTrigger_NoSuchProjectWithSuggestion(
value, nearProject.getName()));
} else {
result = FormValidation.error(
Messages.BuildTrigger_NoSuchProject(value));
Messages.BuildTrigger_NoSuchProject(value));
}
}
return result;
Expand All @@ -370,9 +369,9 @@ public String getDisplayName() {
}

public DescriptorExtensionList<BuildSelector, Descriptor<BuildSelector>> getBuildSelectors() {
final DescriptorExtensionList<BuildSelector, Descriptor<BuildSelector>> list = DescriptorExtensionList.createDescriptorList(Jenkins.getInstance(), BuildSelector.class);
final DescriptorExtensionList<BuildSelector, Descriptor<BuildSelector>> list = DescriptorExtensionList.createDescriptorList(Jenkins.get(), BuildSelector.class);
// remove from list some of the CopyArchiver build selector that we can't deal with
list.remove(WorkspaceSelector.DESCRIPTOR);
list.remove(Jenkins.get().getDescriptor());
return list;
}
}
Expand Down Expand Up @@ -448,11 +447,13 @@ private void add(String projectName, int buildNumber) {
}

@Override
public void buildEnvVars(AbstractBuild<?,?> build, EnvVars env) {
public void buildEnvironment(@Nonnull Run<?, ?> run, EnvVars env) {
if (data!=null) {
env.putAll(data);
}
}



@Override
public String getIconFileName() { return null; }
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/hudson/plugins/s3/S3Profile.java
Original file line number Diff line number Diff line change
Expand Up @@ -304,4 +304,4 @@ public String toString() {
private ProxyConfiguration getProxy() {
return Jenkins.get().proxy;
}
}
}
7 changes: 7 additions & 0 deletions src/main/resources/hudson/plugins/s3/Entry/config.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@
<f:entry field="showDirectlyInBrowser" title="Show content directly in browser">
<f:checkbox />
</f:entry>

<f:optionalBlock field="injectUrl" title="Inject artifacts URLs to variable" inline="true" checked="${instance.buildVariable != null}">
<f:entry title="Build variable" field="buildVariable">
<f:textbox/>
</f:entry>
</f:optionalBlock>

<f:entry title="Metadata tags">
<f:repeatableProperty field="userMetadata">
<f:entry title="">
Expand Down
Loading