Skip to content

Commit a0c0ecd

Browse files
authored
Handle version input from artifact (#9969) (#9971)
* Handle version input from artifact
1 parent 9b725e7 commit a0c0ecd

File tree

4 files changed

+21
-28
lines changed

4 files changed

+21
-28
lines changed

Tasks/DownloadGitHubReleaseV0/Strings/resources.resjson/en-US/resources.resjson

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"loc.input.help.connection": "GitHub service connection",
88
"loc.input.label.userRepository": "Repository",
99
"loc.input.help.userRepository": "GitHub repository full name",
10-
"loc.input.label.defaultVersionType": "Default release version type",
10+
"loc.input.label.defaultVersionType": "Default version",
1111
"loc.input.help.defaultVersionType": "Download assets from latest release or specific release version/tag",
1212
"loc.input.label.version": "Release",
1313
"loc.input.help.version": "Release version/tag to download",
@@ -17,6 +17,5 @@
1717
"loc.input.help.downloadPath": "Path on the agent machine where the release assets will be downloaded",
1818
"loc.messages.DownloadArtifacts": "Downloading assets of release '%s' from: %s",
1919
"loc.messages.ArtifactsSuccessfullyDownloaded": "Successfully downloaded release assets to '%s'",
20-
"loc.messages.InvalidRelease": "The release Id/Tag input '%s' is not valid",
21-
"loc.messages.InvalidDefaultVersionType": "The DefaultVersionType input '%s' is not valid"
20+
"loc.messages.InvalidRelease": "The release version/tag input '%s' is not valid"
2221
}

Tasks/DownloadGitHubReleaseV0/main.ts

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,10 @@ async function main(): Promise<void> {
133133
let version = tl.getInput("version", false);
134134
let release: Release = null;
135135

136+
if (!defaultVersionType) {
137+
defaultVersionType = "latest";
138+
}
139+
136140
var token = tl.getEndpointAuthorizationParameter(connection, 'AccessToken', false);
137141
var retryLimit = parseInt(tl.getVariable("VSTS_HTTP_RETRY")) ? parseInt(tl.getVariable("VSTS_HTTP_RETRY")) : defaultRetryLimit;
138142

@@ -159,30 +163,22 @@ async function main(): Promise<void> {
159163
}
160164
}
161165

162-
if (!!defaultVersionType) {
163-
switch (defaultVersionType.toLowerCase()) {
164-
case 'latest': release = await executeWithRetries("getLatestRelease", () => getLatestRelease(repositoryName, customCredentialHandler), retryLimit).catch((reason) => { reject(reason); });
165-
break;
166-
case 'specifictag': release = await executeWithRetries("getTaggedRelease", () => getTaggedRelease(repositoryName, version, customCredentialHandler), retryLimit).catch((reason) => { reject(reason); });
167-
break;
168-
case 'specificversion': release = await executeWithRetries("getSpecificRelease", () => getSpecificRelease(repositoryName, version, customCredentialHandler), retryLimit).catch((reason) => { reject(reason); });
169-
break;
170-
default: release = null;
171-
}
172-
} else {
166+
if (defaultVersionType.toLowerCase() == 'specificversion') {
167+
release = await executeWithRetries("getSpecificRelease", () => getSpecificRelease(repositoryName, version, customCredentialHandler), retryLimit).catch((reason) => { reject(reason); });
168+
}
169+
else if (defaultVersionType.toLowerCase() == 'specifictag') {
170+
release = await executeWithRetries("getTaggedRelease", () => getTaggedRelease(repositoryName, version, customCredentialHandler), retryLimit).catch((reason) => { reject(reason); });
171+
}
172+
else {
173173
if (!!version) {
174174
release = await executeWithRetries("getTaggedRelease", () => getTaggedRelease(repositoryName, version, customCredentialHandler), retryLimit).catch((reason) => { reject(reason); });
175-
} else {
175+
}
176+
else {
176177
release = await executeWithRetries("getLatestRelease", () => getLatestRelease(repositoryName, customCredentialHandler), retryLimit).catch((reason) => { reject(reason); });
177178
}
178179
}
179180

180-
if (!release) {
181-
reject(tl.loc("InvalidDefaultVersionType", defaultVersionType));
182-
return;
183-
}
184-
185-
if (!release.Id) {
181+
if (!release || !release.Id) {
186182
reject(tl.loc("InvalidRelease", version));
187183
return;
188184
}

Tasks/DownloadGitHubReleaseV0/task.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"version": {
1212
"Major": 0,
1313
"Minor": 149,
14-
"Patch": 0
14+
"Patch": 1
1515
},
1616
"minimumAgentVersion": "1.99.0",
1717
"instanceNameFormat": "Download GitHub Release",
@@ -40,7 +40,7 @@
4040
{
4141
"name": "defaultVersionType",
4242
"type": "pickList",
43-
"label": "Default release version type",
43+
"label": "Default version",
4444
"defaultValue": "latest",
4545
"required": true,
4646
"options": {
@@ -116,7 +116,6 @@
116116
"messages": {
117117
"DownloadArtifacts": "Downloading assets of release '%s' from: %s",
118118
"ArtifactsSuccessfullyDownloaded": "Successfully downloaded release assets to '%s'",
119-
"InvalidRelease": "The release Id/Tag input '%s' is not valid",
120-
"InvalidDefaultVersionType": "The DefaultVersionType input '%s' is not valid"
119+
"InvalidRelease": "The release version/tag input '%s' is not valid"
121120
}
122121
}

Tasks/DownloadGitHubReleaseV0/task.loc.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"version": {
1212
"Major": 0,
1313
"Minor": 149,
14-
"Patch": 0
14+
"Patch": 1
1515
},
1616
"minimumAgentVersion": "1.99.0",
1717
"instanceNameFormat": "ms-resource:loc.instanceNameFormat",
@@ -116,7 +116,6 @@
116116
"messages": {
117117
"DownloadArtifacts": "ms-resource:loc.messages.DownloadArtifacts",
118118
"ArtifactsSuccessfullyDownloaded": "ms-resource:loc.messages.ArtifactsSuccessfullyDownloaded",
119-
"InvalidRelease": "ms-resource:loc.messages.InvalidRelease",
120-
"InvalidDefaultVersionType": "ms-resource:loc.messages.InvalidDefaultVersionType"
119+
"InvalidRelease": "ms-resource:loc.messages.InvalidRelease"
121120
}
122121
}

0 commit comments

Comments
 (0)