From 5e772f0745dd3d29c99f78cac7210a49a76990ea Mon Sep 17 00:00:00 2001 From: Omer Zidkoni Date: Wed, 9 Aug 2023 11:24:19 +0300 Subject: [PATCH 1/6] Improve Azure Repos docs --- docs/install-azure-pipelines.md | 302 +++++++++++++++++++++++--------- images/azure-build-policy.png | Bin 30679 -> 58031 bytes 2 files changed, 224 insertions(+), 78 deletions(-) diff --git a/docs/install-azure-pipelines.md b/docs/install-azure-pipelines.md index 800fe04d5..c662b4599 100644 --- a/docs/install-azure-pipelines.md +++ b/docs/install-azure-pipelines.md @@ -19,7 +19,7 @@ To install Frogbot on Azure Repos repositories, follow these steps. ![azure-set-code-source.png.png](../images/azure-set-code-source.png) -5. Select your `Frogbot Management Repository`. +5. Select the repository in which the Frogbot pipelines will reside in. ![azure-select-repo-to-test.png](../images/azure-select-repo-to-test.png) @@ -27,60 +27,204 @@ To install Frogbot on Azure Repos repositories, follow these steps. ![azure-starter-pipeline.png](../images/azure-starter-pipeline.png) -7. Use the content of the below template for the pipeline. Edit the remaining mandatory `Variables`. +7. Use the content of the below templates for the pipeline. Edit the remaining mandatory `Variables`.
- Template + Scan Repository and Fix ```yml - schedules: - # Run once an hour - - cron: "* */1 * * *" - branches: - include: - - "main" - - "master" - pool: - vmImage: ubuntu-latest - - variables: - # Predefined Azure Pipelines variables. There's no need to modify them. - JF_GIT_PROJECT: $(System.TeamProject) - JF_GIT_API_ENDPOINT: $(System.CollectionUri) - JF_GIT_PROVIDER: 'azureRepos' - - jobs: - - job: - displayName: "Frogbot Scan" - steps: - - task: CmdLine@2 - env: - # Predefined Azure Pipelines variables. There's no need to modify them. - JF_GIT_PROJECT: $(System.TeamProject) - JF_GIT_API_ENDPOINT: $(System.CollectionUri) - JF_GIT_PROVIDER: 'azureRepos' +schedules: + - cron: '0 0 * * *' + displayName: Daily midnight build + branches: + include: + - main + +pr: none +trigger: none + +pool: + vmImage: ubuntu-latest + +variables: + # Predefined Azure Pipelines variables. There's no need to modify them. + JF_GIT_PROJECT: $(System.TeamProject) + JF_GIT_REPO: $(Build.Repository.Name) + JF_GIT_API_ENDPOINT: $(System.CollectionUri) + JF_GIT_BASE_BRANCH: $(Build.SourceBranchName) + JF_GIT_OWNER: $(System.TeamProject) + JF_GIT_PROVIDER: 'azureRepos' + +jobs: + - job: + displayName: "Frogbot Scan Repository and Fix" + steps: + - task: CmdLine@2 + displayName: 'Download and Run Frogbot' + env: + # [Mandatory] + # JFrog platform URL (This functionality requires version 3.29.0 or above of Xray) + JF_URL: $(JF_URL) + + # [Mandatory if JF_USER and JF_PASSWORD are not provided] + # JFrog access token with 'read' permissions for Xray + JF_ACCESS_TOKEN: $(JF_ACCESS_TOKEN) + + # [Mandatory if JF_ACCESS_TOKEN is not provided] + # JFrog user and password with 'read' permissions for Xray + # JF_USER: $JF_USER + # JF_PASSWORD: $JF_PASSWORD + + # [Mandatory] + # Azure Repos personal access token with Code -> Read & Write permissions + JF_GIT_TOKEN: $(JF_GIT_TOKEN) + + # [Optional] + # By default, the Frogbot workflows download the Frogbot executable as well as other tools + # needed from https://releases.jfrog.io + # If the machine that runs Frogbot has no access to the internet, follow these steps to allow the + # executable to be downloaded from an Artifactory instance, which the machine has access to: + # + # 1. Login to the Artifactory UI, with a user who has admin credentials. + # 2. Create a Remote Repository with the following properties set. + # Under the 'Basic' tab: + # Package Type: Generic + # URL: https://releases.jfrog.io + # Under the 'Advanced' tab: + # Uncheck the 'Store Artifacts Locally' option + # 3. Set the value of the 'JF_RELEASES_REPO' variable with the Repository Key you created. + # JF_RELEASES_REPO: "" + + ########################################################################### + ## If your project uses a 'frogbot-config.yml' file, you should define ## + ## the following variables inside the file, instead of here. ## + ########################################################################### + + # [Mandatory if the two conditions below are met] + # 1. The project uses yarn 2, NuGet, or .NET to download its dependencies + # 2. The `installCommand` variable isn't set in your frogbot-config.yml file. + # + # The command that installs the project dependencies (e.g "nuget restore") + # JF_INSTALL_DEPS_CMD: "" + + # [Optional, default: "."] + # Relative path to the root of the project in the Git repository + JF_WORKING_DIR: maven + + # [Optional] + # Xray Watches. Learn more about them here: https://www.jfrog.com/confluence/display/JFROG/Configuring+Xray+Watches + # JF_WATCHES: ,... + + # [Optional] + # JFrog project. Learn more about it here: https://www.jfrog.com/confluence/display/JFROG/Projects + # JF_PROJECT: + + # [Optional, default: "FALSE"] + # Displays all existing vulnerabilities, including the ones that were added by the pull request. + # JF_INCLUDE_ALL_VULNERABILITIES: "TRUE" + + # [Optional, default: "TRUE"] + # Fails the Frogbot task if any security issue is found. + # JF_FAIL: "FALSE" + + # [Optional] + # Relative path to a Pip requirements.txt file. If not set, the Python project's dependencies are determined and scanned using the project setup.py file. + # JF_REQUIREMENTS_FILE: "" + + # [Optional, Default: "TRUE"] + # Use Gradle wrapper. + # JF_USE_WRAPPER: "FALSE" + + # [Optional] + # Frogbot will download the project dependencies if they're not cached locally. To download the + # dependencies from a virtual repository in Artifactory, set the name of the repository. There's no + # need to set this value, if it is set in the frogbot-config.yml file. + # JF_DEPS_REPO: "" + + # [Optional] + # Template for the branch name generated by Frogbot when creating pull requests with fixes. + # The template must include ${BRANCH_NAME_HASH}, to ensure that the generated branch name is unique. + # The template can optionally include the ${IMPACTED_PACKAGE} and ${FIX_VERSION} variables. + # JF_BRANCH_NAME_TEMPLATE: "frogbot-${IMPACTED_PACKAGE}-${BRANCH_NAME_HASH}" + + # [Optional] + # Template for the commit message generated by Frogbot when creating pull requests with fixes + # The template can optionally include the ${IMPACTED_PACKAGE} and ${FIX_VERSION} variables. + # JF_COMMIT_MESSAGE_TEMPLATE: "Upgrade ${IMPACTED_PACKAGE} to ${FIX_VERSION}" + + # [Optional] + # Template for the pull request title generated by Frogbot when creating pull requests with fixes. + # The template can optionally include the ${IMPACTED_PACKAGE} and ${FIX_VERSION} variables. + # JF_PULL_REQUEST_TITLE_TEMPLATE: "[🐸 Frogbot] Upgrade ${IMPACTED_PACKAGE} to ${FIX_VERSION}" + + # [Optional, Default: "FALSE"] + # If TRUE, Frogbot creates a single pull request with all the fixes. + # If FALSE, Frogbot creates a separate pull request for each fix. + # JF_GIT_AGGREGATE_FIXES: "FALSE" + + # [Optional, Default: "FALSE"] + # Handle vulnerabilities with fix versions only + # JF_FIXABLE_ONLY: "TRUE" + + # [Optional] + # Set the minimum severity for vulnerabilities that should be fixed and commented on in pull requests + # The following values are accepted: Low, Medium, High, or Critical + # JF_MIN_SEVERITY: "" + + # [Optional, Default: eco-system+frogbot@jfrog.com] + # Set the email of the commit author + # JF_GIT_EMAIL_AUTHOR: "" + inputs: + script: | + getFrogbotScriptPath=$(if [ -z "$JF_RELEASES_REPO" ]; then echo "https://releases.jfrog.io"; else echo "${JF_URL}/artifactory/${JF_RELEASES_REPO}"; fi) + curl -fLg "$getFrogbotScriptPath/artifactory/frogbot/v2/[RELEASE]/getFrogbot.sh" | sh + ./frogbot cfpr + ``` - # [Mandatory] - # Azure Repos personal access token with Code -> Read & Write permissions - JF_GIT_TOKEN: $(FROGBOT_GIT_TOKEN) +
+
+ Scan Pull Request + + ```yml +pool: + vmImage: ubuntu-latest + +trigger: none + +variables: + JF_GIT_PULL_REQUEST_ID: $(System.PullRequest.PullRequestId) + JF_GIT_PROJECT: $(System.TeamProject) + JF_GIT_REPO: $(Build.Repository.Name) + JF_GIT_API_ENDPOINT: $(System.CollectionUri) + JF_GIT_BASE_BRANCH: $(System.PullRequest.TargetBranch) + JF_GIT_OWNER: $(System.TeamProject) + JF_GIT_PROVIDER: 'azureRepos' + +jobs: + - job: + displayName: "Frogbot Scan Pull Request" + steps: + - task: CmdLine@2 + displayName: 'Download and Run Frogbot' + env: # [Mandatory] # JFrog platform URL (This functionality requires version 3.29.0 or above of Xray) JF_URL: $(JF_URL) - + # [Mandatory if JF_USER and JF_PASSWORD are not provided] # JFrog access token with 'read' permissions for Xray JF_ACCESS_TOKEN: $(JF_ACCESS_TOKEN) - + # [Mandatory if JF_ACCESS_TOKEN is not provided] # JFrog user and password with 'read' permissions for Xray - # JF_USER: $(JF_USER) - # JF_PASSWORD: $(JF_PASSWORD) - + # JF_USER: $JF_USER + # JF_PASSWORD: $JF_PASSWORD + # [Mandatory] - # The name of the organization that owns this project - JF_GIT_OWNER: "" - + # Azure Repos personal access token with Code -> Read & Write permissions + JF_GIT_TOKEN: $(JF_GIT_TOKEN) + # [Optional] # By default, the Frogbot workflows download the Frogbot executable as well as other tools # needed from https://releases.jfrog.io @@ -94,107 +238,109 @@ To install Frogbot on Azure Repos repositories, follow these steps. # URL: https://releases.jfrog.io # Under the 'Advanced' tab: # Uncheck the 'Store Artifacts Locally' option - # 3. Set the value of the 'JF_RELEASES_REPO' variable with the Repository Key you created. + # 3. Set the value of the 'JF_RELEASES_REPO' variable with the Repository Key you created. # JF_RELEASES_REPO: "" - - ########################################################################## - ## If your project uses a 'frogbot-config.yml' file, you can define ## - ## the following variables inside the file, instead of here. ## - ########################################################################## - - # [Mandatory] - # The name of the repository - JF_GIT_REPO: "multi_example_project" - - # [Mandatory] - # The name of the branch on which Frogbot will perform the scan - JF_GIT_BASE_BRANCH: "main" - + + ########################################################################### + ## If your project uses a 'frogbot-config.yml' file, you should define ## + ## the following variables inside the file, instead of here. ## + ########################################################################### + # [Mandatory if the two conditions below are met] # 1. The project uses yarn 2, NuGet, or .NET to download its dependencies # 2. The `installCommand` variable isn't set in your frogbot-config.yml file. # # The command that installs the project dependencies (e.g "nuget restore") - JF_INSTALL_DEPS_CMD: "" - + # JF_INSTALL_DEPS_CMD: "" + # [Optional, default: "."] # Relative path to the root of the project in the Git repository # JF_WORKING_DIR: path/to/project/dir - + # [Optional] # Xray Watches. Learn more about them here: https://www.jfrog.com/confluence/display/JFROG/Configuring+Xray+Watches # JF_WATCHES: ,... - + # [Optional] # JFrog project. Learn more about it here: https://www.jfrog.com/confluence/display/JFROG/Projects # JF_PROJECT: - + # [Optional, default: "FALSE"] # Displays all existing vulnerabilities, including the ones that were added by the pull request. # JF_INCLUDE_ALL_VULNERABILITIES: "TRUE" - + # [Optional, default: "TRUE"] # Fails the Frogbot task if any security issue is found. # JF_FAIL: "FALSE" - + # [Optional] # Relative path to a Pip requirements.txt file. If not set, the Python project's dependencies are determined and scanned using the project setup.py file. # JF_REQUIREMENTS_FILE: "" - + # [Optional, Default: "TRUE"] # Use Gradle wrapper. # JF_USE_WRAPPER: "FALSE" - + # [Optional] # Frogbot will download the project dependencies if they're not cached locally. To download the # dependencies from a virtual repository in Artifactory, set the name of the repository. There's no # need to set this value, if it is set in the frogbot-config.yml file. # JF_DEPS_REPO: "" - + # [Optional] # Template for the branch name generated by Frogbot when creating pull requests with fixes. # The template must include ${BRANCH_NAME_HASH}, to ensure that the generated branch name is unique. # The template can optionally include the ${IMPACTED_PACKAGE} and ${FIX_VERSION} variables. # JF_BRANCH_NAME_TEMPLATE: "frogbot-${IMPACTED_PACKAGE}-${BRANCH_NAME_HASH}" - + # [Optional] # Template for the commit message generated by Frogbot when creating pull requests with fixes # The template can optionally include the ${IMPACTED_PACKAGE} and ${FIX_VERSION} variables. # JF_COMMIT_MESSAGE_TEMPLATE: "Upgrade ${IMPACTED_PACKAGE} to ${FIX_VERSION}" - + # [Optional] # Template for the pull request title generated by Frogbot when creating pull requests with fixes. # The template can optionally include the ${IMPACTED_PACKAGE} and ${FIX_VERSION} variables. # JF_PULL_REQUEST_TITLE_TEMPLATE: "[🐸 Frogbot] Upgrade ${IMPACTED_PACKAGE} to ${FIX_VERSION}" - + # [Optional, Default: "FALSE"] # If TRUE, Frogbot creates a single pull request with all the fixes. # If FALSE, Frogbot creates a separate pull request for each fix. # JF_GIT_AGGREGATE_FIXES: "FALSE" - + # [Optional, Default: "FALSE"] # Handle vulnerabilities with fix versions only # JF_FIXABLE_ONLY: "TRUE" - + # [Optional] # Set the minimum severity for vulnerabilities that should be fixed and commented on in pull requests # The following values are accepted: Low, Medium, High, or Critical # JF_MIN_SEVERITY: "" - + # [Optional, Default: eco-system+frogbot@jfrog.com] # Set the email of the commit author # JF_GIT_EMAIL_AUTHOR: "" - displayName: 'Download and Run Frogbot' - inputs: - script: | - getFrogbotScriptPath=$( [[ -z "$JF_RELEASES_REPO" ]] && echo "https://releases.jfrog.io" || echo "${JF_URL}/artifactory/${JF_RELEASES_REPO}" ) - curl -fLg "$getFrogbotScriptPath/artifactory/frogbot/v2/[RELEASE]/getFrogbot.sh" | sh - ./frogbot scan-pull-requests - ./frogbot scan-and-fix-repos + inputs: + script: | + getFrogbotScriptPath=$(if [ -z "$JF_RELEASES_REPO" ]; then echo "https://releases.jfrog.io"; else echo "${JF_URL}/artifactory/${JF_RELEASES_REPO}"; fi) + curl -fLg "$getFrogbotScriptPath/artifactory/frogbot/v2/[RELEASE]/getFrogbot.sh" | sh + ./frogbot spr ``` +> **_NOTE:_** To set up a pull request trigger in Azure Repos, you need to add a branch policy via 'Branch Policies'. + +- Go to the "Branches" section: +![azure-branches.png](../images/azure-branches.png) +- For each of the branches against which you want Frogbot to scan pull requests, click on the three dots and select "Branch policies": +![azure-branch-policies.png](../images/azure-branch-policies.png) +- Add new build policy: +![azure-build-policy.png](../images/azure-build-validation.png) +- Fill the following build policy parameters and Save: +![azure-build-policy.png](../images/azure-build-policy.png) +
+ 8. For the pipeline you created, save the JFrog connection details as variables with the following names - JF_URL, JF_USER, and JF_PASSWORD. > **_NOTE:_** You can also use **JF_XRAY_URL** and **JF_ARTIFACTORY_URL** instead of **JF_URL**, and **JF_ACCESS_TOKEN** diff --git a/images/azure-build-policy.png b/images/azure-build-policy.png index 266c40a6f5e1541ee481043394314f59fd3ce4a5..7bde73fe871d6ef8891c954ea9346a08b2bdf4ed 100644 GIT binary patch literal 58031 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 Jm1tmu>+QK?mBp1heuB7a4Hs&I$yvN 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 P1|aZs^>bP0l+XkK%gY*3 literal 30679 zcmeFZc{J2-{5Pz=sZdFlzA03aEwl`>%vcIVV_&kTgu#$K#!yO%P}U;5v9B2;G!&Im zvJ7U-Sc=3jV>cLv=Nf&#_wRoG_?`QA-_QA-^E~G~=X4Iu_3U{XgUV7ysfy9QuqwYP%62CvFlBC4D;U@a}lmajEv>`p$=v zrE~?JNgv$#_*%rfJx6}UNagK2-+2i=TdG<*L!PxSW!(Kf(0CV?5JVpKu%MG$ReGn( zEJ`;ec7kDW{QBNZ+Qa^Zqa(g*`xlkVq`$y_?;Sfy+W~%R9^hlJzdjzd7mS{R6;mu$s@C{$!m)fdLpX+kIA(jhXd$j zMe^(0F?7=<<`heq-ZYKha&a1YfL+nbiib&}9hif|!4o1BPH;CB^SY{_<*B~O_GDR~ z3@A#8xw$?&w$&6cokAy{4BMD*TXpX5PmnP1B$fos4A#4CJ=nef^^pElf4OaUSY{X# zK`B3hUi}%R(^kP`P`ndiOnFjZAH}tN0AO@aH%**9Rp{VVw; z4N35+xGJJ*L(r^)Kdq$Ltnf5?FRDE6Rh9DX_N3gvWSAa%dTs4n94Z~~(T1m4J(Jo7 z;bv3v~SJx-MY=7-ou zGq+kSO+znsDCo^Va4i5-=WkEFQg%L%+%I--iwL8r8>OdN%U-t}LdbMp572#HqpBvnN)e~8)((7MUtq_bf1o5!GVLXb5Y0XqWEN3II z4CZ4J-#<;1vltGUE?;F;3p`%NS9cb-wR6QxCE{3E1i{k^OowxkDvf%1fRnG;f8h*c zmx-ePq;XB^*^JdfdTWYyLWN!lghoA0Q@vluLP|S(4Zl?xK25(Xv;Xe|K?ZD{R4M=mXV}IdX-dAF!?6Ngy}j~jefY@n}BJ{*YSGs zqL?sPiHKU@-Ody*V0t=~;w3#X@D53pQ&okDN~rS%zIj22yfB%q{Ii$E#R414+J)iQ zcu*P}bC>3vA?B((;FN-%dnaU_uBbK7e4o!;@@G`tXr$8DT>-7=hiH8EPWQzjM? zrCSb3QwBRU7ujCkS87GE|1>4SkhgndjO}r+$IN0i8jgnGLmUmbSTkK>+F%IAO(m_v zpP!4z7=98sKd1d_^#lWp)1GFmw8)F?q z93nAYT+MPv8B1G8F0B|qgHoK6j==jNl8V*h54nKgSO@mQIa zi?nhn#_Wh=Z<|7pNP+I|8b)OnrqrrZh}M|tRB3*^Z#ge57kcB}z24bWS+vG0c?|f{;9mfTQ@PUb0P9j*9*lmG{g=buwvvYr%PJRT>Pg6 zmQAGh<#*@u;VNY#8#^_&-ri9B4n;9`8A;i%IT`W9I%gC$t^H2#jydJH&E*dA(2qI^S3DWAi&hR@d=^jbFz@(eM4OyUzig0cjrfQH)Ylv zK~zy6_J`&8?aHvK)BQp4+n5PzmJOCCxRr3D5R#3mJ}Xwpq%Lh9vCug!Escp}D+lSR z>8Y;@&Dfz^6P;O|$Ho_1Glf>F=oOIH&vk#A5(xvF6@RwTMz_iI$HR_ire^gCzh7Yw z_PIG#^1)(Eoo0uEMrzYPKrBp3O~{)v_!W8D!-DfADGH8W3}$mr!Ijb_=*kw!q_V2+ z#`_4c(;N)?rCtfyy`~iT8who`sNvwrO3S3~y}9&RBVG`m4@N2k8I~XHPq^R78&WPP zKaCl!DlB$pIA2Rv>d==gKxkcy(ah(vFTLRU{TQY8p5+Xd@@AoR_>Iq4G}%J+{Wlx9 ziIXH!zocY)7ZsW$m93W-!_lxl_wJS_&X@>b&~-FQ*^UaNqq-r|U`9Db-p|Ci=GTRsxqJdDHx zFQ(LaXVn$@dliu^F*`14OD@=?H4DIR*HVi8N0cPx9ztwL9uGTD%F?92CFgQl(*kAS zTFG7XQwK!V-5BO)Ae_FRo*ucH74i@o`(i*Tx#`k)mwwLI6ggR`@~SDfU4$9i+m#oR zyO!=8&ICzLS<1dpx%%0DQy&rmo#XxU<*TQ%c28CC+k@!=&NF1fQm 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 From ee6237a6d8f721a513019638bdf67cc212731fd2 Mon Sep 17 00:00:00 2001 From: Omer Zidkoni Date: Wed, 9 Aug 2023 11:26:51 +0300 Subject: [PATCH 2/6] Improve Azure Repos docs --- docs/install-azure-pipelines.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install-azure-pipelines.md b/docs/install-azure-pipelines.md index c662b4599..86dd8ae9e 100644 --- a/docs/install-azure-pipelines.md +++ b/docs/install-azure-pipelines.md @@ -109,7 +109,7 @@ jobs: # [Optional, default: "."] # Relative path to the root of the project in the Git repository - JF_WORKING_DIR: maven + # JF_WORKING_DIR: maven # [Optional] # Xray Watches. Learn more about them here: https://www.jfrog.com/confluence/display/JFROG/Configuring+Xray+Watches From 70f49c0c6e389f0de7f43e1ad31f4587b6e8fcd6 Mon Sep 17 00:00:00 2001 From: Omer Zidkoni Date: Wed, 9 Aug 2023 11:30:01 +0300 Subject: [PATCH 3/6] Improve Azure Repos docs --- docs/install-azure-pipelines.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/install-azure-pipelines.md b/docs/install-azure-pipelines.md index 86dd8ae9e..5acfb73b2 100644 --- a/docs/install-azure-pipelines.md +++ b/docs/install-azure-pipelines.md @@ -330,12 +330,19 @@ jobs: > **_NOTE:_** To set up a pull request trigger in Azure Repos, you need to add a branch policy via 'Branch Policies'. - Go to the "Branches" section: + ![azure-branches.png](../images/azure-branches.png) + - For each of the branches against which you want Frogbot to scan pull requests, click on the three dots and select "Branch policies": + ![azure-branch-policies.png](../images/azure-branch-policies.png) + - Add new build policy: + ![azure-build-policy.png](../images/azure-build-validation.png) + - Fill the following build policy parameters and Save: + ![azure-build-policy.png](../images/azure-build-policy.png) From 3db2fd289f6f6d5a0a28ae8ce903b8a3564935cc Mon Sep 17 00:00:00 2001 From: Omer Zidkoni Date: Wed, 9 Aug 2023 11:33:04 +0300 Subject: [PATCH 4/6] Improve Azure Repos docs --- docs/install-azure-pipelines.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/install-azure-pipelines.md b/docs/install-azure-pipelines.md index 5acfb73b2..b37446712 100644 --- a/docs/install-azure-pipelines.md +++ b/docs/install-azure-pipelines.md @@ -331,19 +331,19 @@ jobs: - Go to the "Branches" section: -![azure-branches.png](../images/azure-branches.png) + ![azure-branches.png](../images/azure-branches.png) - For each of the branches against which you want Frogbot to scan pull requests, click on the three dots and select "Branch policies": -![azure-branch-policies.png](../images/azure-branch-policies.png) + ![azure-branch-policies.png](../images/azure-branch-policies.png) - Add new build policy: -![azure-build-policy.png](../images/azure-build-validation.png) + ![azure-build-policy.png](../images/azure-build-validation.png) - Fill the following build policy parameters and Save: -![azure-build-policy.png](../images/azure-build-policy.png) + ![azure-build-policy.png](../images/azure-build-policy.png) From befdbd04517ba73cf9b91138b254ce8bfdcc540f Mon Sep 17 00:00:00 2001 From: Omer Zidkoni Date: Thu, 17 Aug 2023 08:26:46 +0300 Subject: [PATCH 5/6] CR Changes --- docs/install-azure-pipelines.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/install-azure-pipelines.md b/docs/install-azure-pipelines.md index b37446712..c9292b746 100644 --- a/docs/install-azure-pipelines.md +++ b/docs/install-azure-pipelines.md @@ -30,7 +30,7 @@ To install Frogbot on Azure Repos repositories, follow these steps. 7. Use the content of the below templates for the pipeline. Edit the remaining mandatory `Variables`.

- Scan Repository and Fix + Scanning repository branches and fixing issues ```yml schedules: @@ -184,7 +184,7 @@ jobs:
- Scan Pull Request + Scanning pull requests ```yml pool: From a0e2d2a3ccf7c4287f48d18ea5ee1c9d527d99bf Mon Sep 17 00:00:00 2001 From: Omer Zidkoni Date: Thu, 17 Aug 2023 08:29:14 +0300 Subject: [PATCH 6/6] CR Changes --- docs/install-azure-pipelines.md | 63 +++++++++++---------------------- 1 file changed, 21 insertions(+), 42 deletions(-) diff --git a/docs/install-azure-pipelines.md b/docs/install-azure-pipelines.md index c9292b746..3b1e156de 100644 --- a/docs/install-azure-pipelines.md +++ b/docs/install-azure-pipelines.md @@ -240,19 +240,25 @@ jobs: # Uncheck the 'Store Artifacts Locally' option # 3. Set the value of the 'JF_RELEASES_REPO' variable with the Repository Key you created. # JF_RELEASES_REPO: "" + + # [Optional] + # Configure the SMTP server to enable Frogbot to send emails with detected secrets in pull request scans. + # SMTP server URL including should the relevant port: (Example: smtp.server.com:8080) + # JF_SMTP_SERVER: "" + + # [Mandatory if JF_SMTP_SERVER is set] + # The username required for authenticating with the SMTP server. + # JF_SMTP_USER: "" + + # [Mandatory if JF_SMTP_SERVER is set] + # The password associated with the username required for authentication with the SMTP server. + # JF_SMTP_PASSWORD: "" ########################################################################### ## If your project uses a 'frogbot-config.yml' file, you should define ## ## the following variables inside the file, instead of here. ## ########################################################################### - - # [Mandatory if the two conditions below are met] - # 1. The project uses yarn 2, NuGet, or .NET to download its dependencies - # 2. The `installCommand` variable isn't set in your frogbot-config.yml file. - # - # The command that installs the project dependencies (e.g "nuget restore") - # JF_INSTALL_DEPS_CMD: "" - + # [Optional, default: "."] # Relative path to the root of the project in the Git repository # JF_WORKING_DIR: path/to/project/dir @@ -273,53 +279,26 @@ jobs: # Fails the Frogbot task if any security issue is found. # JF_FAIL: "FALSE" - # [Optional] - # Relative path to a Pip requirements.txt file. If not set, the Python project's dependencies are determined and scanned using the project setup.py file. - # JF_REQUIREMENTS_FILE: "" - - # [Optional, Default: "TRUE"] - # Use Gradle wrapper. - # JF_USE_WRAPPER: "FALSE" - # [Optional] # Frogbot will download the project dependencies if they're not cached locally. To download the # dependencies from a virtual repository in Artifactory, set the name of the repository. There's no # need to set this value, if it is set in the frogbot-config.yml file. # JF_DEPS_REPO: "" - - # [Optional] - # Template for the branch name generated by Frogbot when creating pull requests with fixes. - # The template must include ${BRANCH_NAME_HASH}, to ensure that the generated branch name is unique. - # The template can optionally include the ${IMPACTED_PACKAGE} and ${FIX_VERSION} variables. - # JF_BRANCH_NAME_TEMPLATE: "frogbot-${IMPACTED_PACKAGE}-${BRANCH_NAME_HASH}" - - # [Optional] - # Template for the commit message generated by Frogbot when creating pull requests with fixes - # The template can optionally include the ${IMPACTED_PACKAGE} and ${FIX_VERSION} variables. - # JF_COMMIT_MESSAGE_TEMPLATE: "Upgrade ${IMPACTED_PACKAGE} to ${FIX_VERSION}" - - # [Optional] - # Template for the pull request title generated by Frogbot when creating pull requests with fixes. - # The template can optionally include the ${IMPACTED_PACKAGE} and ${FIX_VERSION} variables. - # JF_PULL_REQUEST_TITLE_TEMPLATE: "[🐸 Frogbot] Upgrade ${IMPACTED_PACKAGE} to ${FIX_VERSION}" - - # [Optional, Default: "FALSE"] - # If TRUE, Frogbot creates a single pull request with all the fixes. - # If FALSE, Frogbot creates a separate pull request for each fix. - # JF_GIT_AGGREGATE_FIXES: "FALSE" - + # [Optional, Default: "FALSE"] # Handle vulnerabilities with fix versions only # JF_FIXABLE_ONLY: "TRUE" # [Optional] # Set the minimum severity for vulnerabilities that should be fixed and commented on in pull requests - # The following values are accepted: Low, Medium, High, or Critical + # The following values are accepted: Low, Medium, High or Critical # JF_MIN_SEVERITY: "" - # [Optional, Default: eco-system+frogbot@jfrog.com] - # Set the email of the commit author - # JF_GIT_EMAIL_AUTHOR: "" + # [Mandatory if JF_SMTP_SERVER is set] + # List of email addresses to receive emails about secrets that has been detected in a pull request scan. + # The list should be seperated by commas. + # JF_EMAIL_RECEIVERS: "" + inputs: script: | getFrogbotScriptPath=$(if [ -z "$JF_RELEASES_REPO" ]; then echo "https://releases.jfrog.io"; else echo "${JF_URL}/artifactory/${JF_RELEASES_REPO}"; fi)