/// <summary> /// Initializes a new instance of the <see cref="SarifWorkItemFiler"> class.</see> /// </summary> /// <param name="filingUri"> /// The uri to the remote filing host. /// </param> /// <param name="filingContext"> /// A starting context object that configures the work item filing operation. In the /// current implementation, this context is copied for each SARIF file (if any) split /// from the input log and then further elaborated upon. /// </param> public SarifWorkItemFiler(Uri filingUri = null, SarifWorkItemContext filingContext = null) { this.FilingContext = filingContext ?? new SarifWorkItemContext { HostUri = filingUri }; filingUri = filingUri ?? this.FilingContext.HostUri; if (filingUri == null) { throw new ArgumentNullException(nameof(filingUri)); } ; if (filingUri != this.FilingContext.HostUri) { // Inconsistent URIs were provided in 'filingContext' and 'filingUri'; arguments. throw new InvalidOperationException(WorkItemsResources.InconsistentHostUrisProvided); } this.FilingClient = FilingClientFactory.Create(this.FilingContext.HostUri); this.Logger = ServiceProviderFactory.ServiceProvider.GetService <ILogger>(); Assembly.GetExecutingAssembly().LogIdentity(); this.FiledWorkItems = new List <WorkItemModel>(); }
/// <summary> /// Initializes a new instance of the <see cref="SarifWorkItemFiler"> class.</see> /// </summary> /// <param name="filingClient"> /// A client for communicating with a work item filing host (for example, GitHub or Azure DevOps). /// </param> /// <param name="filingContext"> /// A starting context object that configures the work item filing operation. In the /// current implementation, this context is copied for each SARIF file (if any) split /// from the input log and then further elaborated upon. /// </param> public SarifWorkItemFiler(SarifWorkItemContext filingContext) { this.FilingContext = filingContext ?? throw new ArgumentNullException(nameof(filingContext)); this.FilingClient = FilingClientFactory.Create(filingContext.ProjectUri); }