Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gitlab tracker: Duplicate issues #4152

Merged
merged 6 commits into from
Sep 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions docs/editor/api/generate.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: "Generate Template (AI)"
description: "Generate nuclei template using AI prompt"
api: "POST https://templates-api.nuclei.sh/v1/template/user/generate"
version: 'v1'
---


## Parameters (required)

<ParamField body="prompt" type="string" required>
AI Prompt to generate nuclei template
</ParamField>

<ParamField body="model" type="string" default="gpt-4" required>
OpenAI model to use
</ParamField>
20 changes: 20 additions & 0 deletions docs/editor/api/scan.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: "Scan Template"
description: "Scan target host using a specified nuclei template."
api: "POST https://templates-api.nuclei.sh/v1/template/user/scan"
version: 'v1'
---

## Parameters (required)

<ParamField body="target" type="string" required>
Target host to scan using nuclei template.

**Constraints**: Valid hostname or IP address or URL.
</ParamField>

<ParamField body="template_base64" type="string" required>
Base64 encoded nuclei template.

**Constraints**: Valid Base64 encoded template.
</ParamField>
17 changes: 16 additions & 1 deletion docs/getting-started/running.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -671,7 +671,7 @@ Nuclei comes with reporting module support with the release of [v2.3.0](https://

| **Platform** | GitHub | GitLab | Jira | Markdown | SARIF | Elasticsearch | Splunk HEC |
skahn007gl marked this conversation as resolved.
Show resolved Hide resolved
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Support** | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> |
| **Support** | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> |

`-rc, -report-config` flag can be used to provide a config file to read configuration details of the platform to integrate. Here is an [example config file](https://github.com/projectdiscovery/nuclei/blob/master/v2/cmd/nuclei/issue-tracker-config.yaml) for all supported platforms.

Expand All @@ -688,6 +688,21 @@ github:
issue-label: 'Nuclei'
```

Alternatively if you use GitLab, create a config file following content and replace the appropriate values:

```yaml
# GitLab contains configuration options for GitLab issue tracker

gitlab:
username: '$user'
base-url: 'gitlab.com'
token: '$token'
project-name: 'testing-project'
issue-label: 'nuclei-label'
severity-as-label: true
duplicate-issue-check: true
```

To store results in Elasticsearch, create a config file with the following content and replace the appropriate values:

```yaml
Expand Down
284 changes: 148 additions & 136 deletions docs/mint.json
Original file line number Diff line number Diff line change
@@ -1,138 +1,150 @@
{
"$schema": "https://mintlify.com/schema.json",
"name": "Nuclei Documentation",
"logo": {
"dark": "/logo/dark.png",
"light": "/logo/light.png"
},
"favicon": "/favicon.png",
"colors": {
"primary": "#3B2FC9",
"light": "#6673FF",
"dark": "#3B2FC9"
},
"backgroundImage": "/images/background.png",
"topbarCtaButton": {
"type": "github",
"url": "https://github.com/projectdiscovery/nuclei"
},
"topAnchor": {
"name": "Getting Started",
"icon": "circle-play"
},
"primaryTab": {
"name": "Getting Started"
},
"tabs": [
{
"name": "Template Guide",
"url": "template-guide"
},
{
"name": "Template Example",
"url": "template-example"
},
{
"name": "Template Editor",
"url": "editor"
},
{
"name": "FAQ",
"url": "faq"
}
],
"navigation": [
{
"group": "Getting Started",
"pages": [
"getting-started/overview",
"getting-started/features",
"getting-started/install",
"getting-started/running"
]
},
{
"group": "Template Guide",
"pages": [
"template-guide/introduction",
"template-guide/template-details",
{
"group": "HTTPs",
"pages": [
"template-guide/http/base-http",
"template-guide/http/raw-http",
"template-guide/http/http-payloads",
"template-guide/http/http-fuzzing",
"template-guide/http/unsafe-http",
"template-guide/http/advance-http"
]
},
"template-guide/headless",
"template-guide/network",
"template-guide/dns",
"template-guide/file",
{
"group": "Operators",
"pages": [
"template-guide/operators/matchers",
"template-guide/operators/extractors"
]
},
"template-guide/oob-testing",
"template-guide/helper-functions",
"template-guide/variables",
"template-guide/preprocessors",
"template-guide/workflows"
]
},
{
"group": "Template Example",
"pages": [
{
"group": "HTTP",
"pages": [
"template-example/http/base-http",
"template-example/http/raw-http",
"template-example/http/http-fuzzing",
"template-example/http/http-smuggling",
"template-example/http/http-payloads",
"template-example/http/http-race-conditions"
]
},
"template-example/dns",
"template-example/file",
"template-example/headless",
"template-example/network",
"template-example/workflow",
"template-example/helper-functions"
]
},
{
"group": "Editor",
"pages": [
"editor/introduction",
"editor/ai",
"editor/share",
"editor/shortcut"
]
},

{
"group": "FAQ",
"pages": [
"faq/nuclei",
"faq/templates",
"faq/editor"
]
}
],
"footerSocials": {
"twitter": "https://twitter.com/pdnuclei",
"github": "https://github.com/projectdiscovery/nuclei",
"discord": "https://discord.com/invite/projectdiscovery"
},
"feedback": {
"thumbsRating": true,
"suggestEdit": true
}
"$schema":"https://mintlify.com/schema.json",
"name":"Nuclei Documentation",
"logo":{
"dark":"/logo/dark.png",
"light":"/logo/light.png"
},
"favicon":"/favicon.png",
"colors":{
"primary":"#3B2FC9",
"light":"#6673FF",
"dark":"#3B2FC9"
},
"backgroundImage":"/images/background.png",
"topbarCtaButton":{
"type":"github",
"url":"https://github.com/projectdiscovery/nuclei"
},
"topAnchor":{
"name":"Getting Started",
"icon":"circle-play"
},
"primaryTab":{
"name":"Getting Started"
},
"tabs":[
{
"name":"Template Guide",
"url":"template-guide"
},
{
"name":"Template Example",
"url":"template-example"
},
{
"name":"Template Editor",
"url":"editor"
},
{
"name":"FAQ",
"url":"faq"
}
],
"navigation":[
{
"group":"Getting Started",
"pages":[
"getting-started/overview",
"getting-started/features",
"getting-started/install",
"getting-started/running"
]
},
{
"group":"Template Guide",
"pages":[
"template-guide/introduction",
"template-guide/template-details",
{
"group":"HTTP",
"pages":[
"template-guide/http/base-http",
"template-guide/http/raw-http",
"template-guide/http/http-payloads",
"template-guide/http/http-fuzzing",
"template-guide/http/unsafe-http",
"template-guide/http/advance-http"
]
},
"template-guide/headless",
"template-guide/network",
"template-guide/dns",
"template-guide/file",
{
"group":"Operators",
"pages":[
"template-guide/operators/matchers",
"template-guide/operators/extractors"
]
},
"template-guide/oob-testing",
"template-guide/helper-functions",
"template-guide/variables",
"template-guide/preprocessors",
"template-guide/workflows"
]
},
{
"group":"Template Example",
"pages":[
{
"group":"HTTP",
"pages":[
"template-example/http/base-http",
"template-example/http/raw-http",
"template-example/http/http-fuzzing",
"template-example/http/http-smuggling",
"template-example/http/http-payloads",
"template-example/http/http-race-conditions"
]
},
"template-example/dns",
"template-example/file",
"template-example/headless",
"template-example/network",
"template-example/workflow",
"template-example/helper-functions"
]
},
{
"group":"Editor",
"pages":[
"editor/introduction",
"editor/ai",
"editor/share",
"editor/shortcut",
{
"group":"REST API",
"pages":[
"editor/api/scan",
"editor/api/generate"
]
}
]
},
{
"group":"FAQ",
"pages":[
"faq/nuclei",
"faq/templates",
"faq/editor"
]
}
],
"footerSocials":{
"twitter":"https://twitter.com/pdnuclei",
"github":"https://github.com/projectdiscovery/nuclei",
"discord":"https://discord.com/invite/projectdiscovery"
},
"feedback":{
"thumbsRating":true,
"suggestEdit":true
},
"api":{
"auth":{
"method":"key",
"name":"X-API-KEY"
}
}
}
2 changes: 2 additions & 0 deletions integration_tests/test-issue-tracker-config2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ gitLab:
project-name: "1234"
# issue-label is the label of the created issue type
issue-label: bug
# duplicate-issue-check flag to enable duplicate tracking issue check.
duplicate-issue-check: true

# Jira contains configuration options for Jira issue tracker
jira:
Expand Down
Loading
Loading