スキル一覧に戻る
SnapLogic

create-account

by SnapLogic

0🍴 4📅 2026年1月23日
GitHubで見るManusで実行

SKILL.md


name: create-account description: Creates Robot Framework test cases for SnapLogic account creation. Use when the user wants to create accounts (Oracle, PostgreSQL, Snowflake, Kafka, S3, etc.), needs to know what environment variables to configure, or wants to see account test case examples. user-invocable: true

SnapLogic Account Creation Skill

Usage Examples

What You WantExample Prompt
Explain stepsExplain the steps to create an account in SnapLogic
Create account test caseCreate a robot test case for Oracle account
Create multiple accountsI need to create Snowflake and S3 accounts for my pipeline
Check env variablesWhat environment variables do I need for Kafka?
View env file contentsShow me what's in the Snowflake keypair env file
Get templateShow me a template for creating accounts
See exampleWhat does an Oracle account test case look like?
TroubleshootI'm getting an error creating my Snowflake account
JAR file infoWhat JAR files do I need for DB2?
List account typesWhat account types are supported?
Configure credentialsHelp me configure MySQL account credentials

Claude Instructions

IMPORTANT: When user asks a simple question like "How do I create an Oracle account?", provide a concise answer first with just the template/command, then offer to explain more if needed. Do NOT dump all documentation.

Response format for simple questions:

  1. Give the direct template or test case first
  2. Add a brief note if relevant
  3. Offer "Want me to explain more?" only if appropriate

Quick Template Reference

Create account test case:

[Template]    Create Account From Template
${ACCOUNT_LOCATION_PATH}    ${ORACLE_ACCOUNT_PAYLOAD_FILE_NAME}    ${ORACLE_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

Common account variables:

AccountPayload VariableName Variable
Oracle${ORACLE_ACCOUNT_PAYLOAD_FILE_NAME}${ORACLE_ACCOUNT_NAME}
PostgreSQL${POSTGRES_ACCOUNT_PAYLOAD_FILE_NAME}${POSTGRES_ACCOUNT_NAME}
Snowflake${SNOWFLAKE_ACCOUNT_PAYLOAD_FILE_NAME}${SNOWFLAKE_ACCOUNT_NAME}
Kafka${KAFKA_ACCOUNT_PAYLOAD_FILE_NAME}${KAFKA_ACCOUNT_NAME}
S3${S3_ACCOUNT_PAYLOAD_FILE_NAME}${S3_ACCOUNT_NAME}

Related slash command: /create-account-testcase


Agentic Workflow (Claude: Follow these steps in order)

This is the complete guide. Proceed with the steps below.

Step 1: Understand the User's Request

Parse what the user wants:

  • Which account type? (oracle, postgres, snowflake, etc.)
  • Create test case?
  • Check environment variables?
  • Show template or examples?
  • Multiple accounts needed?

Step 2: Follow the Guide

Use the detailed instructions below to:

  • Identify the correct env file for the account type
  • Read the env file to understand available variables
  • Check baseline tests for reference if needed
  • Create or explain the test case

Step 3: Respond to User

Provide the requested information or create the test case based on this guide.


Quick Reference

Supported account types: oracle, postgres, mysql, sqlserver, snowflake, snowflake-keypair, db2, teradata, kafka, jms, s3, email, salesforce

Related slash command: /create-account-testcase

Baseline test references:

  • test/suite/pipeline_tests/snowflake/snowflake_baseline_tests.robot
  • test/suite/pipeline_tests/oracle/oracle_baseline_tests.robot
  • test/suite/pipeline_tests/postgres/postgres_baseline_tests.robot

Supported Account Types

TypeDescription
oracleOracle Database
postgresPostgreSQL Database
mysqlMySQL Database
sqlserverSQL Server Database
snowflakeSnowflake (Password Auth)
snowflake-keypairSnowflake (Key Pair Auth)
db2IBM DB2
teradataTeradata
kafkaApache Kafka
jmsJMS/ActiveMQ
s3AWS S3 / MinIO
emailEmail/SMTP
salesforceSalesforce

Account Files Reference

Account TypePayload FileEnv File
PostgreSQLacc_postgres.jsonenv_files/database_accounts/.env.postgres
MySQLacc_mysql.jsonenv_files/database_accounts/.env.mysql
Oracleacc_oracle.jsonenv_files/database_accounts/.env.oracle
SQL Serveracc_sqlserver.jsonenv_files/database_accounts/.env.sqlserver
Snowflakeacc_snowflake_s3_db.jsonenv_files/database_accounts/.env.snowflake
Snowflake (Key Pair)acc_snowflake_s3_keypair.jsonenv_files/database_accounts/.env.snowflake_s3_keypair
DB2acc_db2.jsonenv_files/database_accounts/.env.db2
Teradataacc_teradata.jsonenv_files/database_accounts/.env.teradata
Kafkaacc_kafka.jsonenv_files/messaging_service_accounts/.env.kafka
JMSacc_jms.jsonenv_files/messaging_service_accounts/.env.jms
S3 / MinIOacc_s3.jsonenv_files/mock_service_accounts/.env.s3
Emailacc_email.jsonenv_files/mock_service_accounts/.env.email
Salesforceacc_salesforce.jsonenv_files/mock_service_accounts/.env.salesforce

Environment Variable Setup

Case 1: Using Docker Services (Local Testing)

If you're creating an account for an endpoint brought up using Docker services (Oracle, PostgreSQL, MySQL, Kafka, MinIO, etc.):

  • Use the default credentials from the respective file in env_files/
  • No changes needed - the values are pre-configured for Docker containers
  • Just run the tests: make robot-run-tests TAGS="oracle"

Case 2: Using External/Your Own Instance

If you're using your own external instance (e.g., your company's Snowflake, production database, etc.):

  1. Read the env file to understand the required variables:

    env_files/database_accounts/.env.snowflake
    
  2. Copy the variables to root .env file (not the env_files one):

    # Copy these lines to your root .env file:
    SNOWFLAKE_HOSTNAME=your-account.snowflakecomputing.com
    SNOWFLAKE_USERNAME=your_username
    SNOWFLAKE_PASSWORD=your_password
    SNOWFLAKE_DATABASE=YOUR_DB
    SNOWFLAKE_WAREHOUSE=YOUR_WH
    
  3. Update the values with your actual credentials

  4. Do NOT copy the payload file variable - it remains constant:

    # DO NOT copy this to .env - leave it in env_files/
    SNOWFLAKE_ACCOUNT_PAYLOAD_FILE_NAME=acc_snowflake_s3_db.json
    

Why This Works

  • Root .env file is loaded last and overrides everything
  • env_files/ contains default Docker values
  • Payload file names never change - they reference JSON templates

Quick Start Template

Here's a basic test case template for creating accounts:

IMPORTANT: Required Libraries When creating any new Robot file, ALWAYS include these two Resource imports under *** Settings ***:

  • snaplogic_common_robot/snaplogic_apis_keywords/snaplogic_keywords.resource - SnapLogic API keywords from installed package
  • ../../resources/common/general.resource - Project-specific common keywords
*** Settings ***
Documentation    Creates SnapLogic accounts for pipeline testing
...              Uses JSON payload templates with Jinja variable substitution
Resource         snaplogic_common_robot/snaplogic_apis_keywords/snaplogic_keywords.resource    # SnapLogic API keywords from installed package
Resource         ../../resources/common/general.resource
Library          Collections

*** Variables ***
# Account configuration - uses environment variables
${account_name}    ${POSTGRES_ACCOUNT_NAME}

*** Test Cases ***
Create PostgreSQL Account
    [Documentation]    Creates a PostgreSQL account in the project space.
    ...    Uses the Create Account From Template keyword to set up
    ...    account credentials for subsequent pipeline operations.
    ...
    ...    Arguments:
    ...    - ${ACCOUNT_LOCATION_PATH}: Path where account is created
    ...    - ${POSTGRES_ACCOUNT_PAYLOAD_FILE_NAME}: JSON payload file
    ...    - ${account_name}: Account name in SnapLogic
    [Tags]    postgres    account_setup
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${POSTGRES_ACCOUNT_PAYLOAD_FILE_NAME}    ${account_name}    overwrite_if_exists=${TRUE}

IMPORTANT: Step-by-Step Workflow

Always follow this workflow when creating account test cases:

Step 1: Identify the Account Type

Determine which account type you need based on your pipeline requirements.

Step 2: Check the Environment File FIRST

This is critical! Before writing any test case, read the corresponding .env file to understand what variables are available:

Account TypeEnv File Location
Oracleenv_files/database_accounts/.env.oracle
PostgreSQLenv_files/database_accounts/.env.postgres
MySQLenv_files/database_accounts/.env.mysql
SQL Serverenv_files/database_accounts/.env.sqlserver
Snowflake (Password)env_files/database_accounts/.env.snowflake
Snowflake (Key Pair)env_files/database_accounts/.env.snowflake_s3_keypair
DB2env_files/database_accounts/.env.db2
Teradataenv_files/database_accounts/.env.teradata
Kafkaenv_files/messaging_service_accounts/.env.kafka
JMSenv_files/messaging_service_accounts/.env.jms
S3 / MinIOenv_files/mock_service_accounts/.env.s3
Emailenv_files/mock_service_accounts/.env.email
Salesforceenv_files/mock_service_accounts/.env.salesforce

Step 3: Understand the Variables

The env file tells you:

  • *_PAYLOAD_FILE_NAME - The JSON template file name
  • *_ACCOUNT_NAME - How the account appears in SnapLogic
  • Connection details (hostname, port, database, etc.)
  • Authentication (username, password, or key pair)
  • Optional settings (S3 staging, URL properties, etc.)

Step 4: Update Variable Values

Option A: Edit the env file directly (for Docker/non-sensitive values) Option B: Copy variables to root .env file (for production/sensitive credentials - root .env overrides everything)

Step 5: Create the Test Case

Use the variables from the env file in your Robot Framework test case.


How Account Creation Works

┌─────────────────────┐     ┌─────────────────────┐     ┌─────────────────────┐
│   Environment       │     │   Payload Template  │     │   SnapLogic API     │
│   Variables         │     │   (JSON with Jinja) │     │   Account Creation  │
│   (.env files)      │     │                     │     │                     │
└──────────┬──────────┘     └──────────┬──────────┘     └──────────┬──────────┘
           │                           │                           │
           │  POSTGRES_HOST=...        │  "hostname": "{{...}}"    │
           │  POSTGRES_USER=...        │  "username": "{{...}}"    │
           │  POSTGRES_PASSWORD=...    │  "password": "{{...}}"    │
           │                           │                           │
           └───────────────┬───────────┘                           │
                           │                                       │
                           ▼                                       │
                ┌─────────────────────┐                           │
                │   Variable          │                           │
                │   Substitution      │                           │
                │   (Jinja Rendering) │                           │
                └──────────┬──────────┘                           │
                           │                                       │
                           │  Final JSON with                      │
                           │  actual values                        │
                           │                                       │
                           └───────────────────────────────────────┘
                                           │
                                           ▼
                                ┌─────────────────────┐
                                │   Account Created   │
                                │   in SnapLogic      │
                                └─────────────────────┘

Supported Account Types with JAR Requirements

Account TypePayload FileEnv FileJAR Required
PostgreSQLacc_postgres.json.env.postgresNo
MySQLacc_mysql.json.env.mysqlYes
Oracleacc_oracle.json.env.oracleNo
SQL Serveracc_sqlserver.json.env.sqlserverNo
Snowflakeacc_snowflake_s3_db.json.env.snowflakeNo
Snowflake (Key Pair)acc_snowflake_s3_keypair.json.env.snowflake_s3_keypairNo
DB2acc_db2.json.env.db2Yes
Teradataacc_teradata.json.env.teradataYes
Kafkaacc_kafka.json.env.kafkaNo
JMSacc_jms.json.env.jmsYes
S3 / MinIOacc_s3.json.env.s3No
Emailacc_email.json.env.emailNo
Salesforceacc_salesforce.json.env.salesforceNo

File Locations

Account Payload Files

test/suite/test_data/
├── accounts_payload/                    # JSON payload templates
│   ├── acc_postgres.json
│   ├── acc_mysql.json
│   ├── acc_oracle.json
│   ├── acc_sqlserver.json
│   ├── acc_snowflake_s3_db.json
│   ├── acc_snowflake_s3_keypair.json
│   ├── acc_db2.json
│   ├── acc_teradata.json
│   ├── acc_kafka.json
│   ├── acc_jms.json
│   ├── acc_s3.json
│   ├── acc_email.json
│   └── acc_salesforce.json
│
└── accounts_jar_files/                  # JDBC drivers (if required)
    ├── db2/
    ├── mysql/
    ├── jms/
    └── teradata/

Environment Files

env_files/
├── database_accounts/                   # Database credentials
│   ├── .env.postgres
│   ├── .env.mysql
│   ├── .env.oracle
│   ├── .env.sqlserver
│   ├── .env.snowflake
│   ├── .env.snowflake_s3_keypair
│   ├── .env.db2
│   └── .env.teradata
│
├── messaging_service_accounts/          # Messaging services
│   ├── .env.kafka
│   └── .env.jms
│
└── mock_service_accounts/               # Mock/cloud services
    ├── .env.s3
    ├── .env.salesforce
    └── .env.email

Test Case Examples by Account Type

Database Accounts

Oracle Account

Create Oracle Account
    [Documentation]    Creates an Oracle database account in SnapLogic.
    [Tags]    oracle    account_setup
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${ORACLE_ACCOUNT_PAYLOAD_FILE_NAME}    ${ORACLE_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

PostgreSQL Account

Create PostgreSQL Account
    [Documentation]    Creates a PostgreSQL database account in SnapLogic.
    [Tags]    postgres    account_setup
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${POSTGRES_ACCOUNT_PAYLOAD_FILE_NAME}    ${POSTGRES_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

MySQL Account

Create MySQL Account
    [Documentation]    Creates a MySQL database account in SnapLogic.
    ...    Note: Requires JAR file upload for JDBC driver.
    [Tags]    mysql    account_setup
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${MYSQL_ACCOUNT_PAYLOAD_FILE_NAME}    ${MYSQL_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

SQL Server Account

Create SQL Server Account
    [Documentation]    Creates a SQL Server database account in SnapLogic.
    [Tags]    sqlserver    account_setup
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${SQLSERVER_ACCOUNT_PAYLOAD_FILE_NAME}    ${SQLSERVER_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

Snowflake Account (Password Auth)

Create Snowflake Account
    [Documentation]    Creates a Snowflake account using password authentication.
    [Tags]    snowflake    account_setup
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${SNOWFLAKE_ACCOUNT_PAYLOAD_FILE_NAME}    ${SNOWFLAKE_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

Snowflake Account (Key Pair Auth)

Create Snowflake Key Pair Account
    [Documentation]    Creates a Snowflake account using key pair authentication.
    ...    Requires private key and passphrase configuration.
    [Tags]    snowflake    account_setup    keypair
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${SNOWFLAKE_ACCOUNT_PAYLOAD_KEY_PAIR_FILE_NAME}    ${SNOWFLAKE_KEYPAIR_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

Messaging Accounts

Kafka Account

Create Kafka Account
    [Documentation]    Creates a Kafka messaging account in SnapLogic.
    [Tags]    kafka    account_setup    messaging
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${KAFKA_ACCOUNT_PAYLOAD_FILE_NAME}    ${KAFKA_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

JMS Account

Create JMS Account
    [Documentation]    Creates a JMS (ActiveMQ) account in SnapLogic.
    ...    Note: Requires JAR file upload for JMS driver.
    [Tags]    jms    account_setup    messaging
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${JMS_ACCOUNT_PAYLOAD_FILE_NAME}    ${JMS_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

Mock/Cloud Service Accounts

S3 / MinIO Account

Create S3 Account
    [Documentation]    Creates an S3/MinIO account in SnapLogic.
    [Tags]    s3    minio    account_setup
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${S3_ACCOUNT_PAYLOAD_FILE_NAME}    ${S3_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

Email Account

Create Email Account
    [Documentation]    Creates an Email account in SnapLogic.
    [Tags]    email    account_setup
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${EMAIL_ACCOUNT_PAYLOAD_FILE_NAME}    ${EMAIL_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

Salesforce Account

Create Salesforce Account
    [Documentation]    Creates a Salesforce account in SnapLogic.
    [Tags]    salesforce    account_setup
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${SALESFORCE_ACCOUNT_PAYLOAD_FILE_NAME}    ${SALESFORCE_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

Template Keyword Arguments

ArgumentDescriptionExample
${ACCOUNT_LOCATION_PATH}SnapLogic path where account will be created/org/project/shared
Payload File NameJSON template file from accounts_payload/acc_postgres.json
Account NameName displayed in SnapLogic Managerpostgres_acc
overwrite_if_existsReplace existing account with same name${TRUE} or ${FALSE}

Creating Multiple Accounts in One Test Suite

*** Settings ***
Documentation    Creates all required accounts for end-to-end testing
Resource         snaplogic_common_robot/snaplogic_apis_keywords/snaplogic_keywords.resource
Resource         ../../resources/common/general.resource

*** Test Cases ***
Create Oracle Account
    [Tags]    oracle    account_setup
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${ORACLE_ACCOUNT_PAYLOAD_FILE_NAME}    ${ORACLE_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

Create Snowflake Account
    [Tags]    snowflake    account_setup
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${SNOWFLAKE_ACCOUNT_PAYLOAD_KEY_PAIR_FILE_NAME}    ${SNOWFLAKE_KEYPAIR_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

Create S3 Account
    [Tags]    s3    account_setup
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${S3_ACCOUNT_PAYLOAD_FILE_NAME}    ${S3_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

Usage Scenarios

Scenario 1: Using Dockerized Services (Default)

No changes needed - credentials in env_files/ are pre-configured for local Docker containers.

# Start Docker services
make start-services

# Run tests - uses default Docker credentials
make robot-run-all-tests TAGS="oracle"

Scenario 2: Using Your Own External Credentials

Copy variables to root .env file and update with your values:

# Copy from env_files/database_accounts/.env.snowflake to root .env:
SNOWFLAKE_KEYPAIR_ACCOUNT_NAME=my_production_snowflake
SNOWFLAKE_KEYPAIR_HOSTNAME=mycompany.snowflakecomputing.com
SNOWFLAKE_KEYPAIR_USERNAME=my_username
SNOWFLAKE_KEYPAIR_DATABASE=PRODUCTION_DB
SNOWFLAKE_KEYPAIR_WAREHOUSE=COMPUTE_WH
SNOWFLAKE_KEYPAIR_PRIVATE_KEY=-----BEGIN ENCRYPTED PRIVATE KEY-----...
SNOWFLAKE_KEYPAIR_PRIVATE_KEY_PASSPHRASE=your_passphrase

Note: You don't need to copy the *_PAYLOAD_FILE_NAME variable - the payload template structure doesn't change.


Adding a New Account Type

Step 1: Create Payload Template

  1. Create a new JSON file in test/suite/test_data/accounts_payload/
  2. Use SnapLogic's account export feature to get the base structure
  3. Replace hardcoded values with Jinja variables: {{VARIABLE_NAME}}
  4. Name the file: acc_[account_type].json

Step 2: Create Environment File

  1. Create .env.[account_type] in appropriate env_files/ subdirectory
  2. Define all variables used in the payload template
  3. Include a reference to the payload file name

Step 3: Add JAR Files (if needed)

  1. Create subdirectory in accounts_jar_files/
  2. Add required JDBC driver JAR files
  3. Update payload template to reference the JAR location

Step 4: Create Test Case

Create New Account Type
    [Documentation]    Creates a [NewType] account in SnapLogic.
    [Tags]    newtype    account_setup
    [Template]    Create Account From Template
    ${ACCOUNT_LOCATION_PATH}    ${NEWTYPE_ACCOUNT_PAYLOAD_FILE_NAME}    ${NEWTYPE_ACCOUNT_NAME}    overwrite_if_exists=${TRUE}

Checklist Before Committing

  • Payload file exists in accounts_payload/
  • Environment file exists in env_files/
  • All Jinja variables in payload have corresponding env variables
  • JAR files added if required (MySQL, DB2, Teradata, JMS)
  • Test has appropriate tags
  • Documentation describes the account type
  • No sensitive credentials are hardcoded

スコア

総合スコア

40/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です