{
    "name": "JiraAuditCCPDefinition",
    "apiVersion": "2022-09-01-preview",
    "type": "Microsoft.SecurityInsights/dataConnectorDefinitions",
    "location": "{{location}}",
    "kind": "Customizable",
    "availability": {
        "isPreview": false
    },
    "properties": {
        "connectorUiConfig": {
            "title": "Atlassian Jira Audit (via Codeless Connector Framework)",
            "id": "JiraAuditCCPDefinition",
            "publisher": "Microsoft",
            "descriptionMarkdown": "The [Atlassian Jira](https://www.atlassian.com/software/jira) Audit data connector provides the capability to ingest [Jira Audit Records](https://support.atlassian.com/jira-cloud-administration/docs/audit-activities-in-jira-applications/) events into Microsoft Sentinel through the REST API. Refer to [API documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-audit-records/) for more information. The connector provides ability to get events which helps to examine potential security risks, analyze your team's use of collaboration, diagnose configuration problems and more.",
            "graphQueriesTableName": "Jira_Audit_v2_CL",
            "graphQueries": [
                {
                    "metricName": "Total data received",
                    "legend": "Jira Audit Events",
                    "baseQuery": "{{graphQueriesTableName}}"
                }
            ],
            "sampleQueries": [
                {
                    "description": "All Atlassian Jira audit logs",
                    "query": "{{graphQueriesTableName}}\n| sort by TimeGenerated desc"
                },
                {
                    "description": "Total Events",
                    "query": "{{graphQueriesTableName}}\n | summarize count() by OriginalEventUid"
                }
            ],
            "dataTypes": [
                {
                    "name": "{{graphQueriesTableName}}",
                    "lastDataReceivedQuery": "{{graphQueriesTableName}}|summarize Time = max  (TimeGenerated)\n|where isnotempty(Time)"
                }
            ],
            "connectivityCriteria": [
                {
                    "type": "HasDataConnectors"
                }
            ],
            "permissions": {
                "resourceProvider": [
                    {
                        "provider": "Microsoft.OperationalInsights/workspaces",
                        "permissionsDisplayText": "Read and Write permissions are required.",
                        "providerDisplayName": "Workspace",
                        "scope": "Workspace",
                        "requiredPermissions": {
                            "write": true,
                            "read": true,
                            "delete": true
                        }
                    }
                ],
                "customs": [
                    {
                        "name": "Atlassian Jira API access",
                        "description": "Permission of [Administer Jira](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#authentication) is required to get access to the Jira Audit logs API. See [Jira API documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-audit-records/#api-group-audit-records) to learn more about the audit API."
                    }
                ]
            },
            "instructionSteps": [
                {
                    "description": "To enable the Atlassian Jira connector for Microsoft Sentinel, click to add an organization, fill the form with the Jira environment credentials and click to Connect. \n Follow [these steps](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) to create an API token.\n ",
                    "instructions": [
                        {
                            "type": "DataConnectorsGrid",
                            "parameters": {
                                "mapping": [
                                    {
                                        "columnName": "Atlassian Jira organization URL",
                                        "columnValue": "properties.request.apiEndpoint"
                                    }
                                ],
                                "menuItems": [
                                    "DeleteConnector"
                                ]
                            }
                        },
                        {
                            "type": "ContextPane",
                            "parameters": {
                                "isPrimary": true,
                                "label": "Add organization",
                                "title": "Add organization",
                                "subtitle": "Add Atlassian Jira organization",
                                "contextPaneType": "DataConnectorsContextPane",
                                "instructionSteps": [
                                    {
                                        "instructions": [
                                            {
                                                "type": "Textbox",
                                                "parameters": {
                                                    "label": "Atlassian Jira organization URL",
                                                    "placeholder": "Atlassian Jira organization URL",
                                                    "type": "string",
                                                    "name": "jiraorganizationurl"
                                                }
                                            },
                                            {
                                                "type": "Textbox",
                                                "parameters": {
                                                    "label": "User Name",
                                                    "placeholder": "User Name (e.g., user@example.com)",
                                                    "type": "securestring",
                                                    "name": "userid"
                                                }
                                            },
                                            {
                                                "type": "Textbox",
                                                "parameters": {
                                                    "label": "API Key",
                                                    "placeholder": "API Key",
                                                    "type": "password",
                                                    "name": "apikey"
                                                }
                                            }
                                        ]
                                    }
                                ]
                            }
                        }
                    ]
                }
            ]
        }
    }
}