# NullPublishingActivityReporter Methods

- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Type: [NullPublishingActivityReporter](/reference/api/csharp/aspire.hosting/nullpublishingactivityreporter.md)
- Kind: `Methods`
- Members: `3`

A no-op implementation of [IPipelineActivityReporter](/reference/api/csharp/aspire.hosting/ipipelineactivityreporter.md) for testing purposes.

## CompletePublishAsync(PublishCompletionOptions?, CancellationToken)

- Name: `CompletePublishAsync(PublishCompletionOptions?, CancellationToken)`
- Returns: `Task`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Pipelines/NullPipelineActivityReporter.cs#L26)

Signals that the entire publishing process has completed.

```csharp
public sealed class NullPublishingActivityReporter
{
    public Task CompletePublishAsync(
        PublishCompletionOptions? options = null,
        CancellationToken cancellationToken = default(CancellationToken))
    {
        // ...
    }
}
```

## Parameters

- `options` ([PublishCompletionOptions?](/reference/api/csharp/aspire.hosting/publishcompletionoptions.md)) `optional`
  The options for completing the publishing process.
- `cancellationToken` (`CancellationToken`) `optional`
  The cancellation token.

## CompletePublishAsync(string?, CompletionState?, CancellationToken)

> **Obsolete:** Use CompletePublishAsync(PublishCompletionOptions?, CancellationToken) instead.

- Name: `CompletePublishAsync(string?, CompletionState?, CancellationToken)`
- Returns: `Task`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Pipelines/NullPipelineActivityReporter.cs#L33)

Signals that the entire publishing process has completed.

```csharp
public sealed class NullPublishingActivityReporter
{
    public Task CompletePublishAsync(
        string? completionMessage = null,
        CompletionState? completionState = null,
        CancellationToken cancellationToken = default(CancellationToken))
    {
        // ...
    }
}
```

## Parameters

- `completionMessage` (`string?`) `optional`
  The completion message of the publishing process.
- `completionState` ([CompletionState?](/reference/api/csharp/aspire.hosting/completionstate.md)) `optional`
  The completion state of the publishing process. When null, the state is automatically aggregated from all steps.
- `cancellationToken` (`CancellationToken`) `optional`
  The cancellation token.

## CreateStepAsync(string, CancellationToken)

- Name: `CreateStepAsync(string, CancellationToken)`
- Returns: [Task<IReportingStep>](/reference/api/csharp/aspire.hosting/ireportingstep.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Pipelines/NullPipelineActivityReporter.cs#L20)

Creates a new publishing step with the specified title.

```csharp
public sealed class NullPublishingActivityReporter
{
    public Task<IReportingStep> CreateStepAsync(
        string title,
        CancellationToken cancellationToken = default(CancellationToken))
    {
        // ...
    }
}
```

## Parameters

- `title` (`string`)
  The title of the publishing step.
- `cancellationToken` (`CancellationToken`) `optional`
  The cancellation token.

## Returns

[Task<IReportingStep>](/reference/api/csharp/aspire.hosting/ireportingstep.md) -- The publishing step
