Пример #1
0
        /// <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>();
        }
Пример #2
0
 /// <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);
 }