From 54a09562f1a58e131c7393321c2799da294d5ab3 Mon Sep 17 00:00:00 2001 From: Antoine Arlaud Date: Tue, 5 Nov 2024 10:35:44 +0100 Subject: [PATCH 1/5] feat: add remote rulesets retrieval support --- config.default.json | 52 +++++++++++------------ lib/common/filter/filter-rules-loading.ts | 36 +++++++++------- lib/common/filter/utils.ts | 46 ++++++++++++++++++++ lib/index.ts | 3 +- 4 files changed, 94 insertions(+), 43 deletions(-) diff --git a/config.default.json b/config.default.json index 71dbb30b0..8c1d45d37 100644 --- a/config.default.json +++ b/config.default.json @@ -497,31 +497,31 @@ } }, "FILTER_RULES_PATHS": { - "apprisk": "defaultFilters/apprisk.json", - "artifactory": "defaultFilters/artifactory.json", - "azure-repos": "defaultFilters/azure-repos.json", - "bitbucket-server": "defaultFilters/bitbucket-server.json", - "bitbucket-server-bearer-auth": "defaultFilters/bitbucket-server-bearer-auth.json", - "github-enterprise": "defaultFilters/github-enterprise.json", - "github-server-app": "defaultFilters/github-server-app.json", - "github-cloud-app": "defaultFilters/github-cloud-app.json", - "github": "defaultFilters/github.json", - "gitlab": "defaultFilters/gitlab.json", - "jira": "defaultFilters/jira.json", - "jira-bearer-auth": "defaultFilters/jira-bearer-auth.json", - "nexus": "defaultFilters/nexus-and-nexus2.json", - "docker-hub":"defaultFilters/container-registry-agent.json", - "ecr":"defaultFilters/container-registry-agent.json", - "acr":"defaultFilters/container-registry-agent.json", - "gcr":"defaultFilters/container-registry-agent.json", - "artifactory-cr":"defaultFilters/container-registry-agent.json", - "harbor-cr":"defaultFilters/container-registry-agent.json", - "quay-cr":"defaultFilters/container-registry-agent.json", - "github-cr":"defaultFilters/container-registry-agent.json", - "nexus-cr":"defaultFilters/container-registry-agent.json", - "digitalocean-cr":"defaultFilters/container-registry-agent.json", - "gitlab-cr":"defaultFilters/container-registry-agent.json", - "google-artifact-cr":"defaultFilters/container-registry-agent.json", - "workload":"defaultFilters/workload.json" + "apprisk": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/apprisk.json", + "artifactory": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/artifactory.json", + "azure-repos": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/azure-repos.json", + "bitbucket-server": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/bitbucket-server.json", + "bitbucket-server-bearer-auth": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/bitbucket-server-bearer-auth.json", + "github-enterprise": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/github-enterprise.json", + "github-server-app": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/github-server-app.json", + "github-cloud-app": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/github-cloud-app.json", + "github": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/github.json", + "gitlab": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/gitlab.json", + "jira": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/jira.json", + "jira-bearer-auth": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/jira-bearer-auth.json", + "nexus": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/nexus-and-nexus2.json", + "docker-hub":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "ecr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "acr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "gcr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "artifactory-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "harbor-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "quay-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "github-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "nexus-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "digitalocean-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "gitlab-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "google-artifact-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "workload":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/workload.json" } } diff --git a/lib/common/filter/filter-rules-loading.ts b/lib/common/filter/filter-rules-loading.ts index 5c7d76fa5..c92a779fc 100644 --- a/lib/common/filter/filter-rules-loading.ts +++ b/lib/common/filter/filter-rules-loading.ts @@ -6,6 +6,7 @@ import { log as logger } from '../../logs/logger'; import { CONFIGURATION, findProjectRoot } from '../config/config'; import camelcase from 'camelcase'; import { FiltersType, Rule } from '../types/filter'; +import { retrieveFilters, isValidURI } from './utils'; const SUPPORTED_IAC_EXTENSIONS = ['tf', 'yaml', 'yml', 'tpl', 'json']; const IAC_SCM_ORIGINS = [ @@ -318,32 +319,37 @@ function injectRulesAtRuntime( return filters; } -export default ( +export default async ( config: CONFIGURATION, folderLocation = '', -): FiltersType | Map => { +): Promise> => { const acceptFilename = config.accept || ''; - // let filters = config.universalBrokerEnabled - // ? new Map() - // : { private: [], public: [] }; + let retrievedFilters; + + if (!acceptFilename || (acceptFilename && isValidURI(acceptFilename))) { + let rulesUrisMap; + if (acceptFilename) { + rulesUrisMap = new Map().set('current', acceptFilename); + } else { + rulesUrisMap = new Map( + Object.entries(config.filterRulesPaths), + ); + } + retrievedFilters = await retrieveFilters(rulesUrisMap); + } + let filters; if (config.universalBrokerEnabled) { filters = new Map(); const supportedBrokerTypes = config.supportedBrokerTypes; supportedBrokerTypes.forEach((type) => { - filters[type] = yaml.safeLoad( - fs.readFileSync( - `${path.resolve( - findProjectRoot(__dirname) ?? process.cwd(), - `${config.filterRulesPaths[type]}`, // this should handle the override for custom filters - )}`, - 'utf8', - ), - ); + filters[type] = yaml.safeLoad(retrievedFilters[type]); filters[type] = injectRulesAtRuntime(filters[type], config, type); }); } else { - if (acceptFilename) { + if (acceptFilename && retrievedFilters) { + filters = yaml.safeLoad(retrievedFilters.get('current')); + } else { const acceptLocation = path.resolve( folderLocation ? folderLocation diff --git a/lib/common/filter/utils.ts b/lib/common/filter/utils.ts index 92ffc1e5e..46b106c0a 100644 --- a/lib/common/filter/utils.ts +++ b/lib/common/filter/utils.ts @@ -1,3 +1,9 @@ +import path from 'node:path'; +import { makeSingleRawRequestToDownstream } from '../http/request'; +import { PostFilterPreparedRequest } from '../relay/prepareRequest'; +import version from '../utils/version'; +import { findProjectRoot } from '../config/config'; + export const validateHeaders = (headerFilters, requestHeaders = []) => { for (const filter of headerFilters) { const headerValue = requestHeaders[filter.header]; @@ -13,3 +19,43 @@ export const validateHeaders = (headerFilters, requestHeaders = []) => { return true; }; + +export const isValidURI = (uri: string) => { + try { + new URL(uri); + return true; + } catch (e) { + return false; + } +}; + +/* Retrieve filters from list of uris + Can be uri or local path */ +export const retrieveFilters = async (locations: Map) => { + const retrievedFiltersMap = new Map(); + for (const key of locations.keys()) { + const location = locations.get(key); + if (!location) { + throw new Error(`Invalid filter uri for type ${key}`); + } + if (isValidURI(location)) { + const req: PostFilterPreparedRequest = { + url: location, + headers: { 'user-agent': `Snyk Broker Client ${version}` }, + method: 'GET', + }; + const filter = await makeSingleRawRequestToDownstream(req); + retrievedFiltersMap.set(key, filter.body); + } else { + retrievedFiltersMap.set( + key, + `${path.resolve( + findProjectRoot(__dirname) ?? process.cwd(), + location, // this should handle the override for custom filters + )}`, + ); + } + } + + return retrievedFiltersMap; +}; diff --git a/lib/index.ts b/lib/index.ts index 0f5586578..50fb6d0a1 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -46,7 +46,7 @@ export const app = async ({ port = 7341, client = false, config }) => { any > as CONFIGURATION; localConfig.brokerType = method; - const filters = filterRulesLoader(localConfig); + const filters = await filterRulesLoader(localConfig); if (!filters) { const error = new ReferenceError( `No Filters found. A Broker requires filters to run. Shutting down.`, @@ -56,7 +56,6 @@ export const app = async ({ port = 7341, client = false, config }) => { throw error; } else { if (method == 'client') { - // if the localConfig has the broker server, then we must assume it's a client return await ( await import('./client') ).main({ From 8784de7dadc45b5cf98f3617d30e8f956835d423 Mon Sep 17 00:00:00 2001 From: Antoine Arlaud Date: Tue, 5 Nov 2024 14:08:44 +0100 Subject: [PATCH 2/5] fix: update test cases --- lib/common/filter/filter-rules-loading.ts | 12 +++-- lib/common/filter/utils.ts | 12 +++-- test/unit/runtime-rules-hotloading.test.ts | 53 +++++++++++----------- 3 files changed, 43 insertions(+), 34 deletions(-) diff --git a/lib/common/filter/filter-rules-loading.ts b/lib/common/filter/filter-rules-loading.ts index c92a779fc..848fb61fe 100644 --- a/lib/common/filter/filter-rules-loading.ts +++ b/lib/common/filter/filter-rules-loading.ts @@ -140,7 +140,6 @@ function injectRulesAtRuntime( config.ACCEPT_GIT; if (ACCEPT_CODE) { logger.info({ accept: ACCEPT_CODE }, 'Injecting Accept rules for Code/Git'); - const templateGET = nestedCopy( filters.private.filter( (entry) => @@ -242,6 +241,7 @@ function injectRulesAtRuntime( } } } + const ACCEPT_APPRISK = process.env.ACCEPT_APPRISK || config.ACCEPT_APPRISK; if (ACCEPT_APPRISK) { logger.debug( @@ -337,17 +337,21 @@ export default async ( } retrievedFilters = await retrieveFilters(rulesUrisMap); } - let filters; if (config.universalBrokerEnabled) { filters = new Map(); const supportedBrokerTypes = config.supportedBrokerTypes; supportedBrokerTypes.forEach((type) => { - filters[type] = yaml.safeLoad(retrievedFilters[type]); + if (!retrievedFilters.get(type)) { + throw new Error(`Missing filter for ${type}.`); + } + filters[type] = yaml.safeLoad(retrievedFilters.get(type)); filters[type] = injectRulesAtRuntime(filters[type], config, type); }); } else { - if (acceptFilename && retrievedFilters) { + if (!acceptFilename) { + return filters; + } else if (acceptFilename && retrievedFilters) { filters = yaml.safeLoad(retrievedFilters.get('current')); } else { const acceptLocation = path.resolve( diff --git a/lib/common/filter/utils.ts b/lib/common/filter/utils.ts index 46b106c0a..db9982983 100644 --- a/lib/common/filter/utils.ts +++ b/lib/common/filter/utils.ts @@ -1,4 +1,5 @@ import path from 'node:path'; +import fs from 'fs'; import { makeSingleRawRequestToDownstream } from '../http/request'; import { PostFilterPreparedRequest } from '../relay/prepareRequest'; import version from '../utils/version'; @@ -49,10 +50,13 @@ export const retrieveFilters = async (locations: Map) => { } else { retrievedFiltersMap.set( key, - `${path.resolve( - findProjectRoot(__dirname) ?? process.cwd(), - location, // this should handle the override for custom filters - )}`, + fs.readFileSync( + `${path.resolve( + findProjectRoot(__dirname) ?? process.cwd(), + location, // this should handle the override for custom filters + )}`, + 'utf-8', + ), ); } } diff --git a/test/unit/runtime-rules-hotloading.test.ts b/test/unit/runtime-rules-hotloading.test.ts index a2e10a81b..503e56054 100644 --- a/test/unit/runtime-rules-hotloading.test.ts +++ b/test/unit/runtime-rules-hotloading.test.ts @@ -34,8 +34,8 @@ describe('filter Rules Loading', () => { test.each(scmRulesToTest)( 'Loads normal accept file - Testing %s', - (folder) => { - const loadedRules = loadFilterRules( + async (folder) => { + const loadedRules = await loadFilterRules( { brokerType: 'client', supportedBrokerTypes: [], @@ -51,9 +51,9 @@ describe('filter Rules Loading', () => { test.each(scmRulesToTest)( 'Skip injection if no or invalid IAC extensions - Testing %s', - (folder) => { + async (folder) => { process.env.ACCEPT_IAC = 'rf'; - const loadedRules = loadFilterRules( + const loadedRules = await loadFilterRules( { brokerType: 'client', supportedBrokerTypes: [], @@ -70,9 +70,9 @@ describe('filter Rules Loading', () => { test.each(scmRulesToTest)( 'Injection of valid IAC extensions - Testing %s', - (folder) => { + async (folder) => { process.env.ACCEPT_IAC = 'tf,yaml, json,yml,tpl'; - const loadedRules = loadFilterRules( + const loadedRules = await loadFilterRules( { brokerType: 'client', supportedBrokerTypes: [], @@ -89,9 +89,9 @@ describe('filter Rules Loading', () => { test.each(scmRulesToTest)( 'Injection of valid IAC extensions - Testing %s', - (folder) => { + async (folder) => { process.env.ACCEPT_IAC = 'tf,json'; - const loadedRules = loadFilterRules( + const loadedRules = await loadFilterRules( { brokerType: 'client', supportedBrokerTypes: [], @@ -108,9 +108,9 @@ describe('filter Rules Loading', () => { test.each(scmRulesToTest)( 'Injection of valid CODE rules - Testing %s', - (folder) => { + async (folder) => { process.env.ACCEPT_CODE = 'true'; - const loadedRules = loadFilterRules( + const loadedRules = await loadFilterRules( { brokerType: 'client', supportedBrokerTypes: [], @@ -127,9 +127,9 @@ describe('filter Rules Loading', () => { test.each(scmRulesToTest)( 'Injection of valid Git rules - Testing %s', - (folder) => { + async (folder) => { process.env.ACCEPT_GIT = 'true'; - const loadedRules = loadFilterRules( + const loadedRules = await loadFilterRules( { brokerType: 'client', supportedBrokerTypes: [], @@ -146,10 +146,10 @@ describe('filter Rules Loading', () => { test.each(scmRulesToTest)( 'Injection of valid Git rules without snippets - Testing %s', - (folder) => { + async (folder) => { process.env.ACCEPT_GIT = 'true'; process.env.DISABLE_SNIPPETS = 'true'; - const loadedRules = loadFilterRules( + const loadedRules = await loadFilterRules( { brokerType: 'client', supportedBrokerTypes: scmRulesToTest, @@ -185,10 +185,10 @@ describe('filter Rules Loading', () => { test.each(scmRulesToTest)( 'Injection of valid CODE GH rules - Testing %s', - (folder) => { + async (folder) => { process.env.ACCEPT_LARGE_MANIFESTS = 'true'; - const loadedRules = loadFilterRules( + const loadedRules = await loadFilterRules( { brokerType: 'client', supportedBrokerTypes: [], @@ -205,10 +205,10 @@ describe('filter Rules Loading', () => { test.each(scmRulesToTest)( 'Injection of valid CODE rules and IAC extensions (yaml only) - Testing %s', - (folder) => { + async (folder) => { process.env.ACCEPT_CODE = 'true'; process.env.ACCEPT_IAC = 'yaml'; - const loadedRules = loadFilterRules( + const loadedRules = await loadFilterRules( { brokerType: 'client', supportedBrokerTypes: [], @@ -226,7 +226,7 @@ describe('filter Rules Loading', () => { test.each(scmRulesToTest)( 'Injection of valid AppRisk rules - Testing %s', - (folder) => { + async (folder) => { process.env.ACCEPT_APPRISK = 'true'; process.env[`BROKER_DOWNSTREAM_TYPE_${folder}`] = 'true'; const config: CONFIGURATION = { @@ -236,7 +236,7 @@ describe('filter Rules Loading', () => { filterRulesPaths: {}, }; config[camelcase(`BROKER_DOWNSTREAM_TYPE_${folder}`)] = 'true'; - const loadedRules = loadFilterRules( + const loadedRules = await loadFilterRules( config, path.join(__dirname, '../..', `client-templates/${folder}`), ); @@ -249,7 +249,7 @@ describe('filter Rules Loading', () => { test.each(scmRulesToTest)( 'Injection of valid ACCEPT_CUSTOM_PR_TEMPLATES rules - Testing %s', - (folder) => { + async (folder) => { process.env.ACCEPT_CUSTOM_PR_TEMPLATES = 'true'; process.env[`BROKER_DOWNSTREAM_TYPE_${folder}`] = 'true'; const config: CONFIGURATION = { @@ -259,7 +259,7 @@ describe('filter Rules Loading', () => { filterRulesPaths: {}, }; config[camelcase(`BROKER_DOWNSTREAM_TYPE_${folder}`)] = 'true'; - const loadedRules = loadFilterRules( + const loadedRules = await loadFilterRules( config, path.join(__dirname, '../..', `client-templates/${folder}`), ); @@ -272,18 +272,19 @@ describe('filter Rules Loading', () => { test.each(scmUniversalRulesToTest)( 'Injection of valid Git rules - Universal Broker - Testing %s', - (folder) => { + async (folder) => { process.env.ACCEPT_GIT = 'true'; const filterRulesPath = {}; for (const type of scmUniversalRulesToTest) { filterRulesPath[`${type}`] = `defaultFilters/${type}.json`; } - const loadedRules = loadFilterRules({ + const loadedRules = await loadFilterRules({ brokerType: 'client', supportedBrokerTypes: scmUniversalRulesToTest, filterRulesPaths: filterRulesPath, universalBrokerEnabled: true, }); + expect( loadedRules[folder].private.filter((x) => x.path.includes('*/git-upload-pack'), @@ -315,7 +316,7 @@ describe('filter Rules Loading', () => { test.each(scmRulesToTest)( 'Injection of valid Git rules with AppRisk enabled - Testing %s', - (folder) => { + async (folder) => { process.env.ACCEPT_GIT = 'true'; process.env.ACCEPT_APPRISK = 'true'; const config: CONFIGURATION = { @@ -325,7 +326,7 @@ describe('filter Rules Loading', () => { filterRulesPaths: {}, }; config[camelcase(`BROKER_DOWNSTREAM_TYPE_${folder}`)] = 'true'; - const loadedRules = loadFilterRules( + const loadedRules = await loadFilterRules( config, path.join(__dirname, '../..', `client-templates/${folder}`), ); From b38fbe2f97488c538a1448641196b91e5da39b68 Mon Sep 17 00:00:00 2001 From: Antoine Arlaud Date: Tue, 5 Nov 2024 15:35:03 +0100 Subject: [PATCH 3/5] fix: add remote rule loading test case --- .../runtime-rules-hotloading.test.ts.snap | 15630 +++++++++++++++- test/unit/runtime-rules-hotloading.test.ts | 54 + 2 files changed, 15679 insertions(+), 5 deletions(-) diff --git a/test/unit/__snapshots__/runtime-rules-hotloading.test.ts.snap b/test/unit/__snapshots__/runtime-rules-hotloading.test.ts.snap index c1c16025c..23b520828 100644 --- a/test/unit/__snapshots__/runtime-rules-hotloading.test.ts.snap +++ b/test/unit/__snapshots__/runtime-rules-hotloading.test.ts.snap @@ -64175,6 +64175,7816 @@ Object { } `; +exports[`filter Rules Loading Loads custom accept file - Testing azure-repos 1`] = ` +Object { + "private": Array [ + Object { + "//": "get list of projects for given organisation", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/_apis/projects", + }, + Object { + "//": "get specific repository for given organisation", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo", + }, + Object { + "//": "get list of repositories for given organisation", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories", + }, + Object { + "//": "get list of refs", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/refs", + }, + Object { + "//": "search through repositories of given organisation", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "_apis/git/repositories", + }, + Object { + "//": "create hook", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "POST", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/_apis/hooks/subscriptions", + }, + Object { + "//": "delete hook", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "DELETE", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/_apis/hooks/subscriptions/:subscriptionId", + }, + Object { + "//": "get file content. restrict by file types", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/items", + "valid": Array [ + Object { + "queryParam": "path", + "values": Array [ + "**/package.json", + "**%2Fpackage.json", + "**/yarn.lock", + "**%2Fyarn.lock", + "**/package-lock.json", + "**%2Fpackage-lock.json", + "**/Gemfile", + "**%2FGemfile", + "**/Gemfile.lock", + "**%2FGemfile.lock", + "**/pom.xml", + "**%2Fpom.xml", + "**/*req*.txt", + "**%2F*req*.txt", + "**/requirements/*.txt", + "**%2Frequirements%2F*.txt", + "**/pyproject.toml", + "**%2Fpyproject.toml", + "**/poetry.lock", + "**%2Fpoetry.lock", + "**/Pipfile", + "**%2FPipfile", + "**/Pipfile.lock", + "**%2FPipfile.lock", + "**/build.gradle", + "**%2Fbuild.gradle", + "**/gradle.lockfile", + "**%2Fgradle.lockfile", + "**/build.sbt", + "**%2Fbuild.sbt", + "**/.snyk", + "**%2F.snyk", + "**/packages.config", + "**%2Fpackages.config", + "**/*.csproj", + "**%2F*.csproj", + "**/*.vbproj", + "**%2F*.vbproj", + "**/*.fsproj", + "**%2F*.fsproj", + "**/project.json", + "**%2Fproject.json", + "**/Gopkg.toml", + "**%2FGopkg.toml", + "**/Gopkg.lock", + "**%2FGopkg.lock", + "**/vendor.json", + "**%2Fvendor.json", + "**/composer.lock", + "**%2Fcomposer.lock", + "**/composer.json", + "**%2Fcomposer.json", + "**/project.assets.json", + "**%2Fproject.assets.json", + "**/Podfile", + "**%2FPodfile", + "**/Podfile.lock", + "**%2FPodfile.lock", + "**/go.mod", + "**%2Fgo.mod", + "**/go.sum", + "**%2Fgo.sum", + "**/*Dockerfile*", + "**%2F*Dockerfile*", + ], + }, + Object { + "queryParam": "recursionLevel", + "values": Array [ + "none", + ], + }, + Object { + "queryParam": "download", + "values": Array [ + "true", + ], + }, + Object { + "queryParam": "includeContent", + "values": Array [ + "true", + ], + }, + ], + }, + Object { + "//": "check file existence. restrict by file types", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/items", + "valid": Array [ + Object { + "queryParam": "path", + "values": Array [ + "**/package.json", + "**%2Fpackage.json", + "**/yarn.lock", + "**%2Fyarn.lock", + "**/package-lock.json", + "**%2Fpackage-lock.json", + "**/Gemfile", + "**%2FGemfile", + "**/Gemfile.lock", + "**%2FGemfile.lock", + "**/pom.xml", + "**%2Fpom.xml", + "**/*req*.txt", + "**%2F*req*.txt", + "**/requirements/*.txt", + "**%2Frequirements%2F*.txt", + "**/pyproject.toml", + "**%2Fpyproject.toml", + "**/poetry.lock", + "**%2Fpoetry.lock", + "**/Pipfile", + "**%2FPipfile", + "**/Pipfile.lock", + "**%2FPipfile.lock", + "**/build.gradle", + "**%2Fbuild.gradle", + "**/gradle.lockfile", + "**%2Fgradle.lockfile", + "**/build.sbt", + "**%2Fbuild.sbt", + "**/.snyk", + "**%2F.snyk", + "**/packages.config", + "**%2Fpackages.config", + "**/*.csproj", + "**%2F*.csproj", + "**/*.vbproj", + "**%2F*.vbproj", + "**/*.fsproj", + "**%2F*.fsproj", + "**/project.json", + "**%2Fproject.json", + "**/Gopkg.toml", + "**%2FGopkg.toml", + "**/Gopkg.lock", + "**%2FGopkg.lock", + "**/vendor.json", + "**%2Fvendor.json", + "**/composer.lock", + "**%2Fcomposer.lock", + "**/composer.json", + "**%2Fcomposer.json", + "**/project.assets.json", + "**%2Fproject.assets.json", + "**/Podfile", + "**%2FPodfile", + "**/Podfile.lock", + "**%2FPodfile.lock", + "**/go.mod", + "**%2Fgo.mod", + "**/go.sum", + "**%2Fgo.sum", + "**/*Dockerfile*", + "**%2F*Dockerfile*", + ], + }, + Object { + "queryParam": "versionDescriptor.versionType", + "values": Array [ + "branch", + ], + }, + Object { + "queryParam": "includeContentMetadata", + "values": Array [ + "true", + ], + }, + ], + }, + Object { + "//": "get list of files for given repository", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/items", + "valid": Array [ + Object { + "queryParam": "recursionLevel", + "values": Array [ + "full", + ], + }, + Object { + "queryParam": "download", + "values": Array [ + "false", + ], + }, + Object { + "queryParam": "includeContent", + "values": Array [ + "false", + ], + }, + ], + }, + Object { + "//": "get list of commits for given repository", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/commits", + }, + Object { + "//": "get merge base of two commits for given repository", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/commits/:commitId/mergebases", + }, + Object { + "//": "update status of given commit", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "POST", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/commits/:commitId/statuses", + }, + Object { + "//": "update status of given pull request", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "POST", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/pullRequests/:pullRef/statuses", + }, + Object { + "//": "find PR for given repository", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/pullrequests", + }, + Object { + "//": "create new PR in given repository", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "POST", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/pullrequests", + }, + Object { + "//": "update existing PR in given repository", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "PATCH", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/pullrequests/:pullRef", + }, + Object { + "//": "push new commit in given repository", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "POST", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/pushes", + }, + Object { + "//": "used to redirect requests to snyk git client", + "method": "any", + "origin": "\${GIT_CLIENT_URL}", + "path": "/snykgit/*", + }, + Object { + "//": "evaluate permissions", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "POST", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/_apis/security/permissionevaluationbatch", + }, + Object { + "//": "list pull request iterations", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/pullRequests/:pullRef/iterations", + }, + ], + "public": Array [ + Object { + "//": "used for pushing up webhooks from Azure", + "method": "POST", + "path": "/webhook/azure-repos/:webhookId", + }, + ], +} +`; + +exports[`filter Rules Loading Loads custom accept file - Testing bitbucket-server 1`] = ` +Object { + "private": Array [ + Object { + "//": "list the user's projects", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects", + }, + Object { + "//": "list the project's repos", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:projectKey/repos", + }, + Object { + "//": "list the user's repos", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/repos", + }, + Object { + "//": "fetch a given repo", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo", + }, + Object { + "//": "read all file names to find manifests", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/files/:searchPath?", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/package.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpackage.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/package-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpackage-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/pom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/requirements/*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Frequirements%2F*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/pyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/poetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpoetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Pipfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPipfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Pipfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPipfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/yarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fyarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/build.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fbuild.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/gradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/gradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Packages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPackages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Directory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FDirectory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Directory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FDirectory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/build.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fbuild.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/packages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpackages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/project.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fproject.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/vendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fvendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/composer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fcomposer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/composer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fcomposer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/project.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fproject.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Podfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPodfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Podfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPodfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/go.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgo.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/go.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgo.sum", + }, + Object { + "//": "used to scan Dockerfile", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*Dockerfile*", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/.snyk", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F.snyk", + }, + Object { + "//": "get list of API capabilities", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/capabilities", + }, + Object { + "//": "allow webhooks to be added, to allow commits to be checked by Snyk. Rules for what is sent to Snyk are controlled in the \`public\` accept filters", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/webhooks", + }, + Object { + "//": "allow webhooks to be deleted, used to cleanup when a user deactivates or deletes a project", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "DELETE", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/webhooks/:webhookId", + }, + Object { + "//": "used to create commit status messages", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/build-status/1.0/commits/:sha", + }, + Object { + "//": "used to create a new branch for fix PRs", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/branches", + }, + Object { + "//": "used to create or update a file for fix PRs", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "PUT", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/browse/*", + }, + Object { + "//": "used to create a pull request for fix PRs", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/pull-requests", + }, + Object { + "//": "used to query for open pull requests by branch", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/pull-requests", + }, + Object { + "//": "used to query for a merge-base for a pull request", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/pull-requests/:pullRequestId/changes", + }, + Object { + "//": "used to check for a repo's default branch", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/branches/default", + }, + Object { + "//": "Used to get a branch specified by query string", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/branches:filterText?", + }, + Object { + "//": "get a specific commit identified by the commit hash or name of a branch", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/commits/:sha", + }, + Object { + "//": "used to create a Code Insights report", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "PUT", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report", + }, + Object { + "//": "used to remove a Code Insights report", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "DELETE", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report", + }, + Object { + "//": "used to add Code Insights annotations to a report", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report/annotations", + }, + Object { + "//": "get list of API capabilities for Code Insights", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/capabilities", + }, + Object { + "//": "used to remove Code Insights annotations for a report", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "DELETE", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report/annotations", + }, + Object { + "//": "used to get current user. so we'll be able to fetch current user's repos, that are not part of any project.", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/application-properties", + }, + Object { + "//": "used to get current user. so we'll be able to fetch current user's repos, that are not part of any project - this is using atlassian's SDK api.", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/plugins/servlet/applinks/whoami", + }, + Object { + "//": "used to get the current user's project-like structure. So we'll be able to bind all user's private repos (that are not included in different project)", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:projectKey", + }, + Object { + "//": "used to check if the user has admin or higher permissions", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/admin/permissions/users", + }, + Object { + "//": "used to get all the users. it's called only for admin permissioned user. to retrieve all the repos they can access", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/users", + }, + Object { + "//": "used to redirect requests to snyk git client", + "method": "any", + "origin": "\${GIT_CLIENT_URL}", + "path": "/snykgit/*", + }, + Object { + "//": "used to fetch a given repo from API", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo", + }, + Object { + "//": "used to get default reviewers for a pull request", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/default-reviewers/1.0/projects/:projectKey/repos/:repo/reviewers", + }, + Object { + "//": "create a general pull request comment", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/pull-requests/:pullRequestId/comments", + }, + Object { + "//": "update a general pull request comment", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "PUT", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/pull-requests/:pullRequestId/comments/:commentId", + }, + Object { + "//": "get a general pull request comment", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/pull-requests/:pullRequestId/comments/:commentId", + }, + Object { + "//": "used to validate credentials", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/permissions/search", + }, + ], + "public": Array [ + Object { + "//": "used for pushing up webhooks from bitbucket-server", + "method": "POST", + "path": "/webhook/bitbucket-server/:webhookId", + }, + ], +} +`; + +exports[`filter Rules Loading Loads custom accept file - Testing bitbucket-server-bearer-auth 1`] = ` +Object { + "private": Array [ + Object { + "//": "list the user's projects", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects", + }, + Object { + "//": "list the project's repos", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:projectKey/repos", + }, + Object { + "//": "list the user's repos", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/repos", + }, + Object { + "//": "fetch a given repo", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo", + }, + Object { + "//": "read all file names to find manifests", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/files/:searchPath?", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/package.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpackage.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/package-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpackage-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/pom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/requirements/*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Frequirements%2F*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/pyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/poetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpoetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Pipfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPipfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Pipfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPipfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/yarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fyarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/build.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fbuild.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/gradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/gradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Packages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPackages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Directory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FDirectory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Directory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FDirectory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/build.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fbuild.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/packages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpackages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/project.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fproject.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/vendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fvendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/composer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fcomposer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/composer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fcomposer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/project.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fproject.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Podfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPodfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Podfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPodfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/go.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgo.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/go.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgo.sum", + }, + Object { + "//": "used to scan Dockerfile", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*Dockerfile*", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/.snyk", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F.snyk", + }, + Object { + "//": "get list of API capabilities", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/capabilities", + }, + Object { + "//": "allow webhooks to be added, to allow commits to be checked by Snyk. Rules for what is sent to Snyk are controlled in the \`public\` accept filters", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/webhooks", + }, + Object { + "//": "allow webhooks to be deleted, used to cleanup when a user deactivates or deletes a project", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "DELETE", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/webhooks/:webhookId", + }, + Object { + "//": "used to create commit status messages", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/build-status/1.0/commits/:sha", + }, + Object { + "//": "used to create a new branch for fix PRs", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/branches", + }, + Object { + "//": "used to create or update a file for fix PRs", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "PUT", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/browse/*", + }, + Object { + "//": "used to create a pull request for fix PRs", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/pull-requests", + }, + Object { + "//": "used to query for open pull requests by branch", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/pull-requests", + }, + Object { + "//": "used to query for a merge-base for a pull request", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/pull-requests/:pullRequestId/changes", + }, + Object { + "//": "used to check for a repo's default branch", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/branches/default", + }, + Object { + "//": "Used to get a branch specified by query string", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/branches:filterText?", + }, + Object { + "//": "get a specific commit identified by the commit hash or name of a branch", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/commits/:sha", + }, + Object { + "//": "used to create a Code Insights report", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "PUT", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report", + }, + Object { + "//": "used to remove a Code Insights report", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "DELETE", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report", + }, + Object { + "//": "used to add Code Insights annotations to a report", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report/annotations", + }, + Object { + "//": "get list of API capabilities for Code Insights", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/capabilities", + }, + Object { + "//": "used to remove Code Insights annotations for a report", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "DELETE", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report/annotations", + }, + Object { + "//": "used to get current user. so we'll be able to fetch current user's repos, that are not part of any project.", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/application-properties", + }, + Object { + "//": "used to get current user. so we'll be able to fetch current user's repos, that are not part of any project - this is using atlassian's SDK api.", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/plugins/servlet/applinks/whoami", + }, + Object { + "//": "used to get the current user's project-like structure. So we'll be able to bind all user's private repos (that are not included in different project)", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:projectKey", + }, + Object { + "//": "used to check if the user has admin or higher permissions", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/admin/permissions/users", + }, + Object { + "//": "used to get all the users. it's called only for admin permissioned user. to retrieve all the repos they can access", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/users", + }, + Object { + "//": "used to redirect requests to snyk git client", + "method": "any", + "origin": "\${GIT_CLIENT_URL}", + "path": "/snykgit/*", + }, + Object { + "//": "used to fetch a given repo from API", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo", + }, + Object { + "//": "used to get default reviewers for a pull request", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/default-reviewers/1.0/projects/:projectKey/repos/:repo/reviewers", + }, + Object { + "//": "create a general pull request comment", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/pull-requests/:pullRequestId/comments", + }, + Object { + "//": "update a general pull request comment", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "PUT", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/pull-requests/:pullRequestId/comments/:commentId", + }, + Object { + "//": "get a general pull request comment", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/pull-requests/:pullRequestId/comments/:commentId", + }, + Object { + "//": "used to validate credentials", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/permissions/search", + }, + ], + "public": Array [ + Object { + "//": "used for pushing up webhooks from bitbucket-server", + "method": "POST", + "path": "/webhook/bitbucket-server/:webhookId", + }, + ], +} +`; + +exports[`filter Rules Loading Loads custom accept file - Testing github 1`] = ` +Object { + "private": Array [ + Object { + "//": "search for user's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/search/repositories", + }, + Object { + "//": "list the user's info, and validate their credentials", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/user", + }, + Object { + "//": "list the user's orgs", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/user/orgs", + }, + Object { + "//": "list the logged in user's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/user/repos", + }, + Object { + "//": "list a user's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/users/:username/repos", + }, + Object { + "//": "list an orgs's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/orgs/:username/repos", + }, + Object { + "//": "get a user's repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo", + }, + Object { + "//": "rate limit check", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/rate_limit", + }, + Object { + "//": "allow meta lookup on the api version", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/", + }, + Object { + "//": "allow webhooks to be added, to allow commits to be checked by Snyk. Rules for what is sent to Snyk are controlled in the \`public\` accept filters", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/hooks", + }, + Object { + "//": "allow webhooks to be deleted, used to cleanup when a user deactivates or deletes a project", + "method": "DELETE", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:owner/:repo/hooks/:id", + }, + Object { + "//": "used to create commit status messages", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/statuses/:sha", + }, + Object { + "//": "used to list branches on a repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches", + }, + Object { + "//": "used to get branch info", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch", + }, + Object { + "//": "used to get status checks on a branch", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch/protection/required_status_checks/contexts", + }, + Object { + "//": "used to create status checks on a branch", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch/protection/required_status_checks/contexts", + }, + Object { + "//": "used to delete status checks on a branch", + "method": "DELETE", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch/protection/required_status_checks/contexts", + }, + Object { + "//": "check if repo is public", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB}", + "path": "/:user/:repo", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/package.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpackage.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/package-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpackage-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/pom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/requirements/*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Frequirements%2F*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/requirements/*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Frequirements%2F*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/pyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/poetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpoetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/poetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpoetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/yarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fyarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/yarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fyarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/build.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fbuild.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/gradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/gradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Packages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPackages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Packages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FPackages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Directory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FDirectory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Directory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FDirectory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/build.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fbuild.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/packages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/packages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpackages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/project.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fproject.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/vendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fvendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/vendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fvendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/composer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fcomposer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/composer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fcomposer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/project.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fproject.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Podfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FPodfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Podfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FPodfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.sum", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/.snyk", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F.snyk", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/.snyk", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F.snyk", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/package.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpackage.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package-lock.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage-lock.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/package-lock.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpackage-lock.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gemfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGemfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gemfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGemfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pom.xml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpom.xml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/pom.xml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpom.xml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*req*.txt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*req*.txt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*req*.txt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*req*.txt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pyproject.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpyproject.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/pyproject.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpyproject.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/poetry.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpoetry.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/poetry.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpoetry.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/yarn.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fyarn.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/yarn.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fyarn.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.gradle", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.gradle", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/build.gradle", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fbuild.gradle", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.lockfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.lockfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/gradle.lockfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgradle.lockfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.properties", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.properties", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/gradle.properties", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgradle.properties", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Packages.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPackages.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Packages.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FPackages.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Directory.Build.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FDirectory.Build.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.targets", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.targets", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Directory.Build.targets", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FDirectory.Build.targets", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.sbt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.sbt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/build.sbt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fbuild.sbt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/packages.config", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackages.config", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/packages.config", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpackages.config", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.csproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.csproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*.csproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*.csproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.fsproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.fsproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*.fsproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*.fsproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.vbproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.vbproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*.vbproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*.vbproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/project.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fproject.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gopkg.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGopkg.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gopkg.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGopkg.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/vendor.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fvendor.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/vendor.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fvendor.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/composer.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fcomposer.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/composer.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fcomposer.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.assets.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.assets.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/project.assets.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fproject.assets.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Podfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FPodfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Podfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FPodfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.sum", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.sum", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.sum", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.sum", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*Dockerfile*", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*Dockerfile*", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to write or update ignore rules or existing patches", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/.snyk", + }, + Object { + "//": "used to write or update ignore rules or existing patches", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F.snyk", + }, + Object { + "//": "get details of the repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo", + }, + Object { + "//": "get the details of the commit to determine its SHA", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/commits/:ref", + "valid": Array [ + Object { + "header": "accept", + "values": Array [ + "application/vnd.github.v4.sha", + ], + }, + ], + }, + Object { + "//": "get a list of all the refs to match find whether an existing PR is open", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs", + }, + Object { + "//": "get the head commit of an individual ref", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/heads/:ref", + }, + Object { + "//": "get the details of an individual ref", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/:ref", + }, + Object { + "//": "compares two commits against each other", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/compare/:base...:head", + }, + Object { + "//": "search for open snyk pull requests", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls", + }, + Object { + "//": "get pull request data for getting merge sha and tracking PR processing state", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls/:pull_number", + }, + Object { + "//": "get pull request file names", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls/:pull_number/files", + }, + Object { + "//": "create branches for new commits", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs", + }, + Object { + "//": "create the pull request", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls", + }, + Object { + "//": "add pull request assignees", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/issues/:pull_number/assignees", + }, + Object { + "//": "update ref", + "method": "PATCH", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/:sha", + }, + Object { + "//": "update ref head", + "method": "PATCH", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/heads/:ref", + }, + Object { + "//": "get list of all files in a repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/trees/:ref", + }, + Object { + "//": "used to get repo's contributors list", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:owner/:repo/commits", + }, + Object { + "//": "used to redirect requests to snyk git client", + "method": "any", + "origin": "\${GIT_CLIENT_URL}", + "path": "/snykgit/*", + }, + Object { + "//": "query graphql", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_GRAPHQL}", + "path": "/graphql", + }, + Object { + "//": "create a general pull request comment", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/issues/:issueNumber/comments", + }, + Object { + "//": "update a general pull request comment", + "method": "PATCH", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/issues/comments/:commentId", + }, + Object { + "//": "create a pull request review", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls/:pullRef/reviews", + }, + ], + "public": Array [ + Object { + "//": "used for pushing up webhooks from github", + "method": "POST", + "path": "/webhook/github", + "valid": Array [ + Object { + "//": "accept all pull request state changes (these don't have files in them)", + "path": "pull_request.state", + "value": "open", + }, + Object { + "path": "commits.*.added.*", + "value": "package.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "package.json", + }, + Object { + "path": "commits.*.added.*", + "value": "package-lock.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "package-lock.json", + }, + Object { + "path": "commits.*.added.*", + "value": "Gemfile.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Gemfile.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "*req*.txt", + }, + Object { + "path": "commits.*.modified.*", + "value": "*req*.txt", + }, + Object { + "path": "commits.*.added.*", + "value": "requirements%2F*.txt", + }, + Object { + "path": "commits.*.modified.*", + "value": "requirements%2F*.txt", + }, + Object { + "path": "commits.*.added.*", + "value": "requirements/*.txt", + }, + Object { + "path": "commits.*.modified.*", + "value": "requirements/*.txt", + }, + Object { + "path": "commits.*.added.*", + "value": "pyproject.toml", + }, + Object { + "path": "commits.*.modified.*", + "value": "pyproject.toml", + }, + Object { + "path": "commits.*.added.*", + "value": "poetry.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "poetry.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "Pipfile", + }, + Object { + "path": "commits.*.modified.*", + "value": "Pipfile", + }, + Object { + "path": "commits.*.added.*", + "value": "Pipfile.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Pipfile.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "pom.xml", + }, + Object { + "path": "commits.*.modified.*", + "value": "pom.xml", + }, + Object { + "path": "commits.*.added.*", + "value": "build.gradle", + }, + Object { + "path": "commits.*.modified.*", + "value": "build.gradle", + }, + Object { + "path": "commits.*.added.*", + "value": "gradle.lockfile", + }, + Object { + "path": "commits.*.modified.*", + "value": "gradle.lockfile", + }, + Object { + "path": "commits.*.added.*", + "value": "gradle.properties", + }, + Object { + "path": "commits.*.modified.*", + "value": "gradle.properties", + }, + Object { + "path": "commits.*.added.*", + "value": "Packages.props", + }, + Object { + "path": "commits.*.modified.*", + "value": "Packages.props", + }, + Object { + "path": "commits.*.added.*", + "value": "Directory.Build.props", + }, + Object { + "path": "commits.*.modified.*", + "value": "Directory.Build.props", + }, + Object { + "path": "commits.*.added.*", + "value": "Directory.Build.targets", + }, + Object { + "path": "commits.*.modified.*", + "value": "Directory.Build.targets", + }, + Object { + "path": "commits.*.added.*", + "value": "build.sbt", + }, + Object { + "path": "commits.*.modified.*", + "value": "build.sbt", + }, + Object { + "path": "commits.*.added.*", + "value": "yarn.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "yarn.lock", + }, + Object { + "path": "commits.*.added.*", + "value": ".snyk", + }, + Object { + "path": "commits.*.modified.*", + "value": ".snyk", + }, + Object { + "path": "commits.*.added.*", + "value": "packages.config", + }, + Object { + "path": "commits.*.modified.*", + "value": "packages.config", + }, + Object { + "path": "commits.*.added.*", + "value": "*.csproj", + }, + Object { + "path": "commits.*.modified.*", + "value": "*.csproj", + }, + Object { + "path": "commits.*.added.*", + "value": "*.vbproj", + }, + Object { + "path": "commits.*.modified.*", + "value": "*.vbproj", + }, + Object { + "path": "commits.*.added.*", + "value": "*.fsproj", + }, + Object { + "path": "commits.*.modified.*", + "value": "*.fsproj", + }, + Object { + "path": "commits.*.added.*", + "value": "project.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "project.json", + }, + Object { + "path": "commits.*.added.*", + "value": "Gopkg.toml", + }, + Object { + "path": "commits.*.modified.*", + "value": "Gopkg.toml", + }, + Object { + "path": "commits.*.added.*", + "value": "Gopkg.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Gopkg.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "vendor.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "vendor.json", + }, + Object { + "path": "commits.*.added.*", + "value": "composer.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "composer.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "composer.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "composer.json", + }, + Object { + "path": "commits.*.added.*", + "value": "project.assets.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "project.assets.json", + }, + Object { + "path": "commits.*.added.*", + "value": "Podfile", + }, + Object { + "path": "commits.*.modified.*", + "value": "Podfile", + }, + Object { + "path": "commits.*.added.*", + "value": "Podfile.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Podfile.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "go.mod", + }, + Object { + "path": "commits.*.modified.*", + "value": "go.mod", + }, + Object { + "path": "commits.*.added.*", + "value": "go.sum", + }, + Object { + "path": "commits.*.modified.*", + "value": "go.sum", + }, + ], + }, + Object { + "//": "used for pushing up webhooks from github", + "method": "POST", + "path": "/webhook/github/:webhookId", + }, + ], +} +`; + +exports[`filter Rules Loading Loads custom accept file - Testing github-enterprise 1`] = ` +Object { + "private": Array [ + Object { + "//": "search for user's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/search/repositories", + }, + Object { + "//": "list the user's info, and validate their credentials", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/user", + }, + Object { + "//": "list the user's orgs", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/user/orgs", + }, + Object { + "//": "list the logged in user's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/user/repos", + }, + Object { + "//": "list a user's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/users/:username/repos", + }, + Object { + "//": "list an orgs's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/orgs/:username/repos", + }, + Object { + "//": "get a user's repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo", + }, + Object { + "//": "rate limit check", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/rate_limit", + }, + Object { + "//": "allow meta lookup on the api version", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/", + }, + Object { + "//": "allow webhooks to be added, to allow commits to be checked by Snyk. Rules for what is sent to Snyk are controlled in the \`public\` accept filters", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/hooks", + }, + Object { + "//": "allow webhooks to be deleted, used to cleanup when a user deactivates or deletes a project", + "method": "DELETE", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:owner/:repo/hooks/:id", + }, + Object { + "//": "used to create commit status messages", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/statuses/:sha", + }, + Object { + "//": "used to list branches on a repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches", + }, + Object { + "//": "used to get branch info", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch", + }, + Object { + "//": "used to get status checks on a branch", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch/protection/required_status_checks/contexts", + }, + Object { + "//": "used to create status checks on a branch", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch/protection/required_status_checks/contexts", + }, + Object { + "//": "used to delete status checks on a branch", + "method": "DELETE", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch/protection/required_status_checks/contexts", + }, + Object { + "//": "check if repo is public", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB}", + "path": "/:user/:repo", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/requirements/*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Frequirements%2F*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/poetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpoetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/yarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fyarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Packages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPackages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/packages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/vendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fvendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.sum", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package-lock.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage-lock.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pom.xml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpom.xml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*req*.txt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*req*.txt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pyproject.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpyproject.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/poetry.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpoetry.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/yarn.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fyarn.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.gradle", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.gradle", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.lockfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.lockfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.properties", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.properties", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Packages.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPackages.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.targets", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.targets", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.sbt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.sbt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/packages.config", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackages.config", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.csproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.csproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.fsproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.fsproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.vbproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.vbproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/vendor.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fvendor.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.assets.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.assets.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.sum", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.sum", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.sum", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.sum", + }, + Object { + "//": "used to write or update ignore rules or existing patches", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/.snyk", + }, + Object { + "//": "used to write or update ignore rules or existing patches", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F.snyk", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*Dockerfile*", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*Dockerfile*", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/.snyk", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F.snyk", + }, + Object { + "//": "get details of the repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo", + }, + Object { + "//": "get the details of the commit to determine its SHA", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/commits/:ref", + "valid": Array [ + Object { + "header": "accept", + "values": Array [ + "application/vnd.github.v4.sha", + ], + }, + ], + }, + Object { + "//": "get a list of all the refs to match find whether an existing PR is open", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs", + }, + Object { + "//": "get the head commit of an individual ref", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/heads/:ref", + }, + Object { + "//": "get the details of an individual ref", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/:ref", + }, + Object { + "//": "compares two commits against each other", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/compare/:base...:head", + }, + Object { + "//": "search for open snyk pull requests", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls", + }, + Object { + "//": "get pull request data for getting merge sha and tracking PR processing state", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls/:pull_number", + }, + Object { + "//": "get pull request file names", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls/:pull_number/files", + }, + Object { + "//": "add commit data for new PR", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs", + }, + Object { + "//": "create the pull request", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls", + }, + Object { + "//": "add pull request assignees", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/issues/:pull_number/assignees", + }, + Object { + "//": "update ref", + "method": "PATCH", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/:sha", + }, + Object { + "//": "update ref head", + "method": "PATCH", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/heads/:ref", + }, + Object { + "//": "get list of all files in a repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/trees/:ref", + }, + Object { + "//": "used to get repo's contributors list", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:owner/:repo/commits", + }, + Object { + "//": "used to redirect requests to snyk git client", + "method": "any", + "origin": "\${GIT_CLIENT_URL}", + "path": "/snykgit/*", + }, + Object { + "//": "query graphql", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_GRAPHQL}", + "path": "/graphql", + }, + Object { + "//": "create a general pull request comment", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/issues/:issueNumber/comments", + }, + Object { + "//": "update a general pull request comment", + "method": "PATCH", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/issues/comments/:commentId", + }, + Object { + "//": "create a pull request review", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls/:pullRef/reviews", + }, + ], + "public": Array [ + Object { + "//": "used for pushing up webhooks from github", + "method": "POST", + "path": "/webhook/github", + "valid": Array [ + Object { + "//": "accept all pull request state changes (these don't have files in them)", + "path": "pull_request.state", + "value": "open", + }, + Object { + "path": "commits.*.added.*", + "value": "package.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "package.json", + }, + Object { + "path": "commits.*.added.*", + "value": "package-lock.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "package-lock.json", + }, + Object { + "path": "commits.*.added.*", + "value": "Gemfile.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Gemfile.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "*req*.txt", + }, + Object { + "path": "commits.*.modified.*", + "value": "*req*.txt", + }, + Object { + "path": "commits.*.added.*", + "value": "requirements%2F*.txt", + }, + Object { + "path": "commits.*.modified.*", + "value": "requirements%2F*.txt", + }, + Object { + "path": "commits.*.added.*", + "value": "requirements/*.txt", + }, + Object { + "path": "commits.*.modified.*", + "value": "requirements/*.txt", + }, + Object { + "path": "commits.*.added.*", + "value": "pyproject.toml", + }, + Object { + "path": "commits.*.modified.*", + "value": "pyproject.toml", + }, + Object { + "path": "commits.*.added.*", + "value": "poetry.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "poetry.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "Pipfile", + }, + Object { + "path": "commits.*.modified.*", + "value": "Pipfile", + }, + Object { + "path": "commits.*.added.*", + "value": "Pipfile.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Pipfile.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "pom.xml", + }, + Object { + "path": "commits.*.modified.*", + "value": "pom.xml", + }, + Object { + "path": "commits.*.added.*", + "value": "build.gradle", + }, + Object { + "path": "commits.*.modified.*", + "value": "build.gradle", + }, + Object { + "path": "commits.*.added.*", + "value": "gradle.lockfile", + }, + Object { + "path": "commits.*.modified.*", + "value": "gradle.lockfile", + }, + Object { + "path": "commits.*.added.*", + "value": "gradle.properties", + }, + Object { + "path": "commits.*.modified.*", + "value": "gradle.properties", + }, + Object { + "path": "commits.*.added.*", + "value": "Directory.Build.targets", + }, + Object { + "path": "commits.*.modified.*", + "value": "Directory.Build.targets", + }, + Object { + "path": "commits.*.added.*", + "value": "Packages.props", + }, + Object { + "path": "commits.*.modified.*", + "value": "Packages.props", + }, + Object { + "path": "commits.*.added.*", + "value": "Directory.Build.props", + }, + Object { + "path": "commits.*.modified.*", + "value": "Directory.Build.props", + }, + Object { + "path": "commits.*.added.*", + "value": "build.sbt", + }, + Object { + "path": "commits.*.modified.*", + "value": "build.sbt", + }, + Object { + "path": "commits.*.added.*", + "value": "yarn.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "yarn.lock", + }, + Object { + "path": "commits.*.added.*", + "value": ".snyk", + }, + Object { + "path": "commits.*.modified.*", + "value": ".snyk", + }, + Object { + "path": "commits.*.added.*", + "value": "packages.config", + }, + Object { + "path": "commits.*.modified.*", + "value": "packages.config", + }, + Object { + "path": "commits.*.added.*", + "value": "*.csproj", + }, + Object { + "path": "commits.*.modified.*", + "value": "*.csproj", + }, + Object { + "path": "commits.*.added.*", + "value": "*.vbproj", + }, + Object { + "path": "commits.*.modified.*", + "value": "*.vbproj", + }, + Object { + "path": "commits.*.added.*", + "value": "*.fsproj", + }, + Object { + "path": "commits.*.modified.*", + "value": "*.fsproj", + }, + Object { + "path": "commits.*.added.*", + "value": "project.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "project.json", + }, + Object { + "path": "commits.*.added.*", + "value": "Gopkg.toml", + }, + Object { + "path": "commits.*.modified.*", + "value": "Gopkg.toml", + }, + Object { + "path": "commits.*.added.*", + "value": "Gopkg.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Gopkg.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "vendor.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "vendor.json", + }, + Object { + "path": "commits.*.added.*", + "value": "composer.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "composer.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "composer.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "composer.json", + }, + Object { + "path": "commits.*.added.*", + "value": "project.assets.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "project.assets.json", + }, + Object { + "path": "commits.*.added.*", + "value": "Podfile", + }, + Object { + "path": "commits.*.modified.*", + "value": "Podfile", + }, + Object { + "path": "commits.*.added.*", + "value": "Podfile.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Podfile.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "go.mod", + }, + Object { + "path": "commits.*.modified.*", + "value": "go.mod", + }, + Object { + "path": "commits.*.added.*", + "value": "go.sum", + }, + Object { + "path": "commits.*.modified.*", + "value": "go.sum", + }, + ], + }, + Object { + "//": "used for pushing up webhooks from github", + "method": "POST", + "path": "/webhook/github/:webhookId", + }, + ], +} +`; + +exports[`filter Rules Loading Loads custom accept file - Testing gitlab 1`] = ` +Object { + "private": Array [ + Object { + "//": "identify user", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/user", + }, + Object { + "//": "list the user's projects", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects", + }, + Object { + "//": "list the user's projects", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v3/projects", + }, + Object { + "//": "list the user's visible projects", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v3/projects/visible", + }, + Object { + "//": "get a user's project", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v3/projects/:project", + }, + Object { + "//": "get a user's project", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project", + }, + Object { + "//": "used to search all manifest files", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/tree", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/package.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackage.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/package-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackage-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/pom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/requirements/*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Frequirements%2F*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/pyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/poetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpoetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Pipfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPipfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Pipfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPipfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/yarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fyarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/build.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fbuild.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/gradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/gradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Directory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FDirectory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Directory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FDirectory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Packages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPackages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/build.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fbuild.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/packages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/project.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fproject.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/vendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fvendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/composer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fcomposer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/composer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fcomposer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/project.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fproject.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Podfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPodfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Podfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPodfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/go.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgo.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/go.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgo.sum", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*Dockerfile*", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/.snyk", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F.snyk", + }, + Object { + "//": "used to determine the full dependency tree for v3 protocol", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v3/projects/:project/repository/files", + "valid": Array [ + Object { + "queryParam": "file_path", + "values": Array [ + "**/package.json", + "**%2Fpackage.json", + "**/yarn.lock", + "**%2Fyarn.lock", + "**/package-lock.json", + "**%2Fpackage-lock.json", + "**/Gemfile", + "**%2FGemfile", + "**/Gemfile.lock", + "**%2FGemfile.lock", + "**/pom.xml", + "**%2Fpom.xml", + "**/*req*.txt", + "**%2F*req*.txt", + "**/requirements/*.txt", + "**%2Frequirements%2F*.txt", + "**/pyproject.toml", + "**%2Fpyproject.toml", + "**/poetry.lock", + "**%2Fpoetry.lock", + "**/build.gradle", + "**%2Fbuild.gradle", + "**/gradle.lockfile", + "**%2Fgradle.lockfile", + "**/build.sbt", + "**%2Fbuild.sbt", + "**/.snyk", + "**%2F.snyk", + "**/packages.config", + "**%2Fpackages.config", + "**/*.csproj", + "**%2F*.csproj", + "**/*.vbproj", + "**%2F*.vbproj", + "**/*.fsproj", + "**%2F*.fsproj", + "**/project.json", + "**%2Fproject.json", + "**/Gopkg.toml", + "**%2FGopkg.toml", + "**/Gopkg.lock", + "**%2FGopkg.lock", + "**/vendor.json", + "**%2Fvendor.json", + "**/composer.lock", + "**%2Fcomposer.lock", + "**/composer.json", + "**%2Fcomposer.json", + "**/project.assets.json", + "**%2Fproject.assets.json", + "**/Podfile", + "**%2FPodfile", + "**/Podfile.lock", + "**%2FPodfile.lock", + "**/go.mod", + "**%2Fgo.mod", + "**/go.sum", + "**%2Fgo.sum", + ], + }, + ], + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/package.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackage.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/package-lock.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackage-lock.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gemfile.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGemfile.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gemfile", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGemfile", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/pom.xml", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpom.xml", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*req*.txt", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*req*.txt", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/pyproject.toml", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpyproject.toml", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/poetry.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpoetry.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/yarn.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fyarn.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/build.gradle", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fbuild.gradle", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/gradle.lockfile", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgradle.lockfile", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/gradle.properties", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgradle.properties", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Directory.Build.targets", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FDirectory.Build.targets", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Directory.Build.props", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FDirectory.Build.props", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Packages.props", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPackages.props", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/build.sbt", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fbuild.sbt", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/packages.config", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackages.config", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.csproj", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.csproj", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.vbproj", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.vbproj", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.fsproj", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.fsproj", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/project.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fproject.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gopkg.toml", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGopkg.toml", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gopkg.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGopkg.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/vendor.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fvendor.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/composer.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fcomposer.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/composer.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fcomposer.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/project.assets.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fproject.assets.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Podfile", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPodfile", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Podfile.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPodfile.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/go.mod", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgo.mod", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/go.sum", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgo.sum", + }, + Object { + "//": "used to create Dockerfile", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*Dockerfile*", + }, + Object { + "//": "used to create Dockerfile", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*Dockerfile*", + }, + Object { + "//": "used to create ignore rules or patches", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/.snyk", + }, + Object { + "//": "used to create ignore rules or patches", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F.snyk", + }, + Object { + "//": "used to create manifest file for v3 protocol", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v3/projects/:project/repository/files", + "valid": Array [ + Object { + "queryParam": "file_path", + "values": Array [ + "**/package.json", + "**%2Fpackage.json", + "**/yarn.lock", + "**%2Fyarn.lock", + "**/package-lock.json", + "**%2Fpackage-lock.json", + "**/Gemfile", + "**%2FGemfile", + "**/Gemfile.lock", + "**%2FGemfile.lock", + "**/pom.xml", + "**%2Fpom.xml", + "**/*req*.txt", + "**%2F*req*.txt", + "**/pyproject.toml", + "**%2Fpyproject.toml", + "**/poetry.lock", + "**%2Fpoetry.lock", + "**/build.gradle", + "**%2Fbuild.gradle", + "**/gradle.lockfile", + "**%2Fgradle.lockfile", + "**/build.sbt", + "**%2Fbuild.sbt", + "**/.snyk", + "**%2F.snyk", + "**/packages.config", + "**%2Fpackages.config", + "**/*.csproj", + "**%2F*.csproj", + "**/*.vbproj", + "**%2F*.vbproj", + "**/*.fsproj", + "**%2F*.fsproj", + "**/project.json", + "**%2Fproject.json", + "**/Gopkg.toml", + "**%2FGopkg.toml", + "**/Gopkg.lock", + "**%2FGopkg.lock", + "**/vendor.json", + "**%2Fvendor.json", + "**/composer.lock", + "**%2Fcomposer.lock", + "**/composer.json", + "**%2Fcomposer.json", + "**/project.assets.json", + "**%2Fproject.assets.json", + "**/Podfile", + "**%2FPodfile", + "**/Podfile.lock", + "**%2FPodfile.lock", + "**/go.mod", + "**%2Fgo.mod", + "**/go.sum", + "**%2Fgo.sum", + ], + }, + ], + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/package.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackage.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/package-lock.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackage-lock.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gemfile.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGemfile.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gemfile", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGemfile", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/pom.xml", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpom.xml", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*req*.txt", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*req*.txt", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/pyproject.toml", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpyproject.toml", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/poetry.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpoetry.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/yarn.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fyarn.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/build.gradle", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fbuild.gradle", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/gradle.lockfile", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgradle.lockfile", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/gradle.properties", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgradle.properties", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Directory.Build.targets", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FDirectory.Build.targets", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Directory.Build.props", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FDirectory.Build.props", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Packages.props", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPackages.props", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/build.sbt", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fbuild.sbt", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/packages.config", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackages.config", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.csproj", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.csproj", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.vbproj", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.vbproj", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.fsproj", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.fsproj", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/project.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fproject.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gopkg.toml", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGopkg.toml", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gopkg.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGopkg.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/vendor.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fvendor.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/composer.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fcomposer.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/composer.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fcomposer.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/project.assets.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fproject.assets.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Podfile", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPodfile", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Podfile.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPodfile.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/go.mod", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgo.mod", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/go.sum", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgo.sum", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*Dockerfile*", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*Dockerfile*", + }, + Object { + "//": "used to update ignore rules or existing patches", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/.snyk", + }, + Object { + "//": "used to update ignore rules or existing patches", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F.snyk", + }, + Object { + "//": "used to update manifest file for v3 protocol", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v3/projects/:project/repository/files", + "valid": Array [ + Object { + "queryParam": "file_path", + "values": Array [ + "**/package.json", + "**%2Fpackage.json", + "**/yarn.lock", + "**%2Fyarn.lock", + "**/package-lock.json", + "**%2Fpackage-lock.json", + "**/Gemfile", + "**%2FGemfile", + "**/Gemfile.lock", + "**%2FGemfile.lock", + "**/pom.xml", + "**%2Fpom.xml", + "**/*req*.txt", + "**%2F*req*.txt", + "**/pyproject.toml", + "**%2Fpyproject.toml", + "**/poetry.lock", + "**%2Fpoetry.lock", + "**/build.gradle", + "**%2Fbuild.gradle", + "**/gradle.lockfile", + "**%2Fgradle.lockfile", + "**/build.sbt", + "**%2Fbuild.sbt", + "**/.snyk", + "**%2F.snyk", + "**/packages.config", + "**%2Fpackages.config", + "**/*.csproj", + "**%2F*.csproj", + "**/*.vbproj", + "**%2F*.vbproj", + "**/*.fsproj", + "**%2F*.fsproj", + "**/project.json", + "**%2Fproject.json", + "**/Gopkg.toml", + "**%2FGopkg.toml", + "**/Gopkg.lock", + "**%2FGopkg.lock", + "**/vendor.json", + "**%2Fvendor.json", + "**/composer.lock", + "**%2Fcomposer.lock", + "**/composer.json", + "**%2Fcomposer.json", + "**/project.assets.json", + "**%2Fproject.assets.json", + "**/Podfile", + "**%2FPodfile", + "**/Podfile.lock", + "**%2FPodfile.lock", + "**/go.mod", + "**%2Fgo.mod", + "**/go.sum", + "**%2Fgo.sum", + ], + }, + ], + }, + Object { + "//": "allow webhooks to be added, to allow commits to be checked by Snyk. Rules for what is sent to Snyk are controlled in the \`public\` accept filters", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/hooks", + }, + Object { + "//": "allow webhooks to be deleted, used to cleanup when a user deactivates or deletes a project", + "method": "DELETE", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/hooks/:id", + }, + Object { + "//": "used to create commit status messages", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/statuses/:sha", + }, + Object { + "//": "used to create branch for fix merge request", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/branches", + }, + Object { + "//": "used to create merge request for fix merge request", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/merge_requests", + }, + Object { + "//": "used to fetch fix merge request information", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/merge_requests", + }, + Object { + "//": "list the user's groups", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/groups", + }, + Object { + "//": "list of projects in a group", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/groups/:id/projects", + }, + Object { + "//": "get current user. so we'll be able to fetch it's projects", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/user", + }, + Object { + "//": "get user's projects", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/users/:user/projects", + }, + Object { + "//": "get all users. so we'll be able to fetch projects that admin can access", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/users", + }, + Object { + "//": "used to get repo's contributors list", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/commits", + }, + Object { + "//": "get a specific commit identified by the commit hash or name of a branch or tag.", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/commits/:sha", + }, + Object { + "//": "get merge base of two commits for given project.", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/merge_base", + }, + Object { + "//": "used to redirect requests to snyk git client", + "method": "any", + "origin": "\${GIT_CLIENT_URL}", + "path": "/snykgit/*", + }, + Object { + "//": "get token information to check scope", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/personal_access_tokens/self", + }, + ], + "public": Array [ + Object { + "//": "used for pushing up webhooks from gitlab", + "method": "POST", + "path": "/webhook/gitlab/:webhookId", + }, + ], +} +`; + exports[`filter Rules Loading Loads normal accept file - Testing azure-repos 1`] = ` Object { "private": Array [ @@ -64587,7 +72397,7817 @@ Object { } `; -exports[`filter Rules Loading Loads normal accept file - Testing bitbucket-server 1`] = ` +exports[`filter Rules Loading Loads normal accept file - Testing bitbucket-server 1`] = ` +Object { + "private": Array [ + Object { + "//": "list the user's projects", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects", + }, + Object { + "//": "list the project's repos", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:projectKey/repos", + }, + Object { + "//": "list the user's repos", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/repos", + }, + Object { + "//": "fetch a given repo", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo", + }, + Object { + "//": "read all file names to find manifests", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/files/:searchPath?", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/package.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpackage.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/package-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpackage-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/pom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/requirements/*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Frequirements%2F*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/pyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/poetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpoetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Pipfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPipfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Pipfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPipfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/yarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fyarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/build.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fbuild.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/gradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/gradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Packages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPackages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Directory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FDirectory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Directory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FDirectory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/build.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fbuild.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/packages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpackages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/project.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fproject.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/vendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fvendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/composer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fcomposer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/composer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fcomposer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/project.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fproject.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Podfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPodfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Podfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPodfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/go.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgo.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/go.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgo.sum", + }, + Object { + "//": "used to scan Dockerfile", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*Dockerfile*", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/.snyk", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F.snyk", + }, + Object { + "//": "get list of API capabilities", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/capabilities", + }, + Object { + "//": "allow webhooks to be added, to allow commits to be checked by Snyk. Rules for what is sent to Snyk are controlled in the \`public\` accept filters", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/webhooks", + }, + Object { + "//": "allow webhooks to be deleted, used to cleanup when a user deactivates or deletes a project", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "DELETE", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/webhooks/:webhookId", + }, + Object { + "//": "used to create commit status messages", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/build-status/1.0/commits/:sha", + }, + Object { + "//": "used to create a new branch for fix PRs", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/branches", + }, + Object { + "//": "used to create or update a file for fix PRs", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "PUT", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/browse/*", + }, + Object { + "//": "used to create a pull request for fix PRs", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/pull-requests", + }, + Object { + "//": "used to query for open pull requests by branch", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/pull-requests", + }, + Object { + "//": "used to query for a merge-base for a pull request", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/pull-requests/:pullRequestId/changes", + }, + Object { + "//": "used to check for a repo's default branch", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/branches/default", + }, + Object { + "//": "Used to get a branch specified by query string", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/branches:filterText?", + }, + Object { + "//": "get a specific commit identified by the commit hash or name of a branch", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/commits/:sha", + }, + Object { + "//": "used to create a Code Insights report", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "PUT", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report", + }, + Object { + "//": "used to remove a Code Insights report", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "DELETE", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report", + }, + Object { + "//": "used to add Code Insights annotations to a report", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report/annotations", + }, + Object { + "//": "get list of API capabilities for Code Insights", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/capabilities", + }, + Object { + "//": "used to remove Code Insights annotations for a report", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "DELETE", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report/annotations", + }, + Object { + "//": "used to get current user. so we'll be able to fetch current user's repos, that are not part of any project.", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/application-properties", + }, + Object { + "//": "used to get current user. so we'll be able to fetch current user's repos, that are not part of any project - this is using atlassian's SDK api.", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/plugins/servlet/applinks/whoami", + }, + Object { + "//": "used to get the current user's project-like structure. So we'll be able to bind all user's private repos (that are not included in different project)", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:projectKey", + }, + Object { + "//": "used to check if the user has admin or higher permissions", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/admin/permissions/users", + }, + Object { + "//": "used to get all the users. it's called only for admin permissioned user. to retrieve all the repos they can access", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/users", + }, + Object { + "//": "used to redirect requests to snyk git client", + "method": "any", + "origin": "\${GIT_CLIENT_URL}", + "path": "/snykgit/*", + }, + Object { + "//": "used to fetch a given repo from API", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo", + }, + Object { + "//": "used to get default reviewers for a pull request", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/default-reviewers/1.0/projects/:projectKey/repos/:repo/reviewers", + }, + Object { + "//": "create a general pull request comment", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/pull-requests/:pullRequestId/comments", + }, + Object { + "//": "update a general pull request comment", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "PUT", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/pull-requests/:pullRequestId/comments/:commentId", + }, + Object { + "//": "get a general pull request comment", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/pull-requests/:pullRequestId/comments/:commentId", + }, + Object { + "//": "used to validate credentials", + "auth": Object { + "password": "\${BITBUCKET_PASSWORD}", + "scheme": "basic", + "username": "\${BITBUCKET_USERNAME}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/permissions/search", + }, + ], + "public": Array [ + Object { + "//": "used for pushing up webhooks from bitbucket-server", + "method": "POST", + "path": "/webhook/bitbucket-server/:webhookId", + }, + ], +} +`; + +exports[`filter Rules Loading Loads normal accept file - Testing bitbucket-server-bearer-auth 1`] = ` +Object { + "private": Array [ + Object { + "//": "list the user's projects", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects", + }, + Object { + "//": "list the project's repos", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:projectKey/repos", + }, + Object { + "//": "list the user's repos", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/repos", + }, + Object { + "//": "fetch a given repo", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo", + }, + Object { + "//": "read all file names to find manifests", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/files/:searchPath?", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/package.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpackage.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/package-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpackage-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/pom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/requirements/*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Frequirements%2F*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/pyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/poetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpoetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Pipfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPipfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Pipfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPipfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/yarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fyarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/build.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fbuild.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/gradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/gradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Packages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPackages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Directory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FDirectory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Directory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FDirectory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/build.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fbuild.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/packages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fpackages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/project.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fproject.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Gopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FGopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/vendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fvendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/composer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fcomposer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/composer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fcomposer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/project.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fproject.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Podfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPodfile", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/Podfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2FPodfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/go.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgo.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/go.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2Fgo.sum", + }, + Object { + "//": "used to scan Dockerfile", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F*Dockerfile*", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*/.snyk", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/browse*%2F.snyk", + }, + Object { + "//": "get list of API capabilities", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/capabilities", + }, + Object { + "//": "allow webhooks to be added, to allow commits to be checked by Snyk. Rules for what is sent to Snyk are controlled in the \`public\` accept filters", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/webhooks", + }, + Object { + "//": "allow webhooks to be deleted, used to cleanup when a user deactivates or deletes a project", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "DELETE", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/webhooks/:webhookId", + }, + Object { + "//": "used to create commit status messages", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/build-status/1.0/commits/:sha", + }, + Object { + "//": "used to create a new branch for fix PRs", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/branches", + }, + Object { + "//": "used to create or update a file for fix PRs", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "PUT", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/browse/*", + }, + Object { + "//": "used to create a pull request for fix PRs", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/pull-requests", + }, + Object { + "//": "used to query for open pull requests by branch", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/pull-requests", + }, + Object { + "//": "used to query for a merge-base for a pull request", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/pull-requests/:pullRequestId/changes", + }, + Object { + "//": "used to check for a repo's default branch", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/branches/default", + }, + Object { + "//": "Used to get a branch specified by query string", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/branches:filterText?", + }, + Object { + "//": "get a specific commit identified by the commit hash or name of a branch", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/commits/:sha", + }, + Object { + "//": "used to create a Code Insights report", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "PUT", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report", + }, + Object { + "//": "used to remove a Code Insights report", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "DELETE", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report", + }, + Object { + "//": "used to add Code Insights annotations to a report", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report/annotations", + }, + Object { + "//": "get list of API capabilities for Code Insights", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/capabilities", + }, + Object { + "//": "used to remove Code Insights annotations for a report", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "DELETE", + "origin": "https://\${BITBUCKET}", + "path": "/rest/insights/:apiVersion/projects/:project/repos/:repo/commits/:sha/reports/:report/annotations", + }, + Object { + "//": "used to get current user. so we'll be able to fetch current user's repos, that are not part of any project.", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/application-properties", + }, + Object { + "//": "used to get current user. so we'll be able to fetch current user's repos, that are not part of any project - this is using atlassian's SDK api.", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/plugins/servlet/applinks/whoami", + }, + Object { + "//": "used to get the current user's project-like structure. So we'll be able to bind all user's private repos (that are not included in different project)", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:projectKey", + }, + Object { + "//": "used to check if the user has admin or higher permissions", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/admin/permissions/users", + }, + Object { + "//": "used to get all the users. it's called only for admin permissioned user. to retrieve all the repos they can access", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/users", + }, + Object { + "//": "used to redirect requests to snyk git client", + "method": "any", + "origin": "\${GIT_CLIENT_URL}", + "path": "/snykgit/*", + }, + Object { + "//": "used to fetch a given repo from API", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo", + }, + Object { + "//": "used to get default reviewers for a pull request", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/default-reviewers/1.0/projects/:projectKey/repos/:repo/reviewers", + }, + Object { + "//": "create a general pull request comment", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "POST", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/pull-requests/:pullRequestId/comments", + }, + Object { + "//": "update a general pull request comment", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "PUT", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/pull-requests/:pullRequestId/comments/:commentId", + }, + Object { + "//": "get a general pull request comment", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET_API}", + "path": "/projects/:project/repos/:repo/pull-requests/:pullRequestId/comments/:commentId", + }, + Object { + "//": "used to validate credentials", + "auth": Object { + "scheme": "bearer", + "token": "\${BITBUCKET_PAT}", + }, + "method": "GET", + "origin": "https://\${BITBUCKET}", + "path": "/rest/api/1.0/projects/:project/repos/:repo/permissions/search", + }, + ], + "public": Array [ + Object { + "//": "used for pushing up webhooks from bitbucket-server", + "method": "POST", + "path": "/webhook/bitbucket-server/:webhookId", + }, + ], +} +`; + +exports[`filter Rules Loading Loads normal accept file - Testing github 1`] = ` +Object { + "private": Array [ + Object { + "//": "search for user's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/search/repositories", + }, + Object { + "//": "list the user's info, and validate their credentials", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/user", + }, + Object { + "//": "list the user's orgs", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/user/orgs", + }, + Object { + "//": "list the logged in user's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/user/repos", + }, + Object { + "//": "list a user's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/users/:username/repos", + }, + Object { + "//": "list an orgs's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/orgs/:username/repos", + }, + Object { + "//": "get a user's repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo", + }, + Object { + "//": "rate limit check", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/rate_limit", + }, + Object { + "//": "allow meta lookup on the api version", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/", + }, + Object { + "//": "allow webhooks to be added, to allow commits to be checked by Snyk. Rules for what is sent to Snyk are controlled in the \`public\` accept filters", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/hooks", + }, + Object { + "//": "allow webhooks to be deleted, used to cleanup when a user deactivates or deletes a project", + "method": "DELETE", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:owner/:repo/hooks/:id", + }, + Object { + "//": "used to create commit status messages", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/statuses/:sha", + }, + Object { + "//": "used to list branches on a repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches", + }, + Object { + "//": "used to get branch info", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch", + }, + Object { + "//": "used to get status checks on a branch", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch/protection/required_status_checks/contexts", + }, + Object { + "//": "used to create status checks on a branch", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch/protection/required_status_checks/contexts", + }, + Object { + "//": "used to delete status checks on a branch", + "method": "DELETE", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch/protection/required_status_checks/contexts", + }, + Object { + "//": "check if repo is public", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB}", + "path": "/:user/:repo", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/package.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpackage.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/package-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpackage-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/pom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/requirements/*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Frequirements%2F*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/requirements/*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Frequirements%2F*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/pyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/poetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpoetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/poetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpoetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/yarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fyarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/yarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fyarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/build.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fbuild.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/gradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/gradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Packages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPackages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Packages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FPackages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Directory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FDirectory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Directory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FDirectory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/build.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fbuild.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/packages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/packages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpackages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/project.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fproject.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/vendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fvendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/vendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fvendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/composer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fcomposer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/composer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fcomposer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/project.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fproject.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Podfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FPodfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Podfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FPodfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.sum", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/.snyk", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F.snyk", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/.snyk", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F.snyk", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/package.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpackage.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package-lock.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage-lock.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/package-lock.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpackage-lock.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gemfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGemfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gemfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGemfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pom.xml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpom.xml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/pom.xml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpom.xml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*req*.txt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*req*.txt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*req*.txt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*req*.txt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pyproject.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpyproject.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/pyproject.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpyproject.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/poetry.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpoetry.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/poetry.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpoetry.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/yarn.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fyarn.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/yarn.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fyarn.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.gradle", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.gradle", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/build.gradle", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fbuild.gradle", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.lockfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.lockfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/gradle.lockfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgradle.lockfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.properties", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.properties", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/gradle.properties", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgradle.properties", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Packages.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPackages.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Packages.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FPackages.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Directory.Build.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FDirectory.Build.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.targets", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.targets", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Directory.Build.targets", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FDirectory.Build.targets", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.sbt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.sbt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/build.sbt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fbuild.sbt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/packages.config", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackages.config", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/packages.config", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fpackages.config", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.csproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.csproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*.csproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*.csproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.fsproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.fsproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*.fsproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*.fsproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.vbproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.vbproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*.vbproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*.vbproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/project.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fproject.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gopkg.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGopkg.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Gopkg.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FGopkg.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/vendor.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fvendor.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/vendor.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fvendor.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/composer.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fcomposer.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/composer.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fcomposer.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.assets.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.assets.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/project.assets.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fproject.assets.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Podfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FPodfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/Podfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2FPodfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.sum", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.sum", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.sum", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.sum", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*Dockerfile*", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*Dockerfile*", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to write or update ignore rules or existing patches", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/.snyk", + }, + Object { + "//": "used to write or update ignore rules or existing patches", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F.snyk", + }, + Object { + "//": "get details of the repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo", + }, + Object { + "//": "get the details of the commit to determine its SHA", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/commits/:ref", + "valid": Array [ + Object { + "header": "accept", + "values": Array [ + "application/vnd.github.v4.sha", + ], + }, + ], + }, + Object { + "//": "get a list of all the refs to match find whether an existing PR is open", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs", + }, + Object { + "//": "get the head commit of an individual ref", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/heads/:ref", + }, + Object { + "//": "get the details of an individual ref", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/:ref", + }, + Object { + "//": "compares two commits against each other", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/compare/:base...:head", + }, + Object { + "//": "search for open snyk pull requests", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls", + }, + Object { + "//": "get pull request data for getting merge sha and tracking PR processing state", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls/:pull_number", + }, + Object { + "//": "get pull request file names", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls/:pull_number/files", + }, + Object { + "//": "create branches for new commits", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs", + }, + Object { + "//": "create the pull request", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls", + }, + Object { + "//": "add pull request assignees", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/issues/:pull_number/assignees", + }, + Object { + "//": "update ref", + "method": "PATCH", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/:sha", + }, + Object { + "//": "update ref head", + "method": "PATCH", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/heads/:ref", + }, + Object { + "//": "get list of all files in a repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/trees/:ref", + }, + Object { + "//": "used to get repo's contributors list", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:owner/:repo/commits", + }, + Object { + "//": "used to redirect requests to snyk git client", + "method": "any", + "origin": "\${GIT_CLIENT_URL}", + "path": "/snykgit/*", + }, + Object { + "//": "query graphql", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_GRAPHQL}", + "path": "/graphql", + }, + Object { + "//": "create a general pull request comment", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/issues/:issueNumber/comments", + }, + Object { + "//": "update a general pull request comment", + "method": "PATCH", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/issues/comments/:commentId", + }, + Object { + "//": "create a pull request review", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls/:pullRef/reviews", + }, + ], + "public": Array [ + Object { + "//": "used for pushing up webhooks from github", + "method": "POST", + "path": "/webhook/github", + "valid": Array [ + Object { + "//": "accept all pull request state changes (these don't have files in them)", + "path": "pull_request.state", + "value": "open", + }, + Object { + "path": "commits.*.added.*", + "value": "package.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "package.json", + }, + Object { + "path": "commits.*.added.*", + "value": "package-lock.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "package-lock.json", + }, + Object { + "path": "commits.*.added.*", + "value": "Gemfile.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Gemfile.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "*req*.txt", + }, + Object { + "path": "commits.*.modified.*", + "value": "*req*.txt", + }, + Object { + "path": "commits.*.added.*", + "value": "requirements%2F*.txt", + }, + Object { + "path": "commits.*.modified.*", + "value": "requirements%2F*.txt", + }, + Object { + "path": "commits.*.added.*", + "value": "requirements/*.txt", + }, + Object { + "path": "commits.*.modified.*", + "value": "requirements/*.txt", + }, + Object { + "path": "commits.*.added.*", + "value": "pyproject.toml", + }, + Object { + "path": "commits.*.modified.*", + "value": "pyproject.toml", + }, + Object { + "path": "commits.*.added.*", + "value": "poetry.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "poetry.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "Pipfile", + }, + Object { + "path": "commits.*.modified.*", + "value": "Pipfile", + }, + Object { + "path": "commits.*.added.*", + "value": "Pipfile.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Pipfile.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "pom.xml", + }, + Object { + "path": "commits.*.modified.*", + "value": "pom.xml", + }, + Object { + "path": "commits.*.added.*", + "value": "build.gradle", + }, + Object { + "path": "commits.*.modified.*", + "value": "build.gradle", + }, + Object { + "path": "commits.*.added.*", + "value": "gradle.lockfile", + }, + Object { + "path": "commits.*.modified.*", + "value": "gradle.lockfile", + }, + Object { + "path": "commits.*.added.*", + "value": "gradle.properties", + }, + Object { + "path": "commits.*.modified.*", + "value": "gradle.properties", + }, + Object { + "path": "commits.*.added.*", + "value": "Packages.props", + }, + Object { + "path": "commits.*.modified.*", + "value": "Packages.props", + }, + Object { + "path": "commits.*.added.*", + "value": "Directory.Build.props", + }, + Object { + "path": "commits.*.modified.*", + "value": "Directory.Build.props", + }, + Object { + "path": "commits.*.added.*", + "value": "Directory.Build.targets", + }, + Object { + "path": "commits.*.modified.*", + "value": "Directory.Build.targets", + }, + Object { + "path": "commits.*.added.*", + "value": "build.sbt", + }, + Object { + "path": "commits.*.modified.*", + "value": "build.sbt", + }, + Object { + "path": "commits.*.added.*", + "value": "yarn.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "yarn.lock", + }, + Object { + "path": "commits.*.added.*", + "value": ".snyk", + }, + Object { + "path": "commits.*.modified.*", + "value": ".snyk", + }, + Object { + "path": "commits.*.added.*", + "value": "packages.config", + }, + Object { + "path": "commits.*.modified.*", + "value": "packages.config", + }, + Object { + "path": "commits.*.added.*", + "value": "*.csproj", + }, + Object { + "path": "commits.*.modified.*", + "value": "*.csproj", + }, + Object { + "path": "commits.*.added.*", + "value": "*.vbproj", + }, + Object { + "path": "commits.*.modified.*", + "value": "*.vbproj", + }, + Object { + "path": "commits.*.added.*", + "value": "*.fsproj", + }, + Object { + "path": "commits.*.modified.*", + "value": "*.fsproj", + }, + Object { + "path": "commits.*.added.*", + "value": "project.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "project.json", + }, + Object { + "path": "commits.*.added.*", + "value": "Gopkg.toml", + }, + Object { + "path": "commits.*.modified.*", + "value": "Gopkg.toml", + }, + Object { + "path": "commits.*.added.*", + "value": "Gopkg.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Gopkg.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "vendor.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "vendor.json", + }, + Object { + "path": "commits.*.added.*", + "value": "composer.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "composer.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "composer.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "composer.json", + }, + Object { + "path": "commits.*.added.*", + "value": "project.assets.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "project.assets.json", + }, + Object { + "path": "commits.*.added.*", + "value": "Podfile", + }, + Object { + "path": "commits.*.modified.*", + "value": "Podfile", + }, + Object { + "path": "commits.*.added.*", + "value": "Podfile.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Podfile.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "go.mod", + }, + Object { + "path": "commits.*.modified.*", + "value": "go.mod", + }, + Object { + "path": "commits.*.added.*", + "value": "go.sum", + }, + Object { + "path": "commits.*.modified.*", + "value": "go.sum", + }, + ], + }, + Object { + "//": "used for pushing up webhooks from github", + "method": "POST", + "path": "/webhook/github/:webhookId", + }, + ], +} +`; + +exports[`filter Rules Loading Loads normal accept file - Testing github-enterprise 1`] = ` +Object { + "private": Array [ + Object { + "//": "search for user's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/search/repositories", + }, + Object { + "//": "list the user's info, and validate their credentials", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/user", + }, + Object { + "//": "list the user's orgs", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/user/orgs", + }, + Object { + "//": "list the logged in user's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/user/repos", + }, + Object { + "//": "list a user's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/users/:username/repos", + }, + Object { + "//": "list an orgs's repos", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/orgs/:username/repos", + }, + Object { + "//": "get a user's repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo", + }, + Object { + "//": "rate limit check", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/rate_limit", + }, + Object { + "//": "allow meta lookup on the api version", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/", + }, + Object { + "//": "allow webhooks to be added, to allow commits to be checked by Snyk. Rules for what is sent to Snyk are controlled in the \`public\` accept filters", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/hooks", + }, + Object { + "//": "allow webhooks to be deleted, used to cleanup when a user deactivates or deletes a project", + "method": "DELETE", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:owner/:repo/hooks/:id", + }, + Object { + "//": "used to create commit status messages", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/statuses/:sha", + }, + Object { + "//": "used to list branches on a repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches", + }, + Object { + "//": "used to get branch info", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch", + }, + Object { + "//": "used to get status checks on a branch", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch/protection/required_status_checks/contexts", + }, + Object { + "//": "used to create status checks on a branch", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch/protection/required_status_checks/contexts", + }, + Object { + "//": "used to delete status checks on a branch", + "method": "DELETE", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:user/:repo/branches/:branch/protection/required_status_checks/contexts", + }, + Object { + "//": "check if repo is public", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB}", + "path": "/:user/:repo", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/requirements/*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Frequirements%2F*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/poetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpoetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/yarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fyarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Packages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPackages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/packages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/vendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fvendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.sum", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/package-lock.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackage-lock.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gemfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGemfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pom.xml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpom.xml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*req*.txt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*req*.txt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/pyproject.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpyproject.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/poetry.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpoetry.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/yarn.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fyarn.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.gradle", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.gradle", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.lockfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.lockfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/gradle.properties", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgradle.properties", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Packages.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPackages.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.props", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Directory.Build.targets", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FDirectory.Build.targets", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/build.sbt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fbuild.sbt", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/packages.config", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fpackages.config", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.csproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.csproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.fsproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.fsproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*.vbproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*.vbproj", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.toml", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Gopkg.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FGopkg.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/vendor.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fvendor.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/composer.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fcomposer.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/project.assets.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fproject.assets.json", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/Podfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2FPodfile.lock", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.mod", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/go.sum", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2Fgo.sum", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/go.sum", + }, + Object { + "//": "used to update manifest or lock", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2Fgo.sum", + }, + Object { + "//": "used to write or update ignore rules or existing patches", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/.snyk", + }, + Object { + "//": "used to write or update ignore rules or existing patches", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F.snyk", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/*Dockerfile*", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*/*Dockerfile*", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_RAW}", + "path": "/:name/:repo/:path*%2F*Dockerfile*", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*/.snyk", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/contents/:path*%2F.snyk", + }, + Object { + "//": "get details of the repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo", + }, + Object { + "//": "get the details of the commit to determine its SHA", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/commits/:ref", + "valid": Array [ + Object { + "header": "accept", + "values": Array [ + "application/vnd.github.v4.sha", + ], + }, + ], + }, + Object { + "//": "get a list of all the refs to match find whether an existing PR is open", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs", + }, + Object { + "//": "get the head commit of an individual ref", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/heads/:ref", + }, + Object { + "//": "get the details of an individual ref", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/:ref", + }, + Object { + "//": "compares two commits against each other", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/compare/:base...:head", + }, + Object { + "//": "search for open snyk pull requests", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls", + }, + Object { + "//": "get pull request data for getting merge sha and tracking PR processing state", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls/:pull_number", + }, + Object { + "//": "get pull request file names", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls/:pull_number/files", + }, + Object { + "//": "add commit data for new PR", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs", + }, + Object { + "//": "create the pull request", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls", + }, + Object { + "//": "add pull request assignees", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/issues/:pull_number/assignees", + }, + Object { + "//": "update ref", + "method": "PATCH", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/:sha", + }, + Object { + "//": "update ref head", + "method": "PATCH", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/refs/heads/:ref", + }, + Object { + "//": "get list of all files in a repo", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/git/trees/:ref", + }, + Object { + "//": "used to get repo's contributors list", + "method": "GET", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:owner/:repo/commits", + }, + Object { + "//": "used to redirect requests to snyk git client", + "method": "any", + "origin": "\${GIT_CLIENT_URL}", + "path": "/snykgit/*", + }, + Object { + "//": "query graphql", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_GRAPHQL}", + "path": "/graphql", + }, + Object { + "//": "create a general pull request comment", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/issues/:issueNumber/comments", + }, + Object { + "//": "update a general pull request comment", + "method": "PATCH", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/issues/comments/:commentId", + }, + Object { + "//": "create a pull request review", + "method": "POST", + "origin": "https://\${GITHUB_TOKEN}@\${GITHUB_API}", + "path": "/repos/:name/:repo/pulls/:pullRef/reviews", + }, + ], + "public": Array [ + Object { + "//": "used for pushing up webhooks from github", + "method": "POST", + "path": "/webhook/github", + "valid": Array [ + Object { + "//": "accept all pull request state changes (these don't have files in them)", + "path": "pull_request.state", + "value": "open", + }, + Object { + "path": "commits.*.added.*", + "value": "package.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "package.json", + }, + Object { + "path": "commits.*.added.*", + "value": "package-lock.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "package-lock.json", + }, + Object { + "path": "commits.*.added.*", + "value": "Gemfile.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Gemfile.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "*req*.txt", + }, + Object { + "path": "commits.*.modified.*", + "value": "*req*.txt", + }, + Object { + "path": "commits.*.added.*", + "value": "requirements%2F*.txt", + }, + Object { + "path": "commits.*.modified.*", + "value": "requirements%2F*.txt", + }, + Object { + "path": "commits.*.added.*", + "value": "requirements/*.txt", + }, + Object { + "path": "commits.*.modified.*", + "value": "requirements/*.txt", + }, + Object { + "path": "commits.*.added.*", + "value": "pyproject.toml", + }, + Object { + "path": "commits.*.modified.*", + "value": "pyproject.toml", + }, + Object { + "path": "commits.*.added.*", + "value": "poetry.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "poetry.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "Pipfile", + }, + Object { + "path": "commits.*.modified.*", + "value": "Pipfile", + }, + Object { + "path": "commits.*.added.*", + "value": "Pipfile.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Pipfile.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "pom.xml", + }, + Object { + "path": "commits.*.modified.*", + "value": "pom.xml", + }, + Object { + "path": "commits.*.added.*", + "value": "build.gradle", + }, + Object { + "path": "commits.*.modified.*", + "value": "build.gradle", + }, + Object { + "path": "commits.*.added.*", + "value": "gradle.lockfile", + }, + Object { + "path": "commits.*.modified.*", + "value": "gradle.lockfile", + }, + Object { + "path": "commits.*.added.*", + "value": "gradle.properties", + }, + Object { + "path": "commits.*.modified.*", + "value": "gradle.properties", + }, + Object { + "path": "commits.*.added.*", + "value": "Directory.Build.targets", + }, + Object { + "path": "commits.*.modified.*", + "value": "Directory.Build.targets", + }, + Object { + "path": "commits.*.added.*", + "value": "Packages.props", + }, + Object { + "path": "commits.*.modified.*", + "value": "Packages.props", + }, + Object { + "path": "commits.*.added.*", + "value": "Directory.Build.props", + }, + Object { + "path": "commits.*.modified.*", + "value": "Directory.Build.props", + }, + Object { + "path": "commits.*.added.*", + "value": "build.sbt", + }, + Object { + "path": "commits.*.modified.*", + "value": "build.sbt", + }, + Object { + "path": "commits.*.added.*", + "value": "yarn.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "yarn.lock", + }, + Object { + "path": "commits.*.added.*", + "value": ".snyk", + }, + Object { + "path": "commits.*.modified.*", + "value": ".snyk", + }, + Object { + "path": "commits.*.added.*", + "value": "packages.config", + }, + Object { + "path": "commits.*.modified.*", + "value": "packages.config", + }, + Object { + "path": "commits.*.added.*", + "value": "*.csproj", + }, + Object { + "path": "commits.*.modified.*", + "value": "*.csproj", + }, + Object { + "path": "commits.*.added.*", + "value": "*.vbproj", + }, + Object { + "path": "commits.*.modified.*", + "value": "*.vbproj", + }, + Object { + "path": "commits.*.added.*", + "value": "*.fsproj", + }, + Object { + "path": "commits.*.modified.*", + "value": "*.fsproj", + }, + Object { + "path": "commits.*.added.*", + "value": "project.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "project.json", + }, + Object { + "path": "commits.*.added.*", + "value": "Gopkg.toml", + }, + Object { + "path": "commits.*.modified.*", + "value": "Gopkg.toml", + }, + Object { + "path": "commits.*.added.*", + "value": "Gopkg.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Gopkg.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "vendor.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "vendor.json", + }, + Object { + "path": "commits.*.added.*", + "value": "composer.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "composer.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "composer.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "composer.json", + }, + Object { + "path": "commits.*.added.*", + "value": "project.assets.json", + }, + Object { + "path": "commits.*.modified.*", + "value": "project.assets.json", + }, + Object { + "path": "commits.*.added.*", + "value": "Podfile", + }, + Object { + "path": "commits.*.modified.*", + "value": "Podfile", + }, + Object { + "path": "commits.*.added.*", + "value": "Podfile.lock", + }, + Object { + "path": "commits.*.modified.*", + "value": "Podfile.lock", + }, + Object { + "path": "commits.*.added.*", + "value": "go.mod", + }, + Object { + "path": "commits.*.modified.*", + "value": "go.mod", + }, + Object { + "path": "commits.*.added.*", + "value": "go.sum", + }, + Object { + "path": "commits.*.modified.*", + "value": "go.sum", + }, + ], + }, + Object { + "//": "used for pushing up webhooks from github", + "method": "POST", + "path": "/webhook/github/:webhookId", + }, + ], +} +`; + +exports[`filter Rules Loading Loads normal accept file - Testing gitlab 1`] = ` +Object { + "private": Array [ + Object { + "//": "identify user", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/user", + }, + Object { + "//": "list the user's projects", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects", + }, + Object { + "//": "list the user's projects", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v3/projects", + }, + Object { + "//": "list the user's visible projects", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v3/projects/visible", + }, + Object { + "//": "get a user's project", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v3/projects/:project", + }, + Object { + "//": "get a user's project", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project", + }, + Object { + "//": "used to search all manifest files", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/tree", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/package.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackage.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/package-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackage-lock.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGemfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGemfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/pom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpom.xml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*req*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/requirements/*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Frequirements%2F*.txt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/pyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpyproject.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/poetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpoetry.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Pipfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPipfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Pipfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPipfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/yarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fyarn.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/build.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fbuild.gradle", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/gradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgradle.lockfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/gradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgradle.properties", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Directory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FDirectory.Build.targets", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Directory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FDirectory.Build.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Packages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPackages.props", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/build.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fbuild.sbt", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/packages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackages.config", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.csproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.vbproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.fsproj", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/project.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fproject.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGopkg.toml", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGopkg.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/vendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fvendor.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/composer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fcomposer.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/composer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fcomposer.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/project.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fproject.assets.json", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Podfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPodfile", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Podfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPodfile.lock", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/go.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgo.mod", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/go.sum", + }, + Object { + "//": "used to determine the full dependency tree", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgo.sum", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*Dockerfile*", + }, + Object { + "//": "used to scan Dockerfile", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*Dockerfile*", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/.snyk", + }, + Object { + "//": "used to check if there's any ignore rules or existing patches", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F.snyk", + }, + Object { + "//": "used to determine the full dependency tree for v3 protocol", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v3/projects/:project/repository/files", + "valid": Array [ + Object { + "queryParam": "file_path", + "values": Array [ + "**/package.json", + "**%2Fpackage.json", + "**/yarn.lock", + "**%2Fyarn.lock", + "**/package-lock.json", + "**%2Fpackage-lock.json", + "**/Gemfile", + "**%2FGemfile", + "**/Gemfile.lock", + "**%2FGemfile.lock", + "**/pom.xml", + "**%2Fpom.xml", + "**/*req*.txt", + "**%2F*req*.txt", + "**/requirements/*.txt", + "**%2Frequirements%2F*.txt", + "**/pyproject.toml", + "**%2Fpyproject.toml", + "**/poetry.lock", + "**%2Fpoetry.lock", + "**/build.gradle", + "**%2Fbuild.gradle", + "**/gradle.lockfile", + "**%2Fgradle.lockfile", + "**/build.sbt", + "**%2Fbuild.sbt", + "**/.snyk", + "**%2F.snyk", + "**/packages.config", + "**%2Fpackages.config", + "**/*.csproj", + "**%2F*.csproj", + "**/*.vbproj", + "**%2F*.vbproj", + "**/*.fsproj", + "**%2F*.fsproj", + "**/project.json", + "**%2Fproject.json", + "**/Gopkg.toml", + "**%2FGopkg.toml", + "**/Gopkg.lock", + "**%2FGopkg.lock", + "**/vendor.json", + "**%2Fvendor.json", + "**/composer.lock", + "**%2Fcomposer.lock", + "**/composer.json", + "**%2Fcomposer.json", + "**/project.assets.json", + "**%2Fproject.assets.json", + "**/Podfile", + "**%2FPodfile", + "**/Podfile.lock", + "**%2FPodfile.lock", + "**/go.mod", + "**%2Fgo.mod", + "**/go.sum", + "**%2Fgo.sum", + ], + }, + ], + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/package.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackage.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/package-lock.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackage-lock.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gemfile.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGemfile.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gemfile", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGemfile", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/pom.xml", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpom.xml", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*req*.txt", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*req*.txt", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/pyproject.toml", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpyproject.toml", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/poetry.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpoetry.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/yarn.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fyarn.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/build.gradle", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fbuild.gradle", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/gradle.lockfile", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgradle.lockfile", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/gradle.properties", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgradle.properties", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Directory.Build.targets", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FDirectory.Build.targets", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Directory.Build.props", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FDirectory.Build.props", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Packages.props", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPackages.props", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/build.sbt", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fbuild.sbt", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/packages.config", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackages.config", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.csproj", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.csproj", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.vbproj", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.vbproj", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.fsproj", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.fsproj", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/project.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fproject.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gopkg.toml", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGopkg.toml", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gopkg.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGopkg.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/vendor.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fvendor.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/composer.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fcomposer.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/composer.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fcomposer.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/project.assets.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fproject.assets.json", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Podfile", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPodfile", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Podfile.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPodfile.lock", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/go.mod", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgo.mod", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/go.sum", + }, + Object { + "//": "used to create manifest file", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgo.sum", + }, + Object { + "//": "used to create Dockerfile", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*Dockerfile*", + }, + Object { + "//": "used to create Dockerfile", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*Dockerfile*", + }, + Object { + "//": "used to create ignore rules or patches", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/.snyk", + }, + Object { + "//": "used to create ignore rules or patches", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F.snyk", + }, + Object { + "//": "used to create manifest file for v3 protocol", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v3/projects/:project/repository/files", + "valid": Array [ + Object { + "queryParam": "file_path", + "values": Array [ + "**/package.json", + "**%2Fpackage.json", + "**/yarn.lock", + "**%2Fyarn.lock", + "**/package-lock.json", + "**%2Fpackage-lock.json", + "**/Gemfile", + "**%2FGemfile", + "**/Gemfile.lock", + "**%2FGemfile.lock", + "**/pom.xml", + "**%2Fpom.xml", + "**/*req*.txt", + "**%2F*req*.txt", + "**/pyproject.toml", + "**%2Fpyproject.toml", + "**/poetry.lock", + "**%2Fpoetry.lock", + "**/build.gradle", + "**%2Fbuild.gradle", + "**/gradle.lockfile", + "**%2Fgradle.lockfile", + "**/build.sbt", + "**%2Fbuild.sbt", + "**/.snyk", + "**%2F.snyk", + "**/packages.config", + "**%2Fpackages.config", + "**/*.csproj", + "**%2F*.csproj", + "**/*.vbproj", + "**%2F*.vbproj", + "**/*.fsproj", + "**%2F*.fsproj", + "**/project.json", + "**%2Fproject.json", + "**/Gopkg.toml", + "**%2FGopkg.toml", + "**/Gopkg.lock", + "**%2FGopkg.lock", + "**/vendor.json", + "**%2Fvendor.json", + "**/composer.lock", + "**%2Fcomposer.lock", + "**/composer.json", + "**%2Fcomposer.json", + "**/project.assets.json", + "**%2Fproject.assets.json", + "**/Podfile", + "**%2FPodfile", + "**/Podfile.lock", + "**%2FPodfile.lock", + "**/go.mod", + "**%2Fgo.mod", + "**/go.sum", + "**%2Fgo.sum", + ], + }, + ], + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/package.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackage.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/package-lock.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackage-lock.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gemfile.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGemfile.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gemfile", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGemfile", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/pom.xml", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpom.xml", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*req*.txt", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*req*.txt", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/pyproject.toml", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpyproject.toml", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/poetry.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpoetry.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/yarn.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fyarn.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/build.gradle", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fbuild.gradle", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/gradle.lockfile", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgradle.lockfile", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/gradle.properties", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgradle.properties", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Directory.Build.targets", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FDirectory.Build.targets", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Directory.Build.props", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FDirectory.Build.props", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Packages.props", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPackages.props", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/build.sbt", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fbuild.sbt", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/packages.config", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fpackages.config", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.csproj", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.csproj", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.vbproj", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.vbproj", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*.fsproj", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*.fsproj", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/project.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fproject.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gopkg.toml", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGopkg.toml", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Gopkg.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FGopkg.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/vendor.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fvendor.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/composer.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fcomposer.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/composer.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fcomposer.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/project.assets.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fproject.assets.json", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Podfile", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPodfile", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/Podfile.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2FPodfile.lock", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/go.mod", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgo.mod", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/go.sum", + }, + Object { + "//": "used to update manifest file", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2Fgo.sum", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/*Dockerfile*", + }, + Object { + "//": "used to update Dockerfile", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F*Dockerfile*", + }, + Object { + "//": "used to update ignore rules or existing patches", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*/.snyk", + }, + Object { + "//": "used to update ignore rules or existing patches", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/files*%2F.snyk", + }, + Object { + "//": "used to update manifest file for v3 protocol", + "method": "PUT", + "origin": "https://\${GITLAB}", + "path": "/api/v3/projects/:project/repository/files", + "valid": Array [ + Object { + "queryParam": "file_path", + "values": Array [ + "**/package.json", + "**%2Fpackage.json", + "**/yarn.lock", + "**%2Fyarn.lock", + "**/package-lock.json", + "**%2Fpackage-lock.json", + "**/Gemfile", + "**%2FGemfile", + "**/Gemfile.lock", + "**%2FGemfile.lock", + "**/pom.xml", + "**%2Fpom.xml", + "**/*req*.txt", + "**%2F*req*.txt", + "**/pyproject.toml", + "**%2Fpyproject.toml", + "**/poetry.lock", + "**%2Fpoetry.lock", + "**/build.gradle", + "**%2Fbuild.gradle", + "**/gradle.lockfile", + "**%2Fgradle.lockfile", + "**/build.sbt", + "**%2Fbuild.sbt", + "**/.snyk", + "**%2F.snyk", + "**/packages.config", + "**%2Fpackages.config", + "**/*.csproj", + "**%2F*.csproj", + "**/*.vbproj", + "**%2F*.vbproj", + "**/*.fsproj", + "**%2F*.fsproj", + "**/project.json", + "**%2Fproject.json", + "**/Gopkg.toml", + "**%2FGopkg.toml", + "**/Gopkg.lock", + "**%2FGopkg.lock", + "**/vendor.json", + "**%2Fvendor.json", + "**/composer.lock", + "**%2Fcomposer.lock", + "**/composer.json", + "**%2Fcomposer.json", + "**/project.assets.json", + "**%2Fproject.assets.json", + "**/Podfile", + "**%2FPodfile", + "**/Podfile.lock", + "**%2FPodfile.lock", + "**/go.mod", + "**%2Fgo.mod", + "**/go.sum", + "**%2Fgo.sum", + ], + }, + ], + }, + Object { + "//": "allow webhooks to be added, to allow commits to be checked by Snyk. Rules for what is sent to Snyk are controlled in the \`public\` accept filters", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/hooks", + }, + Object { + "//": "allow webhooks to be deleted, used to cleanup when a user deactivates or deletes a project", + "method": "DELETE", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/hooks/:id", + }, + Object { + "//": "used to create commit status messages", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/statuses/:sha", + }, + Object { + "//": "used to create branch for fix merge request", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/branches", + }, + Object { + "//": "used to create merge request for fix merge request", + "method": "POST", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/merge_requests", + }, + Object { + "//": "used to fetch fix merge request information", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/merge_requests", + }, + Object { + "//": "list the user's groups", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/groups", + }, + Object { + "//": "list of projects in a group", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/groups/:id/projects", + }, + Object { + "//": "get current user. so we'll be able to fetch it's projects", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/user", + }, + Object { + "//": "get user's projects", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/users/:user/projects", + }, + Object { + "//": "get all users. so we'll be able to fetch projects that admin can access", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/users", + }, + Object { + "//": "used to get repo's contributors list", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/commits", + }, + Object { + "//": "get a specific commit identified by the commit hash or name of a branch or tag.", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/commits/:sha", + }, + Object { + "//": "get merge base of two commits for given project.", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/projects/:project/repository/merge_base", + }, + Object { + "//": "used to redirect requests to snyk git client", + "method": "any", + "origin": "\${GIT_CLIENT_URL}", + "path": "/snykgit/*", + }, + Object { + "//": "get token information to check scope", + "method": "GET", + "origin": "https://\${GITLAB}", + "path": "/api/v4/personal_access_tokens/self", + }, + ], + "public": Array [ + Object { + "//": "used for pushing up webhooks from gitlab", + "method": "POST", + "path": "/webhook/gitlab/:webhookId", + }, + ], +} +`; + +exports[`filter Rules Loading Loads universal rules - Testing azure-repos 1`] = ` +Object { + "private": Array [ + Object { + "//": "get list of projects for given organisation", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/_apis/projects", + }, + Object { + "//": "get specific repository for given organisation", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo", + }, + Object { + "//": "get list of repositories for given organisation", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories", + }, + Object { + "//": "get list of refs", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/refs", + }, + Object { + "//": "search through repositories of given organisation", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "_apis/git/repositories", + }, + Object { + "//": "create hook", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "POST", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/_apis/hooks/subscriptions", + }, + Object { + "//": "delete hook", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "DELETE", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/_apis/hooks/subscriptions/:subscriptionId", + }, + Object { + "//": "get file content. restrict by file types", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/items", + "valid": Array [ + Object { + "queryParam": "path", + "values": Array [ + "**/package.json", + "**%2Fpackage.json", + "**/yarn.lock", + "**%2Fyarn.lock", + "**/package-lock.json", + "**%2Fpackage-lock.json", + "**/Gemfile", + "**%2FGemfile", + "**/Gemfile.lock", + "**%2FGemfile.lock", + "**/pom.xml", + "**%2Fpom.xml", + "**/*req*.txt", + "**%2F*req*.txt", + "**/requirements/*.txt", + "**%2Frequirements%2F*.txt", + "**/pyproject.toml", + "**%2Fpyproject.toml", + "**/poetry.lock", + "**%2Fpoetry.lock", + "**/Pipfile", + "**%2FPipfile", + "**/Pipfile.lock", + "**%2FPipfile.lock", + "**/build.gradle", + "**%2Fbuild.gradle", + "**/gradle.lockfile", + "**%2Fgradle.lockfile", + "**/build.sbt", + "**%2Fbuild.sbt", + "**/.snyk", + "**%2F.snyk", + "**/packages.config", + "**%2Fpackages.config", + "**/*.csproj", + "**%2F*.csproj", + "**/*.vbproj", + "**%2F*.vbproj", + "**/*.fsproj", + "**%2F*.fsproj", + "**/project.json", + "**%2Fproject.json", + "**/Gopkg.toml", + "**%2FGopkg.toml", + "**/Gopkg.lock", + "**%2FGopkg.lock", + "**/vendor.json", + "**%2Fvendor.json", + "**/composer.lock", + "**%2Fcomposer.lock", + "**/composer.json", + "**%2Fcomposer.json", + "**/project.assets.json", + "**%2Fproject.assets.json", + "**/Podfile", + "**%2FPodfile", + "**/Podfile.lock", + "**%2FPodfile.lock", + "**/go.mod", + "**%2Fgo.mod", + "**/go.sum", + "**%2Fgo.sum", + "**/*Dockerfile*", + "**%2F*Dockerfile*", + ], + }, + Object { + "queryParam": "recursionLevel", + "values": Array [ + "none", + ], + }, + Object { + "queryParam": "download", + "values": Array [ + "true", + ], + }, + Object { + "queryParam": "includeContent", + "values": Array [ + "true", + ], + }, + ], + }, + Object { + "//": "check file existence. restrict by file types", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/items", + "valid": Array [ + Object { + "queryParam": "path", + "values": Array [ + "**/package.json", + "**%2Fpackage.json", + "**/yarn.lock", + "**%2Fyarn.lock", + "**/package-lock.json", + "**%2Fpackage-lock.json", + "**/Gemfile", + "**%2FGemfile", + "**/Gemfile.lock", + "**%2FGemfile.lock", + "**/pom.xml", + "**%2Fpom.xml", + "**/*req*.txt", + "**%2F*req*.txt", + "**/requirements/*.txt", + "**%2Frequirements%2F*.txt", + "**/pyproject.toml", + "**%2Fpyproject.toml", + "**/poetry.lock", + "**%2Fpoetry.lock", + "**/Pipfile", + "**%2FPipfile", + "**/Pipfile.lock", + "**%2FPipfile.lock", + "**/build.gradle", + "**%2Fbuild.gradle", + "**/gradle.lockfile", + "**%2Fgradle.lockfile", + "**/build.sbt", + "**%2Fbuild.sbt", + "**/.snyk", + "**%2F.snyk", + "**/packages.config", + "**%2Fpackages.config", + "**/*.csproj", + "**%2F*.csproj", + "**/*.vbproj", + "**%2F*.vbproj", + "**/*.fsproj", + "**%2F*.fsproj", + "**/project.json", + "**%2Fproject.json", + "**/Gopkg.toml", + "**%2FGopkg.toml", + "**/Gopkg.lock", + "**%2FGopkg.lock", + "**/vendor.json", + "**%2Fvendor.json", + "**/composer.lock", + "**%2Fcomposer.lock", + "**/composer.json", + "**%2Fcomposer.json", + "**/project.assets.json", + "**%2Fproject.assets.json", + "**/Podfile", + "**%2FPodfile", + "**/Podfile.lock", + "**%2FPodfile.lock", + "**/go.mod", + "**%2Fgo.mod", + "**/go.sum", + "**%2Fgo.sum", + "**/*Dockerfile*", + "**%2F*Dockerfile*", + ], + }, + Object { + "queryParam": "versionDescriptor.versionType", + "values": Array [ + "branch", + ], + }, + Object { + "queryParam": "includeContentMetadata", + "values": Array [ + "true", + ], + }, + ], + }, + Object { + "//": "get list of files for given repository", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/items", + "valid": Array [ + Object { + "queryParam": "recursionLevel", + "values": Array [ + "full", + ], + }, + Object { + "queryParam": "download", + "values": Array [ + "false", + ], + }, + Object { + "queryParam": "includeContent", + "values": Array [ + "false", + ], + }, + ], + }, + Object { + "//": "get list of commits for given repository", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/commits", + }, + Object { + "//": "get merge base of two commits for given repository", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/commits/:commitId/mergebases", + }, + Object { + "//": "update status of given commit", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "POST", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/commits/:commitId/statuses", + }, + Object { + "//": "update status of given pull request", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "POST", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/pullRequests/:pullRef/statuses", + }, + Object { + "//": "find PR for given repository", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/pullrequests", + }, + Object { + "//": "create new PR in given repository", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "POST", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/pullrequests", + }, + Object { + "//": "update existing PR in given repository", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "PATCH", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/pullrequests/:pullRef", + }, + Object { + "//": "push new commit in given repository", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "POST", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/pushes", + }, + Object { + "//": "used to redirect requests to snyk git client", + "method": "any", + "origin": "\${GIT_CLIENT_URL}", + "path": "/snykgit/*", + }, + Object { + "//": "evaluate permissions", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "POST", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/_apis/security/permissionevaluationbatch", + }, + Object { + "//": "list pull request iterations", + "auth": Object { + "scheme": "basic", + "token": "\${BROKER_CLIENT_VALIDATION_BASIC_AUTH}", + }, + "method": "GET", + "origin": "https://\${AZURE_REPOS_HOST}/\${AZURE_REPOS_ORG}", + "path": "/:owner/_apis/git/repositories/:repo/pullRequests/:pullRef/iterations", + }, + ], + "public": Array [ + Object { + "//": "used for pushing up webhooks from Azure", + "method": "POST", + "path": "/webhook/azure-repos/:webhookId", + }, + ], +} +`; + +exports[`filter Rules Loading Loads universal rules - Testing bitbucket-server 1`] = ` Object { "private": Array [ Object { @@ -65762,7 +81382,7 @@ Object { } `; -exports[`filter Rules Loading Loads normal accept file - Testing bitbucket-server-bearer-auth 1`] = ` +exports[`filter Rules Loading Loads universal rules - Testing bitbucket-server-bearer-auth 1`] = ` Object { "private": Array [ Object { @@ -66832,7 +82452,7 @@ Object { } `; -exports[`filter Rules Loading Loads normal accept file - Testing github 1`] = ` +exports[`filter Rules Loading Loads universal rules - Testing github 1`] = ` Object { "private": Array [ Object { @@ -68976,7 +84596,7 @@ Object { } `; -exports[`filter Rules Loading Loads normal accept file - Testing github-enterprise 1`] = ` +exports[`filter Rules Loading Loads universal rules - Testing github-enterprise 1`] = ` Object { "private": Array [ Object { @@ -70400,7 +86020,7 @@ Object { } `; -exports[`filter Rules Loading Loads normal accept file - Testing gitlab 1`] = ` +exports[`filter Rules Loading Loads universal rules - Testing gitlab 1`] = ` Object { "private": Array [ Object { diff --git a/test/unit/runtime-rules-hotloading.test.ts b/test/unit/runtime-rules-hotloading.test.ts index 503e56054..5f7585ae1 100644 --- a/test/unit/runtime-rules-hotloading.test.ts +++ b/test/unit/runtime-rules-hotloading.test.ts @@ -2,6 +2,9 @@ import path from 'path'; import loadFilterRules from '../../lib/common/filter/filter-rules-loading'; import { CONFIGURATION } from '../../lib/common/config/config'; import camelcase from 'camelcase'; +import { FiltersType } from '../../lib/common/types/filter'; +const nock = require('nock'); +import fs from 'fs'; const scmRulesToTest = [ 'azure-repos', @@ -22,7 +25,22 @@ const scmUniversalRulesToTest = [ 'gitlab', ]; +const rulesetSourceHostname = 'http://broker-rules.snyk.io'; + describe('filter Rules Loading', () => { + beforeAll(() => { + nock(`${rulesetSourceHostname}`) + .persist() + .get(/./) + .reply((uri) => { + const filename = path.basename(uri); + const fileContent = fs.readFileSync( + `defaultFilters/${filename}`, + 'utf-8', + ); + return [200, fileContent]; + }); + }); beforeEach(() => { jest.resetModules(); process.env.ACCEPT = 'accept.json'; @@ -44,11 +62,47 @@ describe('filter Rules Loading', () => { }, path.join(__dirname, '../..', `client-templates/${folder}`), ); + expect(loadedRules).toMatchSnapshot(); + }, + ); + test.each(scmRulesToTest)( + 'Loads custom accept file - Testing %s', + async (folder) => { + const loadedRules = await loadFilterRules({ + brokerType: 'client', + supportedBrokerTypes: [], + accept: `client-templates/${folder}/accept.json.sample`, + filterRulesPaths: {}, + }); expect(loadedRules).toMatchSnapshot(); }, ); + test.each(scmRulesToTest)( + 'Loads universal rules - Testing %s', + async (folder) => { + const loadedRules = await loadFilterRules({ + brokerType: 'client', + supportedBrokerTypes: [`${folder}`], + filterRulesPaths: { + 'azure-repos': `${rulesetSourceHostname}/azure-repos.json`, + 'bitbucket-server': `${rulesetSourceHostname}/bitbucket-server.json`, + 'bitbucket-server-bearer-auth': `${rulesetSourceHostname}/bitbucket-server-bearer-auth.json`, + 'github-enterprise': `${rulesetSourceHostname}/github-enterprise.json`, + 'github-server-app': `${rulesetSourceHostname}/github-server-app.json`, + 'github-cloud-app': `${rulesetSourceHostname}/github-cloud-app.json`, + github: `${rulesetSourceHostname}/github.json`, + gitlab: `${rulesetSourceHostname}/gitlab.json`, + }, + universalBrokerEnabled: true, + }); + + const loadedRulesForType = loadedRules as Map; + expect(loadedRulesForType[folder]).toMatchSnapshot(); + }, + ); + test.each(scmRulesToTest)( 'Skip injection if no or invalid IAC extensions - Testing %s', async (folder) => { From 2c53470e1bec112b64473d7dc518474eeb74ee42 Mon Sep 17 00:00:00 2001 From: Antoine Arlaud Date: Wed, 6 Nov 2024 16:22:18 +0100 Subject: [PATCH 4/5] feat: add autosync for client filters --- config.default.json | 52 +- config.default.jsontest | 527 ++++++++++++++++++ lib/client/config/filters.ts | 11 + lib/client/index.ts | 69 +-- lib/client/utils/filterLoading.ts | 15 + lib/common/relay/forwardHttpRequest.ts | 7 +- .../relay/forwardHttpRequestOverHttp.ts | 7 +- lib/common/relay/forwardWebsocketRequest.ts | 8 +- lib/common/types/options.ts | 6 +- lib/server/index.ts | 7 +- test/unit/relay-response-body-client.test.ts | 251 +++++++++ .../relay-response-body-universal.test.ts | 4 + 12 files changed, 884 insertions(+), 80 deletions(-) create mode 100644 config.default.jsontest create mode 100644 lib/client/config/filters.ts create mode 100644 lib/client/utils/filterLoading.ts create mode 100644 test/unit/relay-response-body-client.test.ts diff --git a/config.default.json b/config.default.json index 8c1d45d37..71dbb30b0 100644 --- a/config.default.json +++ b/config.default.json @@ -497,31 +497,31 @@ } }, "FILTER_RULES_PATHS": { - "apprisk": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/apprisk.json", - "artifactory": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/artifactory.json", - "azure-repos": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/azure-repos.json", - "bitbucket-server": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/bitbucket-server.json", - "bitbucket-server-bearer-auth": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/bitbucket-server-bearer-auth.json", - "github-enterprise": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/github-enterprise.json", - "github-server-app": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/github-server-app.json", - "github-cloud-app": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/github-cloud-app.json", - "github": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/github.json", - "gitlab": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/gitlab.json", - "jira": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/jira.json", - "jira-bearer-auth": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/jira-bearer-auth.json", - "nexus": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/nexus-and-nexus2.json", - "docker-hub":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", - "ecr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", - "acr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", - "gcr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", - "artifactory-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", - "harbor-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", - "quay-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", - "github-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", - "nexus-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", - "digitalocean-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", - "gitlab-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", - "google-artifact-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", - "workload":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/workload.json" + "apprisk": "defaultFilters/apprisk.json", + "artifactory": "defaultFilters/artifactory.json", + "azure-repos": "defaultFilters/azure-repos.json", + "bitbucket-server": "defaultFilters/bitbucket-server.json", + "bitbucket-server-bearer-auth": "defaultFilters/bitbucket-server-bearer-auth.json", + "github-enterprise": "defaultFilters/github-enterprise.json", + "github-server-app": "defaultFilters/github-server-app.json", + "github-cloud-app": "defaultFilters/github-cloud-app.json", + "github": "defaultFilters/github.json", + "gitlab": "defaultFilters/gitlab.json", + "jira": "defaultFilters/jira.json", + "jira-bearer-auth": "defaultFilters/jira-bearer-auth.json", + "nexus": "defaultFilters/nexus-and-nexus2.json", + "docker-hub":"defaultFilters/container-registry-agent.json", + "ecr":"defaultFilters/container-registry-agent.json", + "acr":"defaultFilters/container-registry-agent.json", + "gcr":"defaultFilters/container-registry-agent.json", + "artifactory-cr":"defaultFilters/container-registry-agent.json", + "harbor-cr":"defaultFilters/container-registry-agent.json", + "quay-cr":"defaultFilters/container-registry-agent.json", + "github-cr":"defaultFilters/container-registry-agent.json", + "nexus-cr":"defaultFilters/container-registry-agent.json", + "digitalocean-cr":"defaultFilters/container-registry-agent.json", + "gitlab-cr":"defaultFilters/container-registry-agent.json", + "google-artifact-cr":"defaultFilters/container-registry-agent.json", + "workload":"defaultFilters/workload.json" } } diff --git a/config.default.jsontest b/config.default.jsontest new file mode 100644 index 000000000..171bdd125 --- /dev/null +++ b/config.default.jsontest @@ -0,0 +1,527 @@ +{ + "API_VERSION":"2024-02-08~experimental", + "CONNECTIONS_MANAGER": { + "watcher": { + "interval": 60000 + } + }, + "BROKER_SERVER_UNIVERSAL_CONFIG_ENABLED": false, + "SUPPORTED_BROKER_TYPES": [ + "apprisk", + "artifactory", + "azure-repos", + "bitbucket-server", + "bitbucket-server-bearer-auth", + "github-enterprise", + "github-server-app", + "github-cloud-app", + "github", + "gitlab", + "jira-bearer-auth", + "jira", + "nexus", + "docker-hub", + "ecr", + "acr", + "gcr", + "artifactory-cr", + "harbor-cr", + "quay-cr", + "github-cr", + "nexus-cr", + "digitalocean-cr", + "gitlab-cr", + "google-artifact-cr", + "workload" + ], + "BROKER_CLIENT_CONFIGURATION": { + "common": { + "default": { + "BROKER_SERVER_URL": "https://broker2.snyk.io", + "BROKER_HEALTHCHECK_PATH": "/healthcheck" + }, + "required": {} + }, + "acr": { + "default": {}, + "required": { + "CR_AGENT_URL": "https://:", + "BROKER_CLIENT_URL": "https://:" + } + }, + "apprisk": { + "validations": [ + { + "url": "https://$CHECKMARX/cxrestapi/auth/identity/connect/token", + "body": { + "BROKER_VAR_SUB": ["username", "password"], + "username": "$CHECKMARX_USERNAME", + "password": "$CHECKMARX_PASSWORD", + "grant_type": "password", + "scope": "sast_rest_api", + "client_id": "resource_owner_client", + "client_secret": "014DF517-39D1-4453-B7B3-9930C563627C" + }, + "method": "post", + "headers": { + "x-broker-content-type": "application/x-www-form-urlencoded" + } + }, + { + "url": "https://$SONARQUBE_HOST_URL/system/ping", + "method": "GET", + "auth": { + "type": "header", + "name": "Authorization", + "value": "Bearer $SONARQUBE_API_TOKEN" + } + } + ], + "default": { + "CHECKMARX": "$CHECKMARX", + "CHECKMARX_USERNAME": "$CHECKMARX_USERNAME", + "CHECKMARX_PASSWORD": "$CHECKMARX_PASSWORD", + "SONARQUBE_HOST_URL": "$SONARQUBE_HOST_URL", + "SONARQUBE_API_TOKEN": "$SONARQUBE_API_TOKEN" + }, + "required": { + "CHECKMARX": "checkmarx.customer.com", + "CHECKMARX_USERNAME": "", + "CHECKMARX_PASSWORD": "", + "SONARQUBE_HOST_URL": "", + "SONARQUBE_API_TOKEN": "" + } + }, + "artifactory": { + "validations": [ + { + "url": "https://$ARTIFACTORY_URL/api/system/ping", + "auth": { + "type": "basic", + "username": "$ARTIFACTORY_USERNAME", + "password": "$ARTIFACTORY_PASSWORD" + } + } + ], + "default": { + "BROKER_CLIENT_VALIDATION_URL": "https://$ARTIFACTORY_URL/api/system/ping" + }, + "required": { + "ARTIFACTORY_URL": ":@/artifactory" + } + }, + "artifactory-cr": { + "default": {}, + "required": { + "CR_AGENT_URL": "https://:", + "BROKER_CLIENT_URL": "https://:" + } + }, + "azure-repos": { + "validations": [ + { + "url": "https://$AZURE_REPOS_HOST/$AZURE_REPOS_ORG/_apis/git/repositories", + "auth": { + "type": "basic", + "username": "PAT", + "password": "$AZURE_REPOS_TOKEN" + } + } + ], + "default": { + "BROKER_CLIENT_VALIDATION_URL": "https://$AZURE_REPOS_HOST/$AZURE_REPOS_ORG/_apis/git/repositories", + "BROKER_CLIENT_VALIDATION_BASIC_AUTH": "PAT:$AZURE_REPOS_TOKEN", + "GIT_URL": "$AZURE_REPOS_HOST/$AZURE_REPOS_ORG", + "GIT_USERNAME": "PAT", + "GIT_PASSWORD": "$AZURE_REPOS_TOKEN", + "AZURE_REPOS_HOST": "dev.azure.com" + }, + "required": { + "AZURE_REPOS_TOKEN": "", + "AZURE_REPOS_ORG": "", + "BROKER_CLIENT_URL": "https://:" + } + }, + "bitbucket-server": { + "validations": [ + { + "url": "https://$BITBUCKET/rest/api/1.0/projects", + "auth": { + "type": "basic", + "username": "$BITBUCKET_USERNAME", + "password": "$BITBUCKET_PASSWORD" + } + } + ], + "default": { + "BITBUCKET_API": "$BITBUCKET/rest/api/1.0", + "BROKER_CLIENT_VALIDATION_URL": "https://$BITBUCKET/rest/api/1.0/projects", + "BROKER_CLIENT_VALIDATION_BASIC_AUTH": "$BITBUCKET_USERNAME:$BITBUCKET_PASSWORD", + "GIT_URL": "$BITBUCKET", + "GIT_USERNAME": "$BITBUCKET_USERNAME", + "GIT_PASSWORD": "$BITBUCKET_PASSWORD" + }, + "required": { + "BITBUCKET_USERNAME": "", + "BITBUCKET_PASSWORD": "", + "BITBUCKET": "bitbucket.yourdomain.com", + "BROKER_CLIENT_URL": "https://:" + } + }, + "bitbucket-server-bearer-auth": { + "validations": [ + { + "url": "https://$BITBUCKET/rest/api/1.0/projects", + "auth": { + "type": "header", + "name": "Authorization", + "value": "Bearer $BITBUCKET_PAT" + } + } + ], + "default": { + "BITBUCKET_API": "$BITBUCKET/rest/api/1.0", + "BROKER_CLIENT_VALIDATION_URL": "https://$BITBUCKET/rest/api/1.0/projects", + "BROKER_CLIENT_VALIDATION_AUTHORIZATION_HEADER": "Bearer $BITBUCKET_PAT", + "GIT_URL": "$BITBUCKET", + "GIT_USERNAME": "x-access-token", + "GIT_PASSWORD": "$BITBUCKET_PAT" + }, + "required": { + "BITBUCKET_PAT": "", + "BITBUCKET": "bitbucket.yourdomain.com", + "BROKER_CLIENT_URL": "https://:" + } + }, + "container-registry-agent": { + "default": {}, + "required": { + "CR_AGENT_URL": "https://:", + "BROKER_CLIENT_URL": "https://:" + } + }, + "digitalocean-cr": { + "default": {}, + "required": { + "CR_AGENT_URL": "https://:", + "BROKER_CLIENT_URL": "https://:" + } + }, + "docker-hub": { + "default": {}, + "required": { + "CR_AGENT_URL": "https://:", + "BROKER_CLIENT_URL": "https://:" + } + }, + "ecr": { + "default": {}, + "required": { + "CR_AGENT_URL": "https://:", + "BROKER_CLIENT_URL": "https://:" + } + }, + "gcr": { + "default": {}, + "required": { + "CR_AGENT_URL": "https://:", + "BROKER_CLIENT_URL": "https://:" + } + }, + "github": { + "validations": [ + { + "url": "https://$GITHUB_API/user", + "auth": { + "type": "header", + "value": "token $GITHUB_TOKEN" + } + } + ], + "default": { + "GITHUB": "github.com", + "GITHUB_RAW": "raw.githubusercontent.com", + "GITHUB_API": "api.github.com", + "GITHUB_GRAPHQL": "api.github.com", + "BROKER_CLIENT_VALIDATION_URL": "https://$GITHUB_API/user", + "BROKER_CLIENT_VALIDATION_AUTHORIZATION_HEADER": "token $GITHUB_TOKEN", + "GIT_URL": "$GITHUB", + "GIT_USERNAME": "x-access-token", + "GIT_PASSWORD": "$GITHUB_TOKEN" + }, + "required": { + "GITHUB_TOKEN": "", + "BROKER_CLIENT_URL": "https://:" + } + }, + "github-cr": { + "default": {}, + "required": { + "CR_AGENT_URL": "https://:", + "BROKER_CLIENT_URL": "https://:" + } + }, + "github-enterprise": { + "validations": [ + { + "url": "https://$GITHUB_API/user", + "auth": { + "type": "header", + "name": "Authorization", + "value": "token $GITHUB_TOKEN" + } + } + ], + "default": { + "GITHUB_API": "$GITHUB/api/v3", + "GITHUB_GRAPHQL": "$GITHUB/api", + "BROKER_CLIENT_VALIDATION_URL": "https://$GITHUB_API/user", + "BROKER_CLIENT_VALIDATION_AUTHORIZATION_HEADER": "token $GITHUB_TOKEN", + "GIT_URL": "$GITHUB", + "GIT_USERNAME": "x-access-token", + "GIT_PASSWORD": "$GITHUB_TOKEN" + }, + "required": { + "GITHUB_TOKEN": "", + "GITHUB": "ghe.yourdomain.com", + "BROKER_CLIENT_URL": "https://:" + } + }, + "github-server-app": { + "validations": [ + { + "url": "https://$GITHUB_API/installation/repositories?per_page=1&page=1", + "auth": { + "type": "header", + "name": "Authorization", + "value": "Bearer $GHA_ACCESS_TOKEN" + } + } + ], + "default": { + "GITHUB_API": "$GITHUB/api/v3", + "GITHUB_GRAPHQL": "$GITHUB/api", + "BROKER_CLIENT_VALIDATION_URL": "https://$GITHUB_API/user", + "BROKER_CLIENT_VALIDATION_AUTHORIZATION_HEADER": "bearer $GHA_ACCESS_TOKEN", + "GIT_URL": "$GITHUB", + "GIT_USERNAME": "x-access-token", + "GIT_PASSWORD": "$GHA_ACCESS_TOKEN" + }, + "required": { + "GITHUB": "ghe.yourdomain.com", + "GITHUB_API": "$GITHUB/api/v3", + "GITHUB_APP_ID": "APP_ID", + "GITHUB_APP_PRIVATE_PEM_PATH": "abc", + "GITHUB_APP_CLIENT_ID": "123", + "GITHUB_APP_INSTALLATION_ID": "123", + "BROKER_CLIENT_URL": "https://:" + } + }, + "github-cloud-app": { + "validations": [ + { + "url": "https://$GITHUB_API/installation/repositories?per_page=1&page=1", + "auth": { + "type": "header", + "name": "Authorization", + "value": "Bearer $GHA_ACCESS_TOKEN" + } + } + ], + "default": { + "GITHUB_API": "api.github.com", + "GITHUB_GRAPHQL": "$GITHUB_API", + "BROKER_CLIENT_VALIDATION_URL": "https://$GITHUB_API/user", + "BROKER_CLIENT_VALIDATION_AUTHORIZATION_HEADER": "bearer $GHA_ACCESS_TOKEN", + "GIT_URL": "$GITHUB", + "GIT_USERNAME": "x-access-token", + "GIT_PASSWORD": "$GHA_ACCESS_TOKEN" + }, + "required": { + "GITHUB": "github.com", + "GITHUB_API": "api.github.com", + "GITHUB_APP_ID": "APP_ID", + "GITHUB_APP_PRIVATE_PEM_PATH": "abc", + "GITHUB_APP_CLIENT_ID": "123", + "GITHUB_APP_INSTALLATION_ID": "123", + "BROKER_CLIENT_URL": "https://:" + } + }, + "gitlab": { + "validations": [ + { + "url": "https://$GITLAB/api/v3/user", + "auth": { + "type": "header", + "name": "private_token", + "value": "$GITLAB_TOKEN" + } + } + ], + "default": { + "BROKER_CLIENT_VALIDATION_URL": "https://$GITLAB/api/v3/user?private_token=$GITLAB_TOKEN", + "GIT_URL": "$GITLAB", + "GIT_USERNAME": "oauth2", + "GIT_PASSWORD": "$GITLAB_TOKEN", + "REMOVE_X_FORWARDED_HEADERS": "true" + }, + "required": { + "GITLAB_TOKEN": "", + "GITLAB": "gitlab.yourdomain.com", + "BROKER_CLIENT_URL": "https://:" + } + }, + "gitlab-cr": { + "default": {}, + "required": { + "CR_AGENT_URL": "https://:", + "BROKER_CLIENT_URL": "https://:" + } + }, + "google-artifact-cr": { + "default": {}, + "required": { + "CR_AGENT_URL": "https://:", + "BROKER_CLIENT_URL": "https://:" + } + }, + "harbor-cr": { + "default": {}, + "required": { + "CR_AGENT_URL": "https://:", + "BROKER_CLIENT_URL": "https://:" + } + }, + "jira": { + "validations": [ + { + "url": "https://$JIRA_HOSTNAME/rest/api/2/myself", + "auth": { + "type": "basic", + "username": "$JIRA_USERNAME", + "password": "$JIRA_PASSWORD" + } + } + ], + "default": { + "BROKER_CLIENT_VALIDATION_URL": "https://$JIRA_HOSTNAME/rest/api/2/myself", + "BROKER_CLIENT_VALIDATION_BASIC_AUTH": "$JIRA_USERNAME:$JIRA_PASSWORD" + }, + "required": { + "JIRA_USERNAME": "", + "JIRA_PASSWORD": "", + "JIRA_HOSTNAME": "jira.yourdomain.com" + } + }, + "jira-bearer-auth": { + "validations": [ + { + "url": "https://$JIRA_HOSTNAME/rest/api/2/myself", + "auth": { + "type": "header", + "name": "Authorization", + "value": "Bearer $JIRA_PAT" + } + } + ], + "default": { + "BROKER_CLIENT_VALIDATION_URL": "https://$JIRA_HOSTNAME/rest/api/2/myself", + "BROKER_CLIENT_VALIDATION_AUTHORIZATION_HEADER": "Bearer $JIRA_PAT" + }, + "required": { + "JIRA_PAT": "", + "JIRA_HOSTNAME": "jira.yourdomain.com" + } + }, + "nexus": { + "validations": [ + { + "url": "https://$BASE_NEXUS_URL/service/rest/v1/status/check/api/system/ping", + "auth": { + "type": "basic", + "username": "$NEXUS_USERNAME", + "password": "$NEXUS_PASSWORD" + } + } + ], + "default": { + "NEXUS_URL": "$BASE_NEXUS_URL/repository", + "BROKER_CLIENT_VALIDATION_URL": "$BASE_NEXUS_URL/service/rest/v1/status/check", + "REMOVE_X_FORWARDED_HEADERS": "true" + }, + "required": { + "BASE_NEXUS_URL": "https://:@" + } + }, + "nexus2": { + "validations": [ + { + "url": "https://$BASE_NEXUS2_URL/nexus/service/local/status", + "auth": { + "type": "basic", + "username": "$NEXUS2_USERNAME", + "password": "$NEXUS2_PASSWORD" + } + } + ], + "default": { + "NEXUS_URL": "$BASE_NEXUS2_URL/nexus/content", + "BROKER_CLIENT_VALIDATION_URL": "$BASE_NEXUS2_URL/nexus/service/local/status" + }, + "required": { + "BASE_NEXUS_URL": "https://:@" + } + }, + "nexus-cr": { + "default": {}, + "required": { + "CR_AGENT_URL": "https://:", + "BROKER_CLIENT_URL": "https://:" + } + }, + "quay-cr": { + "default": {}, + "required": { + "CR_AGENT_URL": "https://:", + "BROKER_CLIENT_URL": "https://:" + } + }, + "workload": { + "validations": [ + ], + "default": { + }, + "required": { + "WORKLOAD_INTERNAL_URI": "http://workload-internal-uri" + } + } + }, + "FILTER_RULES_PATHS": { + "apprisk": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/apprisk.json", + "artifactory": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/artifactory.json", + "azure-repos": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/azure-repos.json", + "bitbucket-server": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/bitbucket-server.json", + "bitbucket-server-bearer-auth": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/bitbucket-server-bearer-auth.json", + "github-enterprise": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/github-enterprise.json", + "github-server-app": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/github-server-app.json", + "github-cloud-app": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/github-cloud-app.json", + "github": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/github-com.json", + "gitlab": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/gitlab.json", + "jira": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/jira.json", + "jira-bearer-auth": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/jira-bearer-auth.json", + "nexus": "https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/nexus-and-nexus2.json", + "docker-hub":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "ecr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "acr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "gcr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "artifactory-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "harbor-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "quay-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "github-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "nexus-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "digitalocean-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "gitlab-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "google-artifact-cr":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/container-registry-agent.json", + "workload":"https://raw.githubusercontent.com/snyk/broker/refs/heads/master/defaultFilters/workload.json" + } +} diff --git a/lib/client/config/filters.ts b/lib/client/config/filters.ts new file mode 100644 index 000000000..ec108b0ff --- /dev/null +++ b/lib/client/config/filters.ts @@ -0,0 +1,11 @@ +import { LoadedFiltersSet } from '../../common/types/options'; + +let globalFilterConfig: LoadedFiltersSet = {}; + +export const getFilterConfig = () => { + return globalFilterConfig; +}; + +export const setFilterConfig = (filterConfig: LoadedFiltersSet) => { + globalFilterConfig = filterConfig; +}; diff --git a/lib/client/index.ts b/lib/client/index.ts index 0f5b11df7..7c5e1cc79 100644 --- a/lib/client/index.ts +++ b/lib/client/index.ts @@ -22,13 +22,15 @@ import { } from './hooks/startup/processHooks'; import { forwardHttpRequestOverHttp } from '../common/relay/forwardHttpRequestOverHttp'; import { isWebsocketConnOpen } from './utils/socketHelpers'; -import { loadAllFilters } from '../common/filter/filtersAsync'; -import { ClientOpts, LoadedClientOpts } from '../common/types/options'; +import { ClientOpts } from '../common/types/options'; import { websocketConnectionSelectorMiddleware } from './routesHandler/websocketConnectionMiddlewares'; import { getClientConfigMetadata } from './config/configHelpers'; import { loadPlugins } from './brokerClientPlugins/pluginManager'; import { manageWebsocketConnections } from './connectionsManager/manager'; import { findPluginFolder } from '../common/config/config'; +import { retrieveAndLoadFilters } from './utils/filterLoading'; + +const ONEDAY = 24 * 3600 * 1000; // 24h in ms process.on('uncaughtException', (error) => { if (error.message == 'read ECONNRESET') { @@ -87,21 +89,17 @@ export const main = async (clientOpts: ClientOpts) => { clientOpts.config.brokerClientId, ); } - - const loadedClientOpts: LoadedClientOpts = { - loadedFilters: loadAllFilters(clientOpts.filters, clientOpts.config), - ...clientOpts, - }; - - if (!loadedClientOpts.loadedFilters) { - logger.error({ clientOpts }, 'Unable to load filters'); - throw new Error('Unable to load filters'); + await retrieveAndLoadFilters(clientOpts); + if (process.env.NODE_ENV != 'test') { + setInterval(async () => { + await retrieveAndLoadFilters(clientOpts); + }, ONEDAY); } const globalIdentifyingMetadata: IdentifyingMetadata = { capabilities: ['post-streams'], clientId: clientOpts.config.brokerClientId, - filters: loadedClientOpts.filters, + filters: clientOpts.filters, preflightChecks: hookResults.preflightCheckResults, version, clientConfig: getClientConfigMetadata(clientOpts.config), @@ -111,48 +109,33 @@ export const main = async (clientOpts: ClientOpts) => { }; let websocketConnections: WebSocketConnection[] = []; - if (loadedClientOpts.config.universalBrokerEnabled) { + if (clientOpts.config.universalBrokerEnabled) { websocketConnections = await manageWebsocketConnections( - loadedClientOpts, + clientOpts, globalIdentifyingMetadata, ); } else { websocketConnections.push( - createWebSocket( - loadedClientOpts, - globalIdentifyingMetadata, - Role.primary, - ), + createWebSocket(clientOpts, globalIdentifyingMetadata, Role.primary), ); websocketConnections.push( - createWebSocket( - loadedClientOpts, - globalIdentifyingMetadata, - Role.secondary, - ), + createWebSocket(clientOpts, globalIdentifyingMetadata, Role.secondary), ); } // start the local webserver to listen for relay requests - const { app, server } = webserver( - loadedClientOpts.config, - loadedClientOpts.port, - ); - - const httpToWsForwarder = forwardHttpRequest(loadedClientOpts); + const { app, server } = webserver(clientOpts.config, clientOpts.port); + const httpToWsForwarder = forwardHttpRequest(clientOpts); const httpToAPIForwarder = forwardHttpRequestOverHttp( - loadedClientOpts, - loadedClientOpts.config, + clientOpts, + clientOpts.config, ); // IMPORTANT: defined before relay (`app.all('/*', ...`) - app.get('/health/checks', handleChecksRoute(loadedClientOpts.config)); - app.get( - '/health/checks/:checkId', - handleCheckIdsRoutes(loadedClientOpts.config), - ); + app.get('/health/checks', handleChecksRoute(clientOpts.config)); + app.get('/health/checks/:checkId', handleCheckIdsRoutes(clientOpts.config)); app.get( - loadedClientOpts.config.brokerHealthcheckPath || '/healthcheck', + clientOpts.config.brokerHealthcheckPath || '/healthcheck', (req, res, next) => { res.locals.websocketConnections = websocketConnections; next(); @@ -161,13 +144,17 @@ export const main = async (clientOpts: ClientOpts) => { ); app.get('/filters', (req, res) => { - res.send(loadedClientOpts.filters); + res.send(clientOpts.filters); + }); + app.post('/filters', async (req, res) => { + await retrieveAndLoadFilters(clientOpts); + res.send(clientOpts.filters); }); app.get( - loadedClientOpts.config.brokerSystemcheckPath || '/systemcheck', + clientOpts.config.brokerSystemcheckPath || '/systemcheck', (req, res, next) => { - res.locals.clientOpts = loadedClientOpts; + res.locals.clientOpts = clientOpts; next(); }, systemCheckHandler, diff --git a/lib/client/utils/filterLoading.ts b/lib/client/utils/filterLoading.ts new file mode 100644 index 000000000..76ab66844 --- /dev/null +++ b/lib/client/utils/filterLoading.ts @@ -0,0 +1,15 @@ +import filterRulesLoader from '../../common/filter/filter-rules-loading'; +import { CONFIGURATION } from '../../common/config/config'; +import { loadAllFilters } from '../../common/filter/filtersAsync'; +import { log as logger } from '../../logs/logger'; +import { ClientOpts } from '../../common/types/options'; +import { getFilterConfig } from '../config/filters'; + +export const retrieveAndLoadFilters = async ( + clientOpts: ClientOpts, +): Promise => { + const globalFilterConfig = getFilterConfig(); + const filters = await filterRulesLoader(clientOpts.config as CONFIGURATION); + globalFilterConfig.loadedFilters = loadAllFilters(filters, clientOpts.config); + logger.debug('Loading Filters'); +}; diff --git a/lib/common/relay/forwardHttpRequest.ts b/lib/common/relay/forwardHttpRequest.ts index fb5b18cf4..2cd10a5de 100644 --- a/lib/common/relay/forwardHttpRequest.ts +++ b/lib/common/relay/forwardHttpRequest.ts @@ -16,6 +16,7 @@ import { streamsStore } from '../http/server-post-stream-handler'; import { ExtendedLogContext } from '../types/log'; import { LoadedClientOpts, LoadedServerOpts } from '../types/options'; import { LOADEDFILTERSET } from '../types/filter'; +import { getFilterConfig } from '../../client/config/filters'; // 1. Request coming in over HTTP conn (logged) // 2. Filter for rule match (log and block if no match) @@ -59,8 +60,7 @@ export const forwardHttpRequest = ( options.config.brokerType == 'client' && options.config.universalBrokerEnabled ) { - const clientOptions = options as LoadedClientOpts; - const loadedFilters = clientOptions.loadedFilters as Map< + const loadedFilters = getFilterConfig().loadedFilters as Map< string, LOADEDFILTERSET >; @@ -68,6 +68,9 @@ export const forwardHttpRequest = ( loadedFilters .get(res.locals.websocket.supportedIntegrationType) // The chosen type is determined by websocket connect middlwr ?.public(req) || false; + } else if (options.config.brokerType == 'client') { + const loadedFilters = getFilterConfig().loadedFilters as LOADEDFILTERSET; + filterResponse = loadedFilters.public(req); } else { const loadedFilters = options.loadedFilters as LOADEDFILTERSET; filterResponse = loadedFilters.public(req); diff --git a/lib/common/relay/forwardHttpRequestOverHttp.ts b/lib/common/relay/forwardHttpRequestOverHttp.ts index 6f92349b6..e5c999918 100644 --- a/lib/common/relay/forwardHttpRequestOverHttp.ts +++ b/lib/common/relay/forwardHttpRequestOverHttp.ts @@ -9,6 +9,7 @@ import { makeRequestToDownstream } from '../http/request'; import { maskToken } from '../utils/token'; import { LoadedClientOpts, LoadedServerOpts } from '../types/options'; import { LOADEDFILTERSET } from '../types/filter'; +import { getFilterConfig } from '../../client/config/filters'; // 1. Request coming in over HTTP conn (logged) // 2. Filter for rule match (log and block if no match) @@ -46,8 +47,7 @@ export const forwardHttpRequestOverHttp = ( options.config.brokerType == 'client' && options.config.universalBrokerEnabled ) { - const clientOptions = options as LoadedClientOpts; - const loadedFilters = clientOptions.loadedFilters as Map< + const loadedFilters = getFilterConfig().loadedFilters as Map< string, LOADEDFILTERSET >; @@ -55,6 +55,9 @@ export const forwardHttpRequestOverHttp = ( loadedFilters .get(res.locals.websocket.supportedIntegrationType) // The chosen type is determined by websocket connect middlwr ?.public(req) || false; + } else if (options.config.brokerType == 'client') { + const loadedFilters = getFilterConfig().loadedFilters as LOADEDFILTERSET; + filterResponse = loadedFilters.public(req); } else { const loadedFilters = options.loadedFilters as LOADEDFILTERSET; filterResponse = loadedFilters.public(req); diff --git a/lib/common/relay/forwardWebsocketRequest.ts b/lib/common/relay/forwardWebsocketRequest.ts index 6d9208ca5..bc28233c5 100644 --- a/lib/common/relay/forwardWebsocketRequest.ts +++ b/lib/common/relay/forwardWebsocketRequest.ts @@ -19,6 +19,7 @@ import { LoadedClientOpts, LoadedServerOpts } from '../types/options'; import { runPreRequestPlugins } from '../../client/brokerClientPlugins/pluginManager'; import { computeContentLength } from '../utils/content-length'; import { contentLengthHeader } from '../utils/headers-value-constants'; +import { getFilterConfig } from '../../client/config/filters'; export const forwardWebSocketRequest = ( options: LoadedClientOpts | LoadedServerOpts, @@ -179,13 +180,11 @@ export const forwardWebSocketRequest = ( ); let filterResponse; - if ( options.config.brokerType == 'client' && options.config.universalBrokerEnabled ) { - const clientOptions = options as LoadedClientOpts; - const loadedFilters = clientOptions.loadedFilters as Map< + const loadedFilters = getFilterConfig().loadedFilters as Map< string, LOADEDFILTERSET >; @@ -193,6 +192,9 @@ export const forwardWebSocketRequest = ( loadedFilters .get(websocketConnectionHandler.supportedIntegrationType) ?.private(payload) || false; + } else if (options.config.brokerType == 'client') { + const loadedFilters = getFilterConfig().loadedFilters as LOADEDFILTERSET; + filterResponse = loadedFilters.private(payload); } else { const loadedFilters = options.loadedFilters as LOADEDFILTERSET; filterResponse = loadedFilters.private(payload); diff --git a/lib/common/types/options.ts b/lib/common/types/options.ts index 4dcf3e29d..589df8151 100644 --- a/lib/common/types/options.ts +++ b/lib/common/types/options.ts @@ -22,9 +22,11 @@ export interface ServerOpts { config: Record; filters: FiltersType; } -export interface LoadedClientOpts extends ClientOpts { - loadedFilters: LOADEDFILTERSET | Map; +export interface LoadedFiltersSet { + loadedFilters?: LOADEDFILTERSET | Map; } +export type LoadedClientOpts = LoadedFiltersSet & ClientOpts; + export interface LoadedServerOpts extends ServerOpts { loadedFilters: LOADEDFILTERSET | Map; } diff --git a/lib/server/index.ts b/lib/server/index.ts index 0a60668c7..684f07207 100644 --- a/lib/server/index.ts +++ b/lib/server/index.ts @@ -17,13 +17,12 @@ export const main = async (serverOpts: ServerOpts) => { // start the local webserver to listen for relay requests const { app, server } = webserver(serverOpts.config, serverOpts.port); - // Requires are done recursively, so this is here to avoid contaminating the Client - const LoadedServerOpts = { + const loadedServerOpts = { loadedFilters: loadAllFilters(serverOpts.filters, serverOpts.config), ...serverOpts, }; - if (!LoadedServerOpts.loadedFilters) { + if (!loadedServerOpts.loadedFilters) { logger.error({ serverOpts }, 'Unable to load filters'); throw new Error('Unable to load filters'); } @@ -39,7 +38,7 @@ export const main = async (serverOpts: ServerOpts) => { await serverStarting(); // bind the socket server to the web server - const { websocket } = bindSocketToWebserver(server, LoadedServerOpts); + const { websocket } = bindSocketToWebserver(server, loadedServerOpts); if (!process.env.JEST_WORKER_ID) { app.use(applyPrometheusMiddleware()); diff --git a/test/unit/relay-response-body-client.test.ts b/test/unit/relay-response-body-client.test.ts new file mode 100644 index 000000000..3aa446886 --- /dev/null +++ b/test/unit/relay-response-body-client.test.ts @@ -0,0 +1,251 @@ +const PORT = 8001; +process.env.BROKER_SERVER_URL = `http://localhost:${PORT}`; + +jest.mock('../../lib/common/http/request'); +import { setFilterConfig } from '../../lib/client/config/filters'; +import { Role, WebSocketConnection } from '../../lib/client/types/client'; +import { makeRequestToDownstream } from '../../lib/common/http/request'; + +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +// eslint-disable-next-line @typescript-eslint/no-unused-vars +const mockedFn = makeRequestToDownstream.mockImplementation((data) => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + return data; +}); + +import { forwardWebSocketRequest as relay } from '../../lib/common/relay/forwardWebsocketRequest'; +import { + LoadedClientOpts, + LoadedServerOpts, +} from '../../lib/common/types/options'; + +const dummyWebsocketHandler: WebSocketConnection = { + destroy: () => { + return; + }, + latency: 0, + options: { + ping: 0, + pong: 0, + queueSize: Infinity, + reconnect: '', + stategy: '', + timeout: 100, + transport: '', + }, + send: () => {}, + serverId: '0', + socket: {}, + supportedIntegrationType: 'github', + transport: '', + url: '', + on: () => {}, + end: () => {}, + role: Role.primary, + open: () => {}, + emit: () => {}, + readyState: 3, +}; + +const dummyLoadedFilters = { + private: () => { + return { url: '/', auth: '', stream: true }; + }, + public: () => { + return { url: '/', auth: '', stream: true }; + }, +}; + +describe('body relay', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + afterAll(() => { + delete process.env.BROKER_SERVER_URL; + jest.clearAllMocks(); + }); + + it('relay swaps body values found in BROKER_VAR_SUB', (done) => { + expect.hasAssertions(); + + const brokerToken = 'test-broker'; + + const config = { + HOST: 'localhost', + PORT: '8001', + brokerType: 'client', + }; + const options: LoadedClientOpts | LoadedServerOpts = { + filters: { + private: [ + { + method: 'any', + url: '/*', + }, + ], + public: [], + }, + config, + port: 8001, + loadedFilters: dummyLoadedFilters, + }; + setFilterConfig({ + loadedFilters: dummyLoadedFilters, + }); + const route = relay(options, dummyWebsocketHandler)(brokerToken); + + const body = { + BROKER_VAR_SUB: ['url'], + url: '${HOST}:${PORT}/webhook', + }; + + const expectedBody = { + url: `${config.HOST}:${config.PORT}/webhook`, + }; + + const bodyLengthBytes = Buffer.byteLength( + JSON.stringify(expectedBody), + 'utf8', + ); + + route( + { + url: '/', + method: 'POST', + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + body: Buffer.from(JSON.stringify(body)), + headers: {}, + }, + () => { + expect(makeRequestToDownstream).toHaveBeenCalledTimes(1); + const arg = mockedFn.mock.calls[0][0]; + expect(JSON.parse(arg.body).url).toEqual( + `${config.HOST}:${config.PORT}/webhook`, + ); + expect(arg.headers['Content-Length']).toEqual(bodyLengthBytes); + done(); + }, + ); + }); + + it('relay does NOT swap body values found in BROKER_VAR_SUB if disabled', (done) => { + expect.hasAssertions(); + + const brokerToken = 'test-broker'; + + const config = { + HOST: 'localhost', + PORT: '8001', + disableBodyVarsSubstitution: true, + brokerServerUrl: 'http://localhost:8001', + brokerType: 'client', + }; + + const options: LoadedClientOpts | LoadedServerOpts = { + filters: { + private: [ + { + method: 'any', + url: '/*', + }, + ], + public: [], + }, + config, + port: 8001, + loadedFilters: dummyLoadedFilters, + }; + setFilterConfig({ + loadedFilters: dummyLoadedFilters, + }); + const route = relay(options, dummyWebsocketHandler)(brokerToken); + + const body = { + BROKER_VAR_SUB: ['url'], + url: '${HOST}:${PORT}/webhook', + }; + + const bodyLengthBytes = Buffer.byteLength(JSON.stringify(body), 'utf8'); + + route( + { + url: '/', + method: 'POST', + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + body: Buffer.from(JSON.stringify(body)), + headers: {}, + }, + () => { + expect(makeRequestToDownstream).toHaveBeenCalledTimes(1); + const arg = mockedFn.mock.calls[0][0]; + expect(JSON.parse(arg.body).url).toEqual('${HOST}:${PORT}/webhook'); + expect(arg.headers['Content-Length']).toEqual(bodyLengthBytes); + done(); + }, + ); + }); + + it('handles characters outside of [a-zA-Z0-9]', (done) => { + expect.hasAssertions(); + + const brokerToken = 'test-broker'; + + const config = { + HOST: 'localhost', + PORT: '8001', + disableBodyVarsSubstitution: true, + brokerServerUrl: 'http://localhost:8001', + brokerType: 'client', + }; + + const options: LoadedClientOpts | LoadedServerOpts = { + filters: { + private: [ + { + method: 'any', + url: '/*', + }, + ], + public: [], + }, + config, + port: 8001, + loadedFilters: dummyLoadedFilters, + }; + setFilterConfig({ + loadedFilters: dummyLoadedFilters, + }); + const route = relay(options, dummyWebsocketHandler)(brokerToken); + + const body = { + BROKER_VAR_SUB: ['url'], + url: '${HOST}:${PORT}/webhook', + data: 'data–with–u+2013–dashes', + }; + + const bodyLengthBytes = Buffer.byteLength(JSON.stringify(body), 'utf8'); + + route( + { + url: '/', + method: 'POST', + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + body: Buffer.from(JSON.stringify(body)), + headers: {}, + }, + () => { + expect(makeRequestToDownstream).toHaveBeenCalledTimes(1); + const arg = mockedFn.mock.calls[0][0]; + expect(JSON.parse(arg.body).url).toEqual('${HOST}:${PORT}/webhook'); + expect(arg.headers['Content-Length']).toEqual(bodyLengthBytes); + done(); + }, + ); + }); +}); diff --git a/test/unit/relay-response-body-universal.test.ts b/test/unit/relay-response-body-universal.test.ts index 99d82ed87..2a1162599 100644 --- a/test/unit/relay-response-body-universal.test.ts +++ b/test/unit/relay-response-body-universal.test.ts @@ -22,6 +22,7 @@ import { LoadedClientOpts, LoadedServerOpts, } from '../../lib/common/types/options'; +import { setFilterConfig } from '../../lib/client/config/filters'; const dummyWebsocketHandler: WebSocketConnection = { destroy: () => { @@ -119,6 +120,9 @@ describe('body relay', () => { port: 8001, loadedFilters: loadAllFilters(dummyLoadedFilters, config), }; + setFilterConfig({ + loadedFilters: loadAllFilters(dummyLoadedFilters, config), + }); const route = relay(options, dummyWebsocketHandler)(brokerToken); const body = { From 34cd4b5f539fb7c301b9deac004c27a5884777d6 Mon Sep 17 00:00:00 2001 From: Antoine Arlaud Date: Mon, 11 Nov 2024 11:02:15 +0100 Subject: [PATCH 5/5] fix: add test for rule download fail graceful hndling --- lib/common/filter/utils.ts | 5 +++ test/unit/filter-loading.test.ts | 74 ++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 test/unit/filter-loading.test.ts diff --git a/lib/common/filter/utils.ts b/lib/common/filter/utils.ts index db9982983..2753a4dc5 100644 --- a/lib/common/filter/utils.ts +++ b/lib/common/filter/utils.ts @@ -46,6 +46,11 @@ export const retrieveFilters = async (locations: Map) => { method: 'GET', }; const filter = await makeSingleRawRequestToDownstream(req); + if (filter.statusCode && filter.statusCode > 299) { + throw new Error( + `Error downloading filter ${key}. Url ${location} returned ${filter.statusCode}`, + ); + } retrievedFiltersMap.set(key, filter.body); } else { retrievedFiltersMap.set( diff --git a/test/unit/filter-loading.test.ts b/test/unit/filter-loading.test.ts new file mode 100644 index 000000000..4b50e84e8 --- /dev/null +++ b/test/unit/filter-loading.test.ts @@ -0,0 +1,74 @@ +import { LOADEDFILTERSET } from '../../lib/common/types/filter'; +const nock = require('nock'); +import { retrieveAndLoadFilters } from '../../lib/client/utils/filterLoading'; +import { ClientOpts } from '../../lib/common/types/options'; +import { + getFilterConfig, + setFilterConfig, +} from '../../lib/client/config/filters'; + +const scmRulesToTest = [ + 'azure-repos', + 'bitbucket-server', + 'bitbucket-server-bearer-auth', + 'github', + 'github-enterprise', + 'gitlab', +]; + +const rulesetSourceInvalidHostname = 'http://invalid.broker-rules.snyk.io'; + +describe('filter Rules Loading', () => { + beforeAll(() => { + nock(`${rulesetSourceInvalidHostname}`) + .persist() + .get(/./) + .reply(() => { + return [404]; + }); + }); + beforeEach(() => { + jest.resetModules(); + process.env.ACCEPT = 'accept.json'; + }); + + afterEach(() => { + delete process.env.ACCEPT; + }); + + test.each(scmRulesToTest)( + 'Handle gracefully failure to download ruleset - Testing %s', + async (folder) => { + const loadedFilters: Map = new Map(); + const dummyFilter: LOADEDFILTERSET = { + private: () => { + return false; + }, + public: () => { + return false; + }, + }; + loadedFilters.set(folder, dummyFilter); + setFilterConfig({ loadedFilters }); + expect(getFilterConfig()).toStrictEqual({ loadedFilters }); + const filterRulePath = {}; + filterRulePath[folder] = `${rulesetSourceInvalidHostname}/${folder}.json`; + + const cfg: ClientOpts = { + port: 0, + config: { + brokerType: 'client', + supportedBrokerTypes: [`${folder}`], + filterRulesPaths: filterRulePath, + universalBrokerEnabled: true, + }, + filters: new Map(), + }; + await expect(retrieveAndLoadFilters(cfg)).rejects.toThrowError( + `Error downloading filter ${folder}. Url http://invalid.broker-rules.snyk.io/${folder}.json returned 404`, + ); + // Loaded Filters remain unchanged + expect(getFilterConfig()).toStrictEqual({ loadedFilters }); + }, + ); +});