From cc996a3ef11a723c60065fb8f796264f5d4b36a5 Mon Sep 17 00:00:00 2001 From: Dave Pisek <dpisek@gitlab.com> Date: Mon, 15 Feb 2021 12:32:22 +1100 Subject: [PATCH] Update documentation and enable jira_for_vulnerabilities feature * Updates documentation for Jira vulnerabilities integration * Changes config to default enable `:jira_for_vulnerabilities` * Changes feature-flag checks to use value from yaml file --- .../projects/services_controller.rb | 2 +- .../development/jira_for_vulnerabilities.yml | 2 +- .../create_issue_from_vulnerability_v13_3.png | Bin 5079 -> 0 bytes doc/user/application_security/img/issue.png | Bin 4780 -> 0 bytes doc/user/application_security/index.md | 27 ++--- .../vulnerabilities/index.md | 105 +++++++++++++----- .../vulnerability_report/index.md | 12 +- doc/user/project/integrations/jira.md | 60 ++++++---- .../project/integrations/jira_integrations.md | 1 + .../project_services/ee/jira_service.rb | 2 +- ...e-creation-configuration-for-vulnerabi.yml | 5 + 11 files changed, 134 insertions(+), 82 deletions(-) delete mode 100644 doc/user/application_security/img/create_issue_from_vulnerability_v13_3.png delete mode 100644 doc/user/application_security/img/issue.png create mode 100644 ee/changelogs/unreleased/299209-doc-updates-for-jira-issue-creation-configuration-for-vulnerabi.yml diff --git a/app/controllers/projects/services_controller.rb b/app/controllers/projects/services_controller.rb index 6ed9f74297d94..b5c73f29784ea 100644 --- a/app/controllers/projects/services_controller.rb +++ b/app/controllers/projects/services_controller.rb @@ -14,7 +14,7 @@ class Projects::ServicesController < Projects::ApplicationController before_action only: :edit do push_frontend_feature_flag(:jira_issues_integration, @project, type: :licensed, default_enabled: true) push_frontend_feature_flag(:jira_vulnerabilities_integration, @project, type: :licensed, default_enabled: true) - push_frontend_feature_flag(:jira_for_vulnerabilities, @project, type: :development, default_enabled: false) + push_frontend_feature_flag(:jira_for_vulnerabilities, @project, type: :development, default_enabled: :yaml) end respond_to :html diff --git a/config/feature_flags/development/jira_for_vulnerabilities.yml b/config/feature_flags/development/jira_for_vulnerabilities.yml index 32500c48da82e..e00bd15cd09a1 100644 --- a/config/feature_flags/development/jira_for_vulnerabilities.yml +++ b/config/feature_flags/development/jira_for_vulnerabilities.yml @@ -4,4 +4,4 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46982 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/276893 type: development group: group::threat insights -default_enabled: false +default_enabled: true diff --git a/doc/user/application_security/img/create_issue_from_vulnerability_v13_3.png b/doc/user/application_security/img/create_issue_from_vulnerability_v13_3.png deleted file mode 100644 index b792fbc9af169ee39acaad715770bc03d8711905..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5079 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 CVfVoR diff --git a/doc/user/application_security/img/issue.png b/doc/user/application_security/img/issue.png deleted file mode 100644 index 6467201df3f2f924de90a814f42f690ba685bad4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4780 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 diff --git a/doc/user/application_security/index.md b/doc/user/application_security/index.md index e08af0d0bb969..4a23cd874bec1 100644 --- a/doc/user/application_security/index.md +++ b/doc/user/application_security/index.md @@ -141,12 +141,12 @@ reports are available to download. To download a report, click on the > Introduced in [GitLab Ultimate](https://about.gitlab.com/pricing/) 10.8. Each security vulnerability in the merge request report or the -[Security Dashboard](security_dashboard/index.md) is actionable. Click an entry to view detailed +[Vulnerability Report](vulnerability_report/index.md) is actionable. Click an entry to view detailed information with several options: - [Dismiss vulnerability](#dismissing-a-vulnerability): Dismissing a vulnerability styles it in strikethrough. -- [Create issue](#creating-an-issue-for-a-vulnerability): Create a new issue with the title and +- [Create issue](vulnerabilities/index.md#create-a-gitlab-issue-for-a-vulnerability): Create a new issue with the title and description pre-populated with information from the vulnerability report. By default, such issues are [confidential](../project/issues/confidential_issues.md). - [Automatic Remediation](#automatic-remediation-for-vulnerabilities): For some vulnerabilities, @@ -265,29 +265,18 @@ Pressing the "Dismiss Selected" button dismisses all the selected vulnerabilitie  -### Creating an issue for a vulnerability +### Create an issue for a vulnerability -You can create an issue for a vulnerability by visiting the vulnerability's page and clicking -**Create issue**, which you can find in the **Related issues** section. - - - -This creates a [confidential issue](../project/issues/confidential_issues.md) in the project the -vulnerability came from, and pre-populates it with some useful information taken from the vulnerability -report. After the issue is created, you are redirected to it so you can edit, assign, or comment on -it. - -Upon returning to the group security dashboard, the vulnerability now has an associated issue next -to the name. - - +You can create a GitLab issue, or a Jira issue (if it's enabled) for a vulnerability. For more +details, see [Vulnerability Pages](vulnerabilities/index.md). ### Automatic remediation for vulnerabilities > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/5656) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.7. -Some vulnerabilities can be fixed by applying the solution that GitLab -automatically generates. Although the feature name is Automatic Remediation, this feature is also commonly called Auto-Remediation, Auto Remediation, or Suggested Solutions. The following scanners are supported: +Some vulnerabilities can be fixed by applying the solution that GitLab automatically generates. +Although the feature name is Automatic Remediation, this feature is also commonly called +Auto-Remediation, Auto Remediation, or Suggested Solutions. The following scanners are supported: - [Dependency Scanning](dependency_scanning/index.md): Automatic Patch creation is only available for Node.js projects managed with diff --git a/doc/user/application_security/vulnerabilities/index.md b/doc/user/application_security/vulnerabilities/index.md index 705964dba66a4..50f05b687f7e1 100644 --- a/doc/user/application_security/vulnerabilities/index.md +++ b/doc/user/application_security/vulnerabilities/index.md @@ -5,60 +5,107 @@ group: Threat Insights info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- -# Vulnerability Pages +# Vulnerability Pages **(ULTIMATE)** > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13561) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.0. -Each security vulnerability in a project's [Security Dashboard](../security_dashboard/index.md#project-security-dashboard) has an individual page which includes: +Each security vulnerability in a project's [Vulnerability Report](../vulnerability_report/index.md) has an individual page which includes: -- Details for the vulnerability. +- Details of the vulnerability. - The status of the vulnerability within the project. - Available actions for the vulnerability. - Any issues related to the vulnerability. -On the vulnerability page, you can interact with the vulnerability in -several different ways: +On the vulnerability's page, you can: -- [Change the Vulnerability Status](#changing-vulnerability-status) - You can change the - status of a vulnerability to **Detected**, **Confirmed**, **Dismissed**, or **Resolved**. -- [Create issue](#creating-an-issue-for-a-vulnerability) - Create a new issue with the - title and description pre-populated with information from the vulnerability report. - By default, such issues are [confidential](../../project/issues/confidential_issues.md). -- [Link issues](#link-issues-to-the-vulnerability) - Link existing issues to vulnerability. -- [Automatic remediation](#automatic-remediation-for-vulnerabilities) - For some vulnerabilities, - a solution is provided for how to fix the vulnerability automatically. +- [Change the vulnerability's status](#change-vulnerability-status). +- [Create a GitLab issue](#create-a-gitlab-issue-for-a-vulnerability). +- [Create a Jira issue](#create-a-jira-issue-for-a-vulnerability). +- [Link issues to the vulnerability](#link-gitlab-issues-to-the-vulnerability). +- [Automatically remediate the vulnerability](#automatically-remediate-the-vulnerability), if an + automatic solution is available. -## Changing vulnerability status +## Change vulnerability status -You can switch the status of a vulnerability using the **Status** dropdown to one of +You can change the status of a vulnerability using the **Status** dropdown to one of the following values: -| Status | Description | -|-----------|------------------------------------------------------------------------------------------------------------------| -| Detected | The default state for a newly discovered vulnerability | -| Confirmed | A user has seen this vulnerability and confirmed it to be accurate | +| Status | Description | +|-----------|----------------------------------------------------------------------------------------------------------------| +| Detected | The default state for a newly discovered vulnerability | +| Confirmed | A user has seen this vulnerability and confirmed it to be accurate | | Dismissed | A user has seen this vulnerability and dismissed it because it is not accurate or otherwise not to be resolved | -| Resolved | The vulnerability has been fixed and is no longer valid | +| Resolved | The vulnerability has been fixed and is no longer valid | A timeline shows you when the vulnerability status has changed and allows you to comment on a change. -## Creating an issue for a vulnerability +## Create a GitLab issue for a vulnerability -You can create an issue for a vulnerability by selecting the **Create issue** button. +To create a GitLab issue for a vulnerability: -This allows the user to create a [confidential issue](../../project/issues/confidential_issues.md) -in the project the vulnerability came from. Fields are pre-populated with pertinent information -from the vulnerability report. After the issue is created, GitLab redirects you to the -issue page so you can edit, assign, or comment on the issue. +1. In GitLab, go to the vulnerability's page. +1. Select **Create issue**. -## Link issues to the vulnerability +An issue is created in the project, prepopulated with information from the vulnerability report. +The issue is then opened so you can take further action. -You can link one or more existing issues to the vulnerability. This allows you to +## Create a Jira issue for a vulnerability + +> - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/4677) in GitLab 13.9. +> - It's [deployed behind a feature flag](../../../user/feature_flags.md), enabled by default. +> - It's enabled on GitLab.com. +> - It's recommended for production use. +> - For GitLab self-managed instances, GitLab administrators can opt to +> [disable it](#enable-or-disable-jira-integration-for-vulnerabilities). + +WARNING: +This feature might not be available to you. Check the **version history** note above for details. + +Prerequisites: + +- [Enable Jira integration for vulnerabilities](../../project/integrations/jira.md). Select + **Enable Jira issues creation from vulnerabilities** when configuring the integration. + +To create a Jira issue for a vulnerability: + +1. Go to the vulnerability's page. +1. Select **Create Jira issue**. + +An issue is created in the linked Jira project, with the **Summary** and **Description** fields +pre-populated. The Jira issue is then opened in a new browser tab. + +### Enable or disable Jira integration for vulnerabilities **(ULTIMATE SELF)** + +The option to create a Jira issue for a vulnerability is under development but ready for production +use. It is deployed behind a feature flag that is **enabled by default**. +[GitLab administrators with access to the GitLab Rails console](../../../administration/feature_flags.md) +can opt to disable it. + +To enable it: + +```ruby +Feature.enable(:jira_for_vulnerabilities) +``` + +To disable it: + +```ruby +Feature.disable(:jira_for_vulnerabilities) +``` + +## Link GitLab issues to the vulnerability + +NOTE: +If Jira issue support is enabled, GitLab issues are disabled so this feature is not available. + +You can link one or more existing GitLab issues to the vulnerability. This allows you to indicate that this vulnerability affects multiple issues. It also allows you to indicate that the resolution of one issue would resolve multiple vulnerabilities. -## Automatic remediation for vulnerabilities +Linked issues are shown in the Vulnerability Report and the vulnerability's page. + +## Automatically remediate the vulnerability You can fix some vulnerabilities by applying the solution that GitLab automatically generates for you. [Read more about the automatic remediation for vulnerabilities feature](../index.md#automatic-remediation-for-vulnerabilities). diff --git a/doc/user/application_security/vulnerability_report/index.md b/doc/user/application_security/vulnerability_report/index.md index ad8f45b57c5d8..28083e09f1c29 100644 --- a/doc/user/application_security/vulnerability_report/index.md +++ b/doc/user/application_security/vulnerability_report/index.md @@ -37,18 +37,12 @@ The Activity filter behaves differently from the other Vulnerability Report filt Clicking any vulnerability in the table takes you to its [vulnerability details](../vulnerabilities) page to see more information on that vulnerability. -To create an issue associated with the vulnerability, click the **Create Issue** button. - - - -After you create the issue, the linked issue icon in the vulnerability list: - -- Indicates that an issue has been created for that vulnerability. -- Shows a tooltip that contains a link to the issue. +The **Activity** column indicates the number of issues that have been created for the vulnerability. +Hover over an **Activity** entry and select a link go to that issue.  -Contents of the unfiltered vulnerability report can be exported using our [export feature](#export-vulnerabilities) +Contents of the unfiltered vulnerability report can be exported using our [export feature](#export-vulnerabilities). You can also dismiss vulnerabilities in the table: diff --git a/doc/user/project/integrations/jira.md b/doc/user/project/integrations/jira.md index aa5d11282d9bd..5857c3da80329 100644 --- a/doc/user/project/integrations/jira.md +++ b/doc/user/project/integrations/jira.md @@ -32,7 +32,8 @@ completed in GitLab and: - The Jira issue shows the status of the deployment (in the sidebar as "deployments"). - Create or modify a feature flag that mentions a Jira issue in its description: - The Jira issue shows the details of the feature-flag (in the sidebar as "feature flags"). -- View a list of Jira issues directly in GitLab **(PREMIUM)** +- View a list of Jira issues directly in GitLab. **(PREMIUM)** +- Create a Jira issue from a vulnerability. **(ULTIMATE)** Additional features provided by the Jira Development Panel integration include: @@ -90,37 +91,52 @@ Atlassian cloud, an **email and API token** are required. For more information, > to enable Basic Auth. The cookie being added to each request is `OBBasicAuth` with > a value of `fromDialog`. -To enable the Jira integration in a project, navigate to the -[Integrations page](overview.md#accessing-integrations) and click -the **Jira** service. +To enable the Jira integration in a project: -Select **Enable integration**. +1. Go to the project's [Integrations page](overview.md#accessing-integrations) and select the + **Jira** service. -Select a **Trigger** action. This determines whether a mention of a Jira issue in GitLab commits, merge requests, or both, should link the Jira issue back to that source commit/MR and transition the Jira issue, if indicated. +1. Select **Enable integration**. -To include a comment on the Jira issue when the above reference is made in GitLab, check **Enable comments**. +1. Select **Trigger** actions. + This determines whether a mention of a Jira issue in GitLab commits, merge requests, or both, + should link the Jira issue back to that source commit/MR and transition the Jira issue, if + indicated. -Enter the further details on the page as described in the following table. +1. To include a comment on the Jira issue when the above reference is made in GitLab, select + **Enable comments**. -| Field | Description | -| ----- | ----------- | -| `Web URL` | The base URL to the Jira instance web interface which is being linked to this GitLab project. For example, `https://jira.example.com`. | -| `Jira API URL` | The base URL to the Jira instance API. Web URL value is used if not set. For example, `https://jira-api.example.com`. Leave this field blank (or use the same value of `Web URL`) if using **Jira on Atlassian cloud**. | -| `Username or Email` | Created in [configure Jira](#configure-jira) step. Use `username` for **Jira Server** or `email` for **Jira on Atlassian cloud**. | -| `Password/API token` |Created in [configure Jira](#configure-jira) step. Use `password` for **Jira Server** or `API token` for **Jira on Atlassian cloud**. | -| `Jira workflow transition IDs` | Required for closing Jira issues via commits or merge requests. These are the IDs of transitions in Jira that move issues to a particular state. (See [Obtaining a transition ID](#obtaining-a-transition-id).) If you insert multiple transition IDs separated by `,` or `;`, the issue is moved to each state, one after another, using the given order. In GitLab 13.6 and earlier, field was called `Transition ID`. | + 1. Select the **Comment detail**: **Standard** or **All details**. -To enable users to view Jira issues inside the GitLab project, select **Enable Jira issues** and enter a Jira project key. **(PREMIUM)** +1. Enter the further details on the page as described in the following table. -You can only display issues from a single Jira project within a given GitLab project. + | Field | Description | + | ----- | ----------- | + | `Web URL` | The base URL to the Jira instance web interface which is being linked to this GitLab project. For example, `https://jira.example.com`. | + | `Jira API URL` | The base URL to the Jira instance API. Web URL value is used if not set. For example, `https://jira-api.example.com`. Leave this field blank (or use the same value of `Web URL`) if using **Jira on Atlassian cloud**. | + | `Username or Email` | Created in [configure Jira](#configure-jira) step. Use `username` for **Jira Server** or `email` for **Jira on Atlassian cloud**. | + | `Password/API token` | Created in [configure Jira](#configure-jira) step. Use `password` for **Jira Server** or `API token` for **Jira on Atlassian cloud**. | + | `Jira workflow transition IDs` | Required for closing Jira issues via commits or merge requests. These are the IDs of transitions in Jira that move issues to a particular state. (See [Obtaining a transition ID](#obtaining-a-transition-id).) If you insert multiple transition IDs separated by `,` or `;`, the issue is moved to each state, one after another, using the given order. In GitLab 13.6 and earlier, field was called `Transition ID`. | -WARNING: -If you enable Jira issues with the setting above, all users that have access to this GitLab project -are able to view all issues from the specified Jira project. +1. To enable users to view Jira issues inside the GitLab project, select **Enable Jira issues** and + enter a Jira project key. **(PREMIUM)** -When you have configured all settings, click **Test settings and save changes**. + You can only display issues from a single Jira project within a given GitLab project. -Your GitLab project can now interact with all Jira projects in your instance and the project now displays a Jira link that opens the Jira project. + WARNING: + If you enable Jira issues with the setting above, all users that have access to this GitLab project + are able to view all issues from the specified Jira project. + +1. To enable creation of issues for vulnerabilities, select **Enable Jira issues creation from vulnerabilities**. + + 1. Select the **Jira issue type**. If the dropdown is empty, select refresh (**{retry}**) and try again. + +1. To verify the Jira connection is working, select **Test settings**. + +1. Select **Save changes**. + +Your GitLab project can now interact with all Jira projects in your instance and the project now +displays a Jira link that opens the Jira project. #### Obtaining a transition ID diff --git a/doc/user/project/integrations/jira_integrations.md b/doc/user/project/integrations/jira_integrations.md index 3daea250aacf8..6a1529f001a03 100644 --- a/doc/user/project/integrations/jira_integrations.md +++ b/doc/user/project/integrations/jira_integrations.md @@ -53,3 +53,4 @@ time. | Record Jira time tracking information against an issue | No | Yes. Time can be specified via Jira Smart Commits. | | Transition or close a Jira issue with a Git commit or merge request | Yes. Only a single transition type, typically configured to close the issue by setting it to Done. | Yes. Transition to any state using Jira Smart Commits. | | Display a list of Jira issues | Yes **(PREMIUM)** | No | +| Create a Jira issue from a vulnerability or finding **(ULTIMATE)** | Yes | No | diff --git a/ee/app/models/project_services/ee/jira_service.rb b/ee/app/models/project_services/ee/jira_service.rb index 20b9de0264b5d..6a296daa9a551 100644 --- a/ee/app/models/project_services/ee/jira_service.rb +++ b/ee/app/models/project_services/ee/jira_service.rb @@ -12,7 +12,7 @@ module JiraService end def jira_vulnerabilities_integration_available? - feature_enabled = ::Feature.enabled?(:jira_for_vulnerabilities, parent, default_enabled: false) + feature_enabled = ::Feature.enabled?(:jira_for_vulnerabilities, parent, default_enabled: :yaml) feature_available = parent.present? ? parent&.feature_available?(:jira_vulnerabilities_integration) : License.feature_available?(:jira_vulnerabilities_integration) feature_enabled && feature_available diff --git a/ee/changelogs/unreleased/299209-doc-updates-for-jira-issue-creation-configuration-for-vulnerabi.yml b/ee/changelogs/unreleased/299209-doc-updates-for-jira-issue-creation-configuration-for-vulnerabi.yml new file mode 100644 index 0000000000000..2fee5ee1369bd --- /dev/null +++ b/ee/changelogs/unreleased/299209-doc-updates-for-jira-issue-creation-configuration-for-vulnerabi.yml @@ -0,0 +1,5 @@ +--- +title: Ability to create a Jira issue for a vulnerability +merge_request: 54182 +author: +type: added -- GitLab