diff --git a/src/Cake.Common.Tests/Unit/Build/AzurePipelines/AzurePipelinesCommandTests.cs b/src/Cake.Common.Tests/Unit/Build/AzurePipelines/AzurePipelinesCommandTests.cs
index b88292631a..29e2e7738d 100644
--- a/src/Cake.Common.Tests/Unit/Build/AzurePipelines/AzurePipelinesCommandTests.cs
+++ b/src/Cake.Common.Tests/Unit/Build/AzurePipelines/AzurePipelinesCommandTests.cs
@@ -155,6 +155,20 @@ public void Should_End_Group()
Assert.Contains(fixture.Writer.Entries, m => m == $"##[endgroup]");
}
+ [Fact]
+ public void Should_Command_With_CommandLine()
+ {
+ // Given
+ var fixture = new AzurePipelinesFixture();
+ var service = fixture.CreateAzurePipelinesService();
+
+ // When
+ service.Commands.Command("Example Command");
+
+ // Then
+ Assert.Contains(fixture.Writer.Entries, m => m == $"##[command]Example Command");
+ }
+
[Fact]
public void Should_Section_With_Name()
{
diff --git a/src/Cake.Common/Build/AzurePipelines/AzurePipelinesCommands.cs b/src/Cake.Common/Build/AzurePipelines/AzurePipelinesCommands.cs
index df1f554cc7..47fd368b37 100644
--- a/src/Cake.Common/Build/AzurePipelines/AzurePipelinesCommands.cs
+++ b/src/Cake.Common/Build/AzurePipelines/AzurePipelinesCommands.cs
@@ -81,6 +81,12 @@ public void EndGroup()
WriteFormatCommand("endgroup", string.Empty);
}
+ ///
+ public void Command(string commandLine)
+ {
+ WriteFormatCommand("command", commandLine);
+ }
+
///
public void Section(string name)
{
diff --git a/src/Cake.Common/Build/AzurePipelines/IAzurePipelinesCommands.cs b/src/Cake.Common/Build/AzurePipelines/IAzurePipelinesCommands.cs
index 0ca0beda1a..3d9d5a2960 100644
--- a/src/Cake.Common/Build/AzurePipelines/IAzurePipelinesCommands.cs
+++ b/src/Cake.Common/Build/AzurePipelines/IAzurePipelinesCommands.cs
@@ -50,6 +50,12 @@ public interface IAzurePipelinesCommands
///
public void EndGroup();
+ ///
+ /// Log command.
+ ///
+ /// The command-line being run.
+ public void Command(string commandLine);
+
///
/// Log section.
///