LoginSignup
0
0

More than 5 years have passed since last update.

SalesforceXyToolsCore/Python上でApexClassを作成・更新・削除

Posted at

The original page link

SalesforceXyToolsCore/Python上でApexClassを作成・更新・削除

Topic

ApexClassの作成

  • Salesforce組織のユーザ名、パスワード、Apiバージョン、Product/Sandboxを設定してください。
from SalesforceXytoolsCore import *
import pprint

config = {
    "api_version": 42.0, 
    "username": "sfdc username", 
    "password": "sfdc password", 
    "security_token": "", 
    "is_sandbox": True
}

tooling_api = ToolingApi(username=config["username"], 
                password=config["password"], 
                security_token=config["security_token"], 
                sandbox=config["is_sandbox"],
                version=config["api_version"]
                )

"""createApexClass"""
name = "HelloWorld"
body = """public class HelloWorld {
        private String mystr;
}"""


status_code, result = tooling_api.createApexClass(name, body)
print(status_code)
pprint.pprint(result)

結果確認:

{'errors': [], 'id': '01pxxxxxxxxxxxxxxxxx', 'success': True}

ApexClassの更新

from SalesforceXytoolsCore import *
import pprint

config = {
    "api_version": 42.0, 
    "username": "sfdc username", 
    "password": "sfdc password", 
    "security_token": "", 
    "is_sandbox": True
}

tooling_api = ToolingApi(username=config["username"], 
                password=config["password"], 
                security_token=config["security_token"], 
                sandbox=config["is_sandbox"],
                version=config["api_version"]
                )

apexclass_id = "set your apex class id"
body = """public class HelloWorld {
        private String mystr1;
}"""
tooling_api.updateApexClass(apexclass_id, body)

ApexClassの削除

from SalesforceXytoolsCore import *
import pprint

config = {
    "api_version": 42.0, 
    "username": "sfdc username", 
    "password": "sfdc password", 
    "security_token": "", 
    "is_sandbox": True
}

tooling_api = ToolingApi(username=config["username"], 
                password=config["password"], 
                security_token=config["security_token"], 
                sandbox=config["is_sandbox"],
                version=config["api_version"]
                )

apexclass_id = "set your apex class id"
body = """public class HelloWorld {
        private String mystr1;
}"""
tooling_api.updateApexClass(apexclass_id, body)

その他

Triggerの作成

"""createTrigger"""
tooling_api.createTrigger(tableEnumOrId, name, body)

VisualForceの作成

"""createApexPage"""
tooling_api.createApexPage(MasterLabel, name, markup)

ApexComponentの作成

"""createApexComponent"""
tooling_api.createApexComponent(MasterLabel, name, markup)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0