diff --git a/DigitalAICommunity/Permissions.yaml b/DigitalAICommunity/Permissions.yaml new file mode 100644 index 0000000..76e9630 --- /dev/null +++ b/DigitalAICommunity/Permissions.yaml @@ -0,0 +1,25 @@ +--- +apiVersion: xl-release/v1 +kind: Permissions +metadata: + path: / + home: Digital.ai - Community +spec: +- directory: "." + teams: + - name: Template Owner + permissions: + - template#edit_failure_handler + - template#edit_precondition + - template#lock_task + - name: Release Admin + permissions: + - release#edit_failure_handler + - release#edit_precondition + - release#lock_task + - name: Viewer + roles: + - Authenticated Users + permissions: + - folder#view + - name: Folder Owner diff --git a/DigitalAICommunity/Releasefile.yaml b/DigitalAICommunity/Releasefile.yaml new file mode 100644 index 0000000..b0ef9f2 --- /dev/null +++ b/DigitalAICommunity/Releasefile.yaml @@ -0,0 +1,6 @@ +--- +apiVersion: xl-release/v1 +kind: Import +spec: + imports: + - Permissions.yaml diff --git a/DigitalAICommunity/Workflows/Airflow/Releasefile.yaml b/DigitalAICommunity/Workflows/Airflow/Releasefile.yaml new file mode 100644 index 0000000..02ea622 --- /dev/null +++ b/DigitalAICommunity/Workflows/Airflow/Releasefile.yaml @@ -0,0 +1,6 @@ +--- +apiVersion: xl-release/v1 +kind: Import +spec: + imports: + - Workflow_Airflow trigger DAG run.yaml diff --git a/DigitalAICommunity/Workflows/Airflow/Workflow_Airflow trigger DAG run.yaml b/DigitalAICommunity/Workflows/Airflow/Workflow_Airflow trigger DAG run.yaml new file mode 100644 index 0000000..fb1f9fa --- /dev/null +++ b/DigitalAICommunity/Workflows/Airflow/Workflow_Airflow trigger DAG run.yaml @@ -0,0 +1,78 @@ +--- +apiVersion: xl-release/v1 +kind: Templates +metadata: + path: Workflows/Airflow + home: Digital.ai - Community/Workflows/Airflow +spec: +- template: Airflow trigger DAG run + description: "Trigger an Airflow DAG run at ease, wait for its completion and get\ + \ run details." + scheduledStartDate: 2025-03-04T09:00:00+05:30 + dueDate: 2025-03-04T10:00:00+05:30 + phases: + - phase: Workflow tasks + tasks: + - name: Configure connection + type: xlrelease.UserInputTask + description: Please enter the required information below. + variables: + - airflowServer + - name: Specify run details + type: xlrelease.UserInputTask + description: "Please enter the DAG run details. The DAG run ID is optional\ + \ . If not specified, a run ID is auto-generated." + variables: + - dagId + - dagRunId + - waitForCompletion + - name: Trigger DAG run + type: airflow.triggerDagRun + dagId: "${dagId}" + runId: "${dagRunId}" + description: Triggers a new DAG run for the given DAG. Waits for the DAG run + to complete. + variableMapping: + pythonScript.waitForSuccessfulRun: "${waitForCompletion}" + pythonScript.airflowServer: "${airflowServer}" + pythonScript.dagRunId: "${dagRunId}" + - name: Get DAG run + type: airflow.getDagRun + dagId: "${dagId}" + dagRunId: "${dagRunId}" + description: Get details of the DAG run + variableMapping: + pythonScript.airflowServer: "${airflowServer}" + kind: WORKFLOW + categories: + - Application Life Cycle Management + variables: + - type: xlrelease.StringVariable + key: dagId + showOnReleaseStart: false + label: DAG ID + description: Unique identifier for the DAG + - type: xlrelease.StringVariable + key: dagRunId + requiresValue: false + showOnReleaseStart: false + label: DAG run ID + description: Unique identifier for the DAG run + - type: xlrelease.BooleanVariable + key: waitForCompletion + showOnReleaseStart: false + label: Wait for completion + description: Wait for the DAG run completion + - type: xlrelease.ReferenceVariable + key: airflowServer + showOnReleaseStart: false + label: "Airflow: Server" + description: Create or select an Airflow connection + referencedType: airflow.Server + disableNotifications: true + author: Digital.ai + logo: + type: xlrelease.TemplateLogo + contentType: image/svg+xml + file: !file "template-logo/3a86a31a9b4072e95aa0df54f16498c41578374a/Apache Airflow.svg" + defaultTargetFolder: Digital.ai - Community/Workflow Executions diff --git a/DigitalAICommunity/Workflows/Airflow/template-logo/3a86a31a9b4072e95aa0df54f16498c41578374a/Apache Airflow.svg b/DigitalAICommunity/Workflows/Airflow/template-logo/3a86a31a9b4072e95aa0df54f16498c41578374a/Apache Airflow.svg new file mode 100644 index 0000000..f7864f8 --- /dev/null +++ b/DigitalAICommunity/Workflows/Airflow/template-logo/3a86a31a9b4072e95aa0df54f16498c41578374a/Apache Airflow.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/DigitalAICommunity/Workflows/Confluence/Releasefile.yaml b/DigitalAICommunity/Workflows/Confluence/Releasefile.yaml new file mode 100644 index 0000000..d74bb62 --- /dev/null +++ b/DigitalAICommunity/Workflows/Confluence/Releasefile.yaml @@ -0,0 +1,6 @@ +--- +apiVersion: xl-release/v1 +kind: Import +spec: + imports: + - Workflow_Confluence create page.yaml diff --git a/DigitalAICommunity/Workflows/Confluence/Workflow_Confluence create page.yaml b/DigitalAICommunity/Workflows/Confluence/Workflow_Confluence create page.yaml new file mode 100644 index 0000000..12a2902 --- /dev/null +++ b/DigitalAICommunity/Workflows/Confluence/Workflow_Confluence create page.yaml @@ -0,0 +1,168 @@ +--- +apiVersion: xl-release/v1 +kind: Templates +metadata: + path: Workflows/Confluence + home: Digital.ai - Community/Workflows/Confluence +spec: +- template: Confluence create page + description: "Easily create a new Confluence page with custom content, apply labels,\ + \ set access restrictions, and add watchers to stay informed about updates." + scheduledStartDate: 2025-02-24T09:00:00+05:30 + dueDate: 2025-02-24T10:00:00+05:30 + phases: + - phase: Configure connection + tasks: + - name: Configuration + type: xlrelease.UserInputTask + description: Please enter the required configuration below. + variables: + - server + - space + color: "#3d6c9e" + - phase: Configure page details + tasks: + - name: Specify page details + type: xlrelease.UserInputTask + description: Please enter the required page details below. + variables: + - parentPageTitle + - title + - content + - name: Specify labels + type: xlrelease.UserInputTask + description: Please enter the labels for page. (Optional) + variables: + - labels + - name: Configure page access + type: xlrelease.UserInputTask + description: "Grant access to a Confluence page for below users while restricting\ + \ access for all others. If no restrictions are set, the page remains open\ + \ to all. (Optional)" + variables: + - restrictedUserIds + - name: Specify watchers + type: xlrelease.UserInputTask + description: Please enter the user Ids who needs to be added as content watchers. + (Optional) + variables: + - watcherUserIds + color: "#3d6c9e" + - phase: Create wiki page + tasks: + - name: Create wiki page + type: confluence.addWikiPage + spaceKey: "${space}" + parentPageTitle: "${parentPageTitle}" + pageTitle: "${title}" + pageText: "${content}" + description: This automated task will create a new wiki page with details provided. + taskRecoverOp: SKIP_TASK + variableMapping: + pythonScript.pageId: "${pageId}" + pythonScript.confluenceServer: "${server}" + - name: Prepare input for preferences + type: xlrelease.ScriptTask + description: This automated task will preprocess newly created page Id for subsequent + tasks. + script: "releaseVariables['pageIds'] = [${pageId}]" + color: "#3d6c9e" + - phase: Add preferences to page + tasks: + - name: Add labels + type: confluence.addLabelsToPages + spaceKey: "${space}" + description: This automated task will add specified labels to created wiki page. + precondition: "result = len(${labels}) > 0" + variableMapping: + pythonScript.pageIds: "${pageIds}" + pythonScript.labels: "${labels}" + pythonScript.confluenceServer: "${server}" + - name: Add restriction + type: confluence.addRestrictionToPages + spaceKey: "${space}" + description: This automated task will add restrictions to created wiki page. + precondition: "result = len(${restrictedUserIds}) > 0" + variableMapping: + pythonScript.userIds: "${restrictedUserIds}" + pythonScript.pageIds: "${pageIds}" + pythonScript.confluenceServer: "${server}" + - name: Add content watchers + type: confluence.addContentWatchers + spaceKey: "${space}" + description: This automated task will add content watchers to created wiki page. + precondition: "result = len(${watcherUserIds}) > 0" + variableMapping: + pythonScript.userIds: "${restrictedUserIds}" + pythonScript.pageIds: "${pageIds}" + pythonScript.confluenceServer: "${server}" + color: "#3d6c9e" + kind: WORKFLOW + categories: + - Application onboarding + - Application Life Cycle Management + variables: + - type: xlrelease.ReferenceVariable + key: server + showOnReleaseStart: false + label: Confluence server + description: Select or create a Confluence server connection + referencedType: confluence.Server + - type: xlrelease.StringVariable + key: space + showOnReleaseStart: false + label: Space + description: Confluence space ID + - type: xlrelease.StringVariable + key: parentPageTitle + requiresValue: false + showOnReleaseStart: false + label: Parent page title + description: Title of parent page where new page needs to be created + - type: xlrelease.StringVariable + key: title + showOnReleaseStart: false + label: Page title + description: Title for wiki page + - type: xlrelease.StringVariable + key: content + showOnReleaseStart: false + label: Page content + description: Content for wiki page + multiline: true + - type: xlrelease.ListStringVariable + key: restrictedUserIds + requiresValue: false + showOnReleaseStart: false + label: User IDs + description: User IDs to access the page + - type: xlrelease.ListStringVariable + key: watcherUserIds + requiresValue: false + showOnReleaseStart: false + label: Watcher user IDs + description: User IDs to be added for page watchers + - type: xlrelease.ListStringVariable + key: labels + requiresValue: false + showOnReleaseStart: false + label: Labels + description: Labels provided for wiki page + - type: xlrelease.StringVariable + key: pageId + showOnReleaseStart: false + label: Page ID + description: Page ID of the created wiki page + - type: xlrelease.ListStringVariable + key: pageIds + requiresValue: false + showOnReleaseStart: false + label: Page IDs + description: PageID input for tasks + disableNotifications: true + author: Digital.ai + logo: + type: xlrelease.TemplateLogo + contentType: image/svg+xml + file: !file "template-logo/228d38359de29d0514f24486c718d60eb92ea0c7/confluence.svg" + defaultTargetFolder: Digital.ai - Community/Workflow Executions diff --git a/DigitalAICommunity/Workflows/Confluence/template-logo/228d38359de29d0514f24486c718d60eb92ea0c7/confluence.svg b/DigitalAICommunity/Workflows/Confluence/template-logo/228d38359de29d0514f24486c718d60eb92ea0c7/confluence.svg new file mode 100644 index 0000000..fa6acbe --- /dev/null +++ b/DigitalAICommunity/Workflows/Confluence/template-logo/228d38359de29d0514f24486c718d60eb92ea0c7/confluence.svg @@ -0,0 +1,2 @@ + +file_type_confluence \ No newline at end of file diff --git a/DigitalAICommunity/Workflows/Permissions.yaml b/DigitalAICommunity/Workflows/Permissions.yaml new file mode 100644 index 0000000..bef1773 --- /dev/null +++ b/DigitalAICommunity/Workflows/Permissions.yaml @@ -0,0 +1,26 @@ +--- +apiVersion: xl-release/v1 +kind: Permissions +metadata: + path: Workflows + home: Digital.ai - Community/Workflows +spec: +- directory: "." + teams: + - name: Release Admin + permissions: + - release#edit_failure_handler + - release#edit_precondition + - release#lock_task + - name: Folder Owner + - name: Template Owner + permissions: + - template#edit_failure_handler + - template#edit_precondition + - template#lock_task + - name: Viewer + roles: + - Authenticated Users + permissions: + - folder#view + - template#view diff --git a/DigitalAICommunity/Workflows/Releasefile.yaml b/DigitalAICommunity/Workflows/Releasefile.yaml new file mode 100644 index 0000000..b0ef9f2 --- /dev/null +++ b/DigitalAICommunity/Workflows/Releasefile.yaml @@ -0,0 +1,6 @@ +--- +apiVersion: xl-release/v1 +kind: Import +spec: + imports: + - Permissions.yaml