Skip to content

Commit dd8a5e4

Browse files
authored
Merge pull request #247 from phlorian/feature/gh-245
(GH-245) Add alias for GetArtifacts method on AzureDevOpsBuild class
2 parents ed4ef31 + 4204672 commit dd8a5e4

File tree

1 file changed

+49
-1
lines changed

1 file changed

+49
-1
lines changed

src/Cake.AzureDevOps/AzureDevOpsAliases.Pipelines.cs

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,5 +303,53 @@ public static IEnumerable<AzureDevOpsTimelineRecord> AzureDevOpsBuildTimelineRec
303303
new AzureDevOpsBuild(context.Log, settings, new BuildClientFactory())
304304
.GetTimelineRecords();
305305
}
306+
307+
/// <summary>
308+
/// Gets the build artifacts for an Azure Pipelines build.
309+
/// </summary>
310+
/// <param name="context">The context.</param>
311+
/// <param name="settings">Settings for getting the build.</param>
312+
/// <example>
313+
/// <para>Get build artifacts for an Azure Pipelines build:</para>
314+
/// <code>
315+
/// <![CDATA[
316+
/// var buildSettings =
317+
/// new AzureDevOpsBuildSettings(
318+
/// new Uri("http://myserver:8080/defaultcollection"),
319+
/// "MyProject",
320+
/// 42,
321+
/// AzureDevOpsAuthenticationNtlm());
322+
///
323+
/// var buildArtifacts =
324+
/// AzureDevOpsBuildArtifacts(
325+
/// buildSettings);
326+
///
327+
/// Information("Build artifacts:");
328+
/// foreach (var buildArtifact in buildArtifacts)
329+
/// {
330+
/// Information(" {0}: {1}", buildArtifact.Name, buildArtifact.Resource.Url);
331+
/// }
332+
/// ]]>
333+
/// </code>
334+
/// </example>
335+
/// <returns>The artifacts of the build.
336+
/// Returns an empty list if build could not be found and
337+
/// <see cref="AzureDevOpsBuildSettings.ThrowExceptionIfBuildCouldNotBeFound"/> is set to <c>false</c>.</returns>
338+
/// <exception cref="AzureDevOpsBuildNotFoundException">If build could not be found and
339+
/// <see cref="AzureDevOpsBuildSettings.ThrowExceptionIfBuildCouldNotBeFound"/> is set to <c>true</c>.</exception>
340+
[CakeMethodAlias]
341+
[CakeAliasCategory("Azure Pipelines")]
342+
[CakeNamespaceImport("Cake.AzureDevOps.Pipelines")]
343+
public static IEnumerable<AzureDevOpsBuildArtifact> AzureDevOpsBuildArtifacts(
344+
this ICakeContext context,
345+
AzureDevOpsBuildSettings settings)
346+
{
347+
context.NotNull(nameof(context));
348+
settings.NotNull(nameof(settings));
349+
350+
return
351+
new AzureDevOpsBuild(context.Log, settings, new BuildClientFactory())
352+
.GetArtifacts();
353+
}
306354
}
307-
}
355+
}

0 commit comments

Comments
 (0)