@harnessio/react-sto-core-client 0.3.15 → 0.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
- import { UseQueryOptions } from '@tanstack/react-query';
1
+ import { UseMutationOptions } from '@tanstack/react-query';
2
2
  import type { FrontendSecurityReviewResponseBody } from '../schemas/FrontendSecurityReviewResponseBody';
3
3
  import type { NotFound } from '../schemas/NotFound';
4
4
  import type { ResponseWithPagination } from '../helpers';
5
5
  import { FetcherOptions } from '../../../../fetcher/index.js';
6
- export interface FrontendGlobalExemptionsQueryQueryParams {
6
+ export interface FrontendGlobalExemptionsMutationQueryParams {
7
7
  /**
8
8
  * Harness Account ID
9
9
  * @example "abcdef1234567890ghijkl"
@@ -33,11 +33,6 @@ export interface FrontendGlobalExemptionsQueryQueryParams {
33
33
  * @example 50
34
34
  */
35
35
  pageSize?: number;
36
- /**
37
- * Comma-separated list of organization:project pairs
38
- * @example "org1:project1,org1:project2"
39
- */
40
- matchesProject?: string;
41
36
  /**
42
37
  * Exemption status
43
38
  * @example "Approved"
@@ -49,20 +44,28 @@ export interface FrontendGlobalExemptionsQueryQueryParams {
49
44
  */
50
45
  search?: string;
51
46
  }
52
- export interface FrontendGlobalExemptionsQueryHeaderParams {
47
+ export interface FrontendGlobalExemptionsMutationHeaderParams {
53
48
  /**
54
49
  * Harness personal or service access token
55
50
  * @example "Exercitationem ipsam vel quasi aut impedit eius."
56
51
  */
57
52
  'X-Api-Key'?: string;
58
53
  }
54
+ export type FrontendGlobalExemptionsRequestBody = {
55
+ /**
56
+ * Comma-separated list of organization:project pairs
57
+ * @example "org1:project1,org1:project2"
58
+ */
59
+ matchesProject?: string;
60
+ };
59
61
  export type FrontendGlobalExemptionsOkResponse = ResponseWithPagination<FrontendSecurityReviewResponseBody>;
60
62
  export type FrontendGlobalExemptionsErrorResponse = NotFound;
61
- export interface FrontendGlobalExemptionsProps extends Omit<FetcherOptions<FrontendGlobalExemptionsQueryQueryParams, unknown, FrontendGlobalExemptionsQueryHeaderParams>, 'url'> {
62
- queryParams: FrontendGlobalExemptionsQueryQueryParams;
63
+ export interface FrontendGlobalExemptionsProps extends Omit<FetcherOptions<FrontendGlobalExemptionsMutationQueryParams, FrontendGlobalExemptionsRequestBody, FrontendGlobalExemptionsMutationHeaderParams>, 'url'> {
64
+ queryParams: FrontendGlobalExemptionsMutationQueryParams;
65
+ body: FrontendGlobalExemptionsRequestBody;
63
66
  }
64
67
  export declare function frontendGlobalExemptions(props: FrontendGlobalExemptionsProps): Promise<FrontendGlobalExemptionsOkResponse>;
65
68
  /**
66
69
  * Provides data needed by the Global Exemptions Security Review page
67
70
  */
68
- export declare function useFrontendGlobalExemptionsQuery(props: FrontendGlobalExemptionsProps, options?: Omit<UseQueryOptions<FrontendGlobalExemptionsOkResponse, FrontendGlobalExemptionsErrorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<FrontendGlobalExemptionsOkResponse, NotFound>;
71
+ export declare function useFrontendGlobalExemptionsMutation(options?: Omit<UseMutationOptions<FrontendGlobalExemptionsOkResponse, FrontendGlobalExemptionsErrorResponse, FrontendGlobalExemptionsProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<FrontendGlobalExemptionsOkResponse, NotFound, FrontendGlobalExemptionsProps, unknown>;
@@ -1,14 +1,14 @@
1
1
  /* eslint-disable */
2
2
  // This code is autogenerated using @harnessio/oats-cli.
3
3
  // Please do not modify this code directly.
4
- import { useQuery } from '@tanstack/react-query';
4
+ import { useMutation } from '@tanstack/react-query';
5
5
  import { fetcher } from '../../../../fetcher/index.js';
6
6
  export function frontendGlobalExemptions(props) {
7
- return fetcher(Object.assign({ url: `/api/v2/frontend/exemptions`, method: 'GET' }, props));
7
+ return fetcher(Object.assign({ url: `/api/v2/frontend/exemptions`, method: 'POST' }, props));
8
8
  }
9
9
  /**
10
10
  * Provides data needed by the Global Exemptions Security Review page
11
11
  */
12
- export function useFrontendGlobalExemptionsQuery(props, options) {
13
- return useQuery(['Frontend#GlobalExemptions', props.queryParams], ({ signal }) => frontendGlobalExemptions(Object.assign(Object.assign({}, props), { signal })), options);
12
+ export function useFrontendGlobalExemptionsMutation(options) {
13
+ return useMutation((mutateProps) => frontendGlobalExemptions(mutateProps), options);
14
14
  }
@@ -0,0 +1,43 @@
1
+ import { UseQueryOptions } from '@tanstack/react-query';
2
+ import type { ProductsListProductsResponseBody } from '../schemas/ProductsListProductsResponseBody';
3
+ import type { NotFound } from '../schemas/NotFound';
4
+ import type { ResponseWithPagination } from '../helpers';
5
+ import { FetcherOptions } from '../../../../fetcher/index.js';
6
+ export interface ProductsListProductsQueryQueryParams {
7
+ /**
8
+ * Page number to fetch (starting from 0)
9
+ * @format int64
10
+ * @default 0
11
+ * @example 4
12
+ */
13
+ page?: number;
14
+ /**
15
+ * Number of results per page
16
+ * @format int64
17
+ * @default 30
18
+ * @example 50
19
+ */
20
+ pageSize?: number;
21
+ /**
22
+ * Resource name
23
+ * @example "NodeGoat"
24
+ */
25
+ name?: string;
26
+ }
27
+ export interface ProductsListProductsQueryHeaderParams {
28
+ /**
29
+ * Harness personal or service access token
30
+ * @example "Officiis aspernatur sint sunt magni ad."
31
+ */
32
+ 'X-Api-Key'?: string;
33
+ }
34
+ export type ProductsListProductsOkResponse = ResponseWithPagination<ProductsListProductsResponseBody>;
35
+ export type ProductsListProductsErrorResponse = NotFound;
36
+ export interface ProductsListProductsProps extends Omit<FetcherOptions<ProductsListProductsQueryQueryParams, unknown, ProductsListProductsQueryHeaderParams>, 'url'> {
37
+ queryParams: ProductsListProductsQueryQueryParams;
38
+ }
39
+ export declare function productsListProducts(props: ProductsListProductsProps): Promise<ProductsListProductsOkResponse>;
40
+ /**
41
+ * List a collection of Scan Tools
42
+ */
43
+ export declare function useProductsListProductsQuery(props: ProductsListProductsProps, options?: Omit<UseQueryOptions<ProductsListProductsOkResponse, ProductsListProductsErrorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<ProductsListProductsOkResponse, NotFound>;
@@ -0,0 +1,14 @@
1
+ /* eslint-disable */
2
+ // This code is autogenerated using @harnessio/oats-cli.
3
+ // Please do not modify this code directly.
4
+ import { useQuery } from '@tanstack/react-query';
5
+ import { fetcher } from '../../../../fetcher/index.js';
6
+ export function productsListProducts(props) {
7
+ return fetcher(Object.assign({ url: `/api/v2/products`, method: 'GET' }, props));
8
+ }
9
+ /**
10
+ * List a collection of Scan Tools
11
+ */
12
+ export function useProductsListProductsQuery(props, options) {
13
+ return useQuery(['Products#ListProducts', props.queryParams], ({ signal }) => productsListProducts(Object.assign(Object.assign({}, props), { signal })), options);
14
+ }
@@ -23,8 +23,8 @@ export type { FrontendAllIssuesOccurrenceDetailsErrorResponse, FrontendAllIssues
23
23
  export { frontendAllIssuesOccurrenceDetails, useFrontendAllIssuesOccurrenceDetailsQuery, } from './hooks/useFrontendAllIssuesOccurrenceDetailsQuery';
24
24
  export type { FrontendExpiringExemptionsErrorResponse, FrontendExpiringExemptionsOkResponse, FrontendExpiringExemptionsProps, FrontendExpiringExemptionsQueryPathParams, FrontendExpiringExemptionsQueryQueryParams, } from './hooks/useFrontendExpiringExemptionsQuery';
25
25
  export { frontendExpiringExemptions, useFrontendExpiringExemptionsQuery, } from './hooks/useFrontendExpiringExemptionsQuery';
26
- export type { FrontendGlobalExemptionsErrorResponse, FrontendGlobalExemptionsOkResponse, FrontendGlobalExemptionsProps, FrontendGlobalExemptionsQueryQueryParams, } from './hooks/useFrontendGlobalExemptionsQuery';
27
- export { frontendGlobalExemptions, useFrontendGlobalExemptionsQuery, } from './hooks/useFrontendGlobalExemptionsQuery';
26
+ export type { FrontendGlobalExemptionsErrorResponse, FrontendGlobalExemptionsMutationQueryParams, FrontendGlobalExemptionsOkResponse, FrontendGlobalExemptionsProps, FrontendGlobalExemptionsRequestBody, } from './hooks/useFrontendGlobalExemptionsMutation';
27
+ export { frontendGlobalExemptions, useFrontendGlobalExemptionsMutation, } from './hooks/useFrontendGlobalExemptionsMutation';
28
28
  export type { FrontendImpactedTargetsForExemptionErrorResponse, FrontendImpactedTargetsForExemptionOkResponse, FrontendImpactedTargetsForExemptionProps, FrontendImpactedTargetsForExemptionQueryPathParams, FrontendImpactedTargetsForExemptionQueryQueryParams, } from './hooks/useFrontendImpactedTargetsForExemptionQuery';
29
29
  export { frontendImpactedTargetsForExemption, useFrontendImpactedTargetsForExemptionQuery, } from './hooks/useFrontendImpactedTargetsForExemptionQuery';
30
30
  export type { FrontendIssueForExemptionErrorResponse, FrontendIssueForExemptionOkResponse, FrontendIssueForExemptionProps, FrontendIssueForExemptionQueryPathParams, FrontendIssueForExemptionQueryQueryParams, } from './hooks/useFrontendIssueForExemptionQuery';
@@ -51,6 +51,8 @@ export type { IssuesFindIssueByIdErrorResponse, IssuesFindIssueByIdOkResponse, I
51
51
  export { issuesFindIssueById, useIssuesFindIssueByIdQuery, } from './hooks/useIssuesFindIssueByIdQuery';
52
52
  export type { IssuesIssuesAugmentRemediationErrorResponse, IssuesIssuesAugmentRemediationMutationPathParams, IssuesIssuesAugmentRemediationMutationQueryParams, IssuesIssuesAugmentRemediationOkResponse, IssuesIssuesAugmentRemediationProps, IssuesIssuesAugmentRemediationRequestBody, } from './hooks/useIssuesIssuesAugmentRemediationMutation';
53
53
  export { issuesIssuesAugmentRemediation, useIssuesIssuesAugmentRemediationMutation, } from './hooks/useIssuesIssuesAugmentRemediationMutation';
54
+ export type { ProductsListProductsErrorResponse, ProductsListProductsOkResponse, ProductsListProductsProps, ProductsListProductsQueryQueryParams, } from './hooks/useProductsListProductsQuery';
55
+ export { productsListProducts, useProductsListProductsQuery, } from './hooks/useProductsListProductsQuery';
54
56
  export type { PullRequestsCreatePullRequestErrorResponse, PullRequestsCreatePullRequestMutationQueryParams, PullRequestsCreatePullRequestOkResponse, PullRequestsCreatePullRequestProps, PullRequestsCreatePullRequestRequestBody, } from './hooks/usePullRequestsCreatePullRequestMutation';
55
57
  export { pullRequestsCreatePullRequest, usePullRequestsCreatePullRequestMutation, } from './hooks/usePullRequestsCreatePullRequestMutation';
56
58
  export type { PullRequestsGetPullRequestCorrelationErrorResponse, PullRequestsGetPullRequestCorrelationOkResponse, PullRequestsGetPullRequestCorrelationProps, PullRequestsGetPullRequestCorrelationQueryQueryParams, } from './hooks/usePullRequestsGetPullRequestCorrelationQuery';
@@ -123,6 +125,8 @@ export type { PipelineSecurityCounts } from './schemas/PipelineSecurityCounts';
123
125
  export type { PipelineSecurityIssuesCsvResponseBody } from './schemas/PipelineSecurityIssuesCsvResponseBody';
124
126
  export type { PipelineSecurityIssuesResult } from './schemas/PipelineSecurityIssuesResult';
125
127
  export type { PipelineSecurityStepsResult } from './schemas/PipelineSecurityStepsResult';
128
+ export type { Product } from './schemas/Product';
129
+ export type { ProductsListProductsResponseBody } from './schemas/ProductsListProductsResponseBody';
126
130
  export type { PromoteExemptionRequestBody } from './schemas/PromoteExemptionRequestBody';
127
131
  export type { PullRequestCorrelationResult } from './schemas/PullRequestCorrelationResult';
128
132
  export type { PullRequestResult } from './schemas/PullRequestResult';
@@ -10,7 +10,7 @@ export { frontendAllIssuesFilters, useFrontendAllIssuesFiltersQuery, } from './h
10
10
  export { frontendAllIssuesList, useFrontendAllIssuesListQuery, } from './hooks/useFrontendAllIssuesListQuery';
11
11
  export { frontendAllIssuesOccurrenceDetails, useFrontendAllIssuesOccurrenceDetailsQuery, } from './hooks/useFrontendAllIssuesOccurrenceDetailsQuery';
12
12
  export { frontendExpiringExemptions, useFrontendExpiringExemptionsQuery, } from './hooks/useFrontendExpiringExemptionsQuery';
13
- export { frontendGlobalExemptions, useFrontendGlobalExemptionsQuery, } from './hooks/useFrontendGlobalExemptionsQuery';
13
+ export { frontendGlobalExemptions, useFrontendGlobalExemptionsMutation, } from './hooks/useFrontendGlobalExemptionsMutation';
14
14
  export { frontendImpactedTargetsForExemption, useFrontendImpactedTargetsForExemptionQuery, } from './hooks/useFrontendImpactedTargetsForExemptionQuery';
15
15
  export { frontendIssueForExemption, useFrontendIssueForExemptionQuery, } from './hooks/useFrontendIssueForExemptionQuery';
16
16
  export { frontendIssueSeverityChange, useFrontendIssueSeverityChangeQuery, } from './hooks/useFrontendIssueSeverityChangeQuery';
@@ -24,6 +24,7 @@ export { frontendTestTargets, useFrontendTestTargetsQuery, } from './hooks/useFr
24
24
  export { frontendUpdateTestTargetVariants, useFrontendUpdateTestTargetVariantsMutation, } from './hooks/useFrontendUpdateTestTargetVariantsMutation';
25
25
  export { issuesFindIssueById, useIssuesFindIssueByIdQuery, } from './hooks/useIssuesFindIssueByIdQuery';
26
26
  export { issuesIssuesAugmentRemediation, useIssuesIssuesAugmentRemediationMutation, } from './hooks/useIssuesIssuesAugmentRemediationMutation';
27
+ export { productsListProducts, useProductsListProductsQuery, } from './hooks/useProductsListProductsQuery';
27
28
  export { pullRequestsCreatePullRequest, usePullRequestsCreatePullRequestMutation, } from './hooks/usePullRequestsCreatePullRequestMutation';
28
29
  export { pullRequestsGetPullRequestCorrelation, usePullRequestsGetPullRequestCorrelationQuery, } from './hooks/usePullRequestsGetPullRequestCorrelationQuery';
29
30
  export { pullRequestsUpdatePullRequest, usePullRequestsUpdatePullRequestMutation, } from './hooks/usePullRequestsUpdatePullRequestMutation';
@@ -2,7 +2,7 @@ import type { ImpactedTarget } from '../schemas/ImpactedTarget';
2
2
  import type { Pagination } from '../schemas/Pagination';
3
3
  import type { RefIds } from '../schemas/RefIds';
4
4
  /**
5
- * @example {"description":"At quia est fugit.","impactedTargets":[{"exemptionId":"abcdef1234567890ghijkl","exemptionStatus":"Atque distinctio dolor.","id":"target1111111111111111","lastDetected":1634836529,"name":"The Target Name","numOccurrences":10,"userId":"Et incidunt aspernatur.","variantName":"Deserunt error eos modi occaecati corporis."},{"exemptionId":"abcdef1234567890ghijkl","exemptionStatus":"Atque distinctio dolor.","id":"target1111111111111111","lastDetected":1634836529,"name":"The Target Name","numOccurrences":10,"userId":"Et incidunt aspernatur.","variantName":"Deserunt error eos modi occaecati corporis."},{"exemptionId":"abcdef1234567890ghijkl","exemptionStatus":"Atque distinctio dolor.","id":"target1111111111111111","lastDetected":1634836529,"name":"The Target Name","numOccurrences":10,"userId":"Et incidunt aspernatur.","variantName":"Deserunt error eos modi occaecati corporis."}],"issueType":"Fuga vitae animi.","lastDetected":1634836529,"override":{"originalSeverity":"medium","reason":"snyk"},"pagination":{"link":"","page":4,"pageSize":20,"totalItems":230,"totalPages":12},"referenceIdentifiers":[{"id":"Unde deserunt dicta quos eligendi est.","type":"Odit cumque dolores ullam maiores quas."},{"id":"Unde deserunt dicta quos eligendi est.","type":"Odit cumque dolores ullam maiores quas."},{"id":"Unde deserunt dicta quos eligendi est.","type":"Odit cumque dolores ullam maiores quas."},{"id":"Unde deserunt dicta quos eligendi est.","type":"Odit cumque dolores ullam maiores quas."}],"scanTool":"owasp","severityCode":"High","targetType":"Consectetur non ipsa nostrum adipisci autem perspiciatis.","title":"Semgrep Finding: generic.secrets.security.detected-bcrypt-hash.detected-bcrypt-hash"}
5
+ * @example {"description":"At quia est fugit.","impactedTargets":[{"executionId":"abcdef1234567890ghijkl","exemptionId":"abcdef1234567890ghijkl","exemptionStatus":"Atque distinctio dolor.","id":"target1111111111111111","lastDetected":1634836529,"name":"The Target Name","numOccurrences":10,"pipelineId":"example_pipeline","userId":"Et incidunt aspernatur.","variantName":"Deserunt error eos modi occaecati corporis."},{"executionId":"abcdef1234567890ghijkl","exemptionId":"abcdef1234567890ghijkl","exemptionStatus":"Atque distinctio dolor.","id":"target1111111111111111","lastDetected":1634836529,"name":"The Target Name","numOccurrences":10,"pipelineId":"example_pipeline","userId":"Et incidunt aspernatur.","variantName":"Deserunt error eos modi occaecati corporis."},{"executionId":"abcdef1234567890ghijkl","exemptionId":"abcdef1234567890ghijkl","exemptionStatus":"Atque distinctio dolor.","id":"target1111111111111111","lastDetected":1634836529,"name":"The Target Name","numOccurrences":10,"pipelineId":"example_pipeline","userId":"Et incidunt aspernatur.","variantName":"Deserunt error eos modi occaecati corporis."}],"issueType":"Fuga vitae animi.","lastDetected":1634836529,"override":{"originalSeverity":"medium","reason":"snyk"},"pagination":{"link":"","page":4,"pageSize":20,"totalItems":230,"totalPages":12},"referenceIdentifiers":[{"id":"Unde deserunt dicta quos eligendi est.","type":"Odit cumque dolores ullam maiores quas."},{"id":"Unde deserunt dicta quos eligendi est.","type":"Odit cumque dolores ullam maiores quas."},{"id":"Unde deserunt dicta quos eligendi est.","type":"Odit cumque dolores ullam maiores quas."},{"id":"Unde deserunt dicta quos eligendi est.","type":"Odit cumque dolores ullam maiores quas."}],"scanTool":"owasp","severityCode":"High","targetType":"Consectetur non ipsa nostrum adipisci autem perspiciatis.","title":"Semgrep Finding: generic.secrets.security.detected-bcrypt-hash.detected-bcrypt-hash"}
6
6
  */
7
7
  export interface AllIssuesDetailsResult {
8
8
  /**
@@ -12,7 +12,7 @@ export interface AllIssuesDetailsResult {
12
12
  description: string;
13
13
  /**
14
14
  * List of Impacted Targets
15
- * @example [{"exemptionId":"abcdef1234567890ghijkl","exemptionStatus":"Atque distinctio dolor.","id":"target1111111111111111","lastDetected":1634836529,"name":"The Target Name","numOccurrences":10,"userId":"Et incidunt aspernatur.","variantName":"Deserunt error eos modi occaecati corporis."},{"exemptionId":"abcdef1234567890ghijkl","exemptionStatus":"Atque distinctio dolor.","id":"target1111111111111111","lastDetected":1634836529,"name":"The Target Name","numOccurrences":10,"userId":"Et incidunt aspernatur.","variantName":"Deserunt error eos modi occaecati corporis."}]
15
+ * @example [{"executionId":"abcdef1234567890ghijkl","exemptionId":"abcdef1234567890ghijkl","exemptionStatus":"Atque distinctio dolor.","id":"target1111111111111111","lastDetected":1634836529,"name":"The Target Name","numOccurrences":10,"pipelineId":"example_pipeline","userId":"Et incidunt aspernatur.","variantName":"Deserunt error eos modi occaecati corporis."},{"executionId":"abcdef1234567890ghijkl","exemptionId":"abcdef1234567890ghijkl","exemptionStatus":"Atque distinctio dolor.","id":"target1111111111111111","lastDetected":1634836529,"name":"The Target Name","numOccurrences":10,"pipelineId":"example_pipeline","userId":"Et incidunt aspernatur.","variantName":"Deserunt error eos modi occaecati corporis."}]
16
16
  */
17
17
  impactedTargets: ImpactedTarget[];
18
18
  /**
@@ -1,10 +1,10 @@
1
1
  import type { LatestBaselineScanInfo } from '../schemas/LatestBaselineScanInfo';
2
2
  /**
3
- * @example {"latestBaselineScans":[{"pipelineId":"pipeline_1","scanTool":"owasp","targetId":"abcdef1234567890ghijkl","targetName":"The Target","targetType":"repository"},{"pipelineId":"pipeline_1","scanTool":"owasp","targetId":"abcdef1234567890ghijkl","targetName":"The Target","targetType":"repository"},{"pipelineId":"pipeline_1","scanTool":"owasp","targetId":"abcdef1234567890ghijkl","targetName":"The Target","targetType":"repository"}]}
3
+ * @example {"latestBaselineScans":[{"pipelineId":"pipeline_1","scanTool":"owasp","scanToolName":"OWASP","targetId":"abcdef1234567890ghijkl","targetName":"The Target","targetType":"repository"},{"pipelineId":"pipeline_1","scanTool":"owasp","scanToolName":"OWASP","targetId":"abcdef1234567890ghijkl","targetName":"The Target","targetType":"repository"},{"pipelineId":"pipeline_1","scanTool":"owasp","scanToolName":"OWASP","targetId":"abcdef1234567890ghijkl","targetName":"The Target","targetType":"repository"}]}
4
4
  */
5
5
  export interface AllIssuesFiltersResult {
6
6
  /**
7
- * @example [{"pipelineId":"pipeline_1","scanTool":"owasp","targetId":"abcdef1234567890ghijkl","targetName":"The Target","targetType":"repository"},{"pipelineId":"pipeline_1","scanTool":"owasp","targetId":"abcdef1234567890ghijkl","targetName":"The Target","targetType":"repository"},{"pipelineId":"pipeline_1","scanTool":"owasp","targetId":"abcdef1234567890ghijkl","targetName":"The Target","targetType":"repository"}]
7
+ * @example [{"pipelineId":"pipeline_1","scanTool":"owasp","scanToolName":"OWASP","targetId":"abcdef1234567890ghijkl","targetName":"The Target","targetType":"repository"},{"pipelineId":"pipeline_1","scanTool":"owasp","scanToolName":"OWASP","targetId":"abcdef1234567890ghijkl","targetName":"The Target","targetType":"repository"},{"pipelineId":"pipeline_1","scanTool":"owasp","scanToolName":"OWASP","targetId":"abcdef1234567890ghijkl","targetName":"The Target","targetType":"repository"}]
8
8
  */
9
9
  latestBaselineScans: LatestBaselineScanInfo[];
10
10
  }
@@ -2,7 +2,7 @@ import type { IssueSummary } from '../schemas/IssueSummary';
2
2
  import type { PendingChanges } from '../schemas/PendingChanges';
3
3
  /**
4
4
  * Exemption summary for frontend use
5
- * @example {"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"}
5
+ * @example {"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"isOccurrenceLevelExemption":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"}
6
6
  */
7
7
  export interface FrontendExemption {
8
8
  /**
@@ -57,6 +57,11 @@ export interface FrontendExemption {
57
57
  * @example true
58
58
  */
59
59
  isDeleted?: boolean;
60
+ /**
61
+ * States if the exemption is an occurrence level exemption
62
+ * @example true
63
+ */
64
+ isOccurrenceLevelExemption?: boolean;
60
65
  issueSummary: IssueSummary;
61
66
  /**
62
67
  * Unix timestamp at which the resource was most recently modified
@@ -1,7 +1,12 @@
1
1
  /**
2
- * @example {"exemptionId":"abcdef1234567890ghijkl","exemptionStatus":"Libero velit quo laborum architecto.","id":"target1111111111111111","lastDetected":1634836529,"name":"The Target Name","numOccurrences":10,"userId":"Quod iste accusamus aut.","variantName":"Rem quos."}
2
+ * @example {"executionId":"abcdef1234567890ghijkl","exemptionId":"abcdef1234567890ghijkl","exemptionStatus":"Libero velit quo laborum architecto.","id":"target1111111111111111","lastDetected":1634836529,"name":"The Target Name","numOccurrences":10,"pipelineId":"example_pipeline","userId":"Quod iste accusamus aut.","variantName":"Rem quos."}
3
3
  */
4
4
  export interface ImpactedTarget {
5
+ /**
6
+ * Harness Execution ID
7
+ * @example "abcdef1234567890ghijkl"
8
+ */
9
+ executionId: string;
5
10
  /**
6
11
  * ID of Security Test Exemption
7
12
  * @example "abcdef1234567890ghijkl"
@@ -34,6 +39,11 @@ export interface ImpactedTarget {
34
39
  * @example 10
35
40
  */
36
41
  numOccurrences: number;
42
+ /**
43
+ * Harness Pipeline ID
44
+ * @example "example_pipeline"
45
+ */
46
+ pipelineId: string;
37
47
  /**
38
48
  * The user id associated with the last scan run
39
49
  * @example "Ad voluptas autem."
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Information about a the latest scan of a targets baseline variant
3
- * @example {"pipelineId":"pipeline_1","scanTool":"owasp","targetId":"abcdef1234567890ghijkl","targetName":"The Target","targetType":"repository"}
3
+ * @example {"pipelineId":"pipeline_1","scanTool":"owasp","scanToolName":"OWASP","targetId":"abcdef1234567890ghijkl","targetName":"The Target","targetType":"repository"}
4
4
  */
5
5
  export interface LatestBaselineScanInfo {
6
6
  /**
@@ -13,6 +13,11 @@ export interface LatestBaselineScanInfo {
13
13
  * @example "owasp"
14
14
  */
15
15
  scanTool: string;
16
+ /**
17
+ * Human readable name of the scan tool used in this step
18
+ * @example "OWASP"
19
+ */
20
+ scanToolName: string;
16
21
  /**
17
22
  * Associated Target ID
18
23
  * @example "abcdef1234567890ghijkl"
@@ -1,10 +1,10 @@
1
1
  import type { StepInfo } from '../schemas/StepInfo';
2
2
  /**
3
- * @example {"steps":[{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"},{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"},{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"},{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"}]}
3
+ * @example {"steps":[{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","scanToolName":"OWASP","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"},{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","scanToolName":"OWASP","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"},{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","scanToolName":"OWASP","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"},{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","scanToolName":"OWASP","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"}]}
4
4
  */
5
5
  export interface PipelineSecurityStepsResult {
6
6
  /**
7
- * @example [{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"},{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"},{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"},{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"}]
7
+ * @example [{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","scanToolName":"OWASP","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"},{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","scanToolName":"OWASP","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"},{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","scanToolName":"OWASP","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"},{"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","scanToolName":"OWASP","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"}]
8
8
  */
9
9
  steps: StepInfo[];
10
10
  }
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Information about a Scan Tool
3
+ * @example {"created":1651578240,"description":"OWASP 5.x SCA scanner","id":"abcdef1234567890ghijkl","isEnabled":true,"lastModified":1651578240,"name":"owasp","prettyName":"owasp"}
4
+ */
5
+ export interface Product {
6
+ /**
7
+ * Unix timestamp at which the resource was created
8
+ * @format int64
9
+ * @example 1651578240
10
+ */
11
+ created: number;
12
+ /**
13
+ * Scan Tool's description
14
+ * @example "OWASP 5.x SCA scanner"
15
+ */
16
+ description: string;
17
+ /**
18
+ * Resource identifier
19
+ * @example "abcdef1234567890ghijkl"
20
+ */
21
+ id: string;
22
+ /**
23
+ * 'true' if this Scan Tool is enabled for use
24
+ * @example true
25
+ */
26
+ isEnabled: boolean;
27
+ /**
28
+ * Unix timestamp at which the resource was most recently modified
29
+ * @format int64
30
+ * @example 1651578240
31
+ */
32
+ lastModified: number;
33
+ /**
34
+ * Name of the Scan Tool
35
+ * @example "owasp"
36
+ */
37
+ name: string;
38
+ /**
39
+ * Name of the Scan Tool
40
+ * @example "owasp"
41
+ */
42
+ prettyName: string;
43
+ }
@@ -0,0 +1,4 @@
1
+ /* eslint-disable */
2
+ // This code is autogenerated using @harnessio/oats-cli.
3
+ // Please do not modify this code directly.
4
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { Pagination } from '../schemas/Pagination';
2
+ import type { Product } from '../schemas/Product';
3
+ /**
4
+ * @example {"pagination":{"link":"","page":4,"pageSize":20,"totalItems":230,"totalPages":12},"results":[{"created":1651578240,"description":"OWASP 5.x SCA scanner","id":"abcdef1234567890ghijkl","isEnabled":true,"lastModified":1651578240,"name":"owasp","prettyName":"owasp"},{"created":1651578240,"description":"OWASP 5.x SCA scanner","id":"abcdef1234567890ghijkl","isEnabled":true,"lastModified":1651578240,"name":"owasp","prettyName":"owasp"}]}
5
+ */
6
+ export interface ProductsListProductsResponseBody {
7
+ pagination: Pagination;
8
+ /**
9
+ * @example [{"created":1651578240,"description":"OWASP 5.x SCA scanner","id":"abcdef1234567890ghijkl","isEnabled":true,"lastModified":1651578240,"name":"owasp","prettyName":"owasp"},{"created":1651578240,"description":"OWASP 5.x SCA scanner","id":"abcdef1234567890ghijkl","isEnabled":true,"lastModified":1651578240,"name":"owasp","prettyName":"owasp"},{"created":1651578240,"description":"OWASP 5.x SCA scanner","id":"abcdef1234567890ghijkl","isEnabled":true,"lastModified":1651578240,"name":"owasp","prettyName":"owasp"},{"created":1651578240,"description":"OWASP 5.x SCA scanner","id":"abcdef1234567890ghijkl","isEnabled":true,"lastModified":1651578240,"name":"owasp","prettyName":"owasp"}]
10
+ */
11
+ results: Product[];
12
+ }
@@ -3,13 +3,13 @@ import type { FrontendExemption } from '../schemas/FrontendExemption';
3
3
  import type { Pagination } from '../schemas/Pagination';
4
4
  /**
5
5
  * Data needed by the Security Review page
6
- * @example {"counts":{"Approved":150,"Expired":150,"Pending":150,"Rejected":150},"exemptions":[{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"}],"pagination":{"link":"","page":4,"pageSize":20,"totalItems":230,"totalPages":12}}
6
+ * @example {"counts":{"Approved":150,"Expired":150,"Pending":150,"Rejected":150},"exemptions":[{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"isOccurrenceLevelExemption":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"isOccurrenceLevelExemption":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"isOccurrenceLevelExemption":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"isOccurrenceLevelExemption":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"}],"pagination":{"link":"","page":4,"pageSize":20,"totalItems":230,"totalPages":12}}
7
7
  */
8
8
  export interface SecurityReviewResult {
9
9
  counts: FrontendExemptionCounts;
10
10
  /**
11
11
  * Security Review data
12
- * @example [{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"}]
12
+ * @example [{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"isOccurrenceLevelExemption":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"isOccurrenceLevelExemption":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"isOccurrenceLevelExemption":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"isOccurrenceLevelExemption":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Expired","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2019812330390510600,"numOccurrences":5581965460253194000,"numRemediatedOccurrences":2053581348963572500,"originStatus":"approved","origins":["app","base"],"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"}]
13
13
  */
14
14
  exemptions: FrontendExemption[];
15
15
  pagination: Pagination;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Information about a Scan Step
3
- * @example {"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"}
3
+ * @example {"baselineVariant":"branch: main","scanId":"scan111111111111111111","scanTool":"owasp","scanToolName":"OWASP","stageId":"stage_id","stepId":"step_id","subproduct":"product","targetId":"target1111111111111111","targetName":"The Target","targetType":"repository","targetVariant":"branch: feature"}
4
4
  */
5
5
  export interface StepInfo {
6
6
  /**
@@ -18,6 +18,11 @@ export interface StepInfo {
18
18
  * @example "owasp"
19
19
  */
20
20
  scanTool: string;
21
+ /**
22
+ * Human readable name of the scan tool used in this step
23
+ * @example "OWASP"
24
+ */
25
+ scanToolName: string;
21
26
  /**
22
27
  * @example "stage_id"
23
28
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harnessio/react-sto-core-client",
3
- "version": "0.3.15",
3
+ "version": "0.3.16",
4
4
  "description": "Harness STO service APIs integrated with react hooks",
5
5
  "author": "Harness Inc",
6
6
  "license": "MIT",