MSBuild. Сообщество. Задачи. Attrib на x64 сбое машины

Я наконец, после дней попытки, нашел способ обновить существующий picklists в Salesforce!

использование этого-> https://github.com/gbarger/PySalesforce

import sys, os

sys.path.append(os.path.dirname(os.path.realpath(__file__)) + '/PySalesforce')
import pysalesforce

# IS_PRODUCTION is a bool value
# set it to False when working on sandbox
login = pysalesforce.Authentication.get_oauth_login("USERNAME", "passwordSECRETKEY",
                                                    "CLIENT_ID",
                                                    "CLIENT_SECRET", IS_PRODUCTION)

# Instance Url is inside the login variable, typically you only need to append
# services/Soap/m/38.0/ORGID
# 38.0 is the used api version
metadataUrl = 'METADATA_URL'

# Here im getting the current picklist which is a custom picklist used in our Cases
# The picklist im editing is called verursacht_durch_MA2 and you need to append __c because its a custom field
getPicklist = pysalesforce.Metadata.read_metadata(metadata_type="CustomField", full_names="Case.verursacht_durch_MA2__c",
                                                  session_id=login['access_token'], metadata_url=metadataUrl,
                                                  client_name="Client-Name")

# Here im changing some names inside the existing picklist.
# Values can be added when appending to CustomField['valueSet']['valueSetDefinition']['value']
# Values look like this:
# {'fullName': 'test456',    'color': None,    'default': False,    'description': None,    'isActive': True,    'label': 'test456label'}
CustomField = getPicklist[0]
CustomField['valueSet']['valueSetDefinition']['value'][0]['fullName']="test456"
CustomField['valueSet']['valueSetDefinition']['value'][0]['label']="test456label"
CustomField['valueSet']['valueSetDefinition']['value'][0]['isActive']=True

# Here im updating the picklist, if all_or_none is True it will rollback all changes if any error occurs,
# if its set to False it will keep all already made changes on error
response = pysalesforce.Metadata.update_metadata(metadata_list=[CustomField], client_name="Client-Name", session_id=login['access_token'],
                                             metadata_url=metadataUrl, all_or_none=False)

9
задан Scott 7 September 2009 в 05:36
поделиться

1 ответ

Кажется, я исправил проблему, отредактировав строку 6 из «C: \ Program Files (x86) \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.Targets»
Первоначально это было:

<MSBuildCommunityTasksPath Condition="'$(MSBuildCommunityTasksPath)' == ''">$(MSBuildExtensionsPath)\MSBuildCommunityTasks</MSBuildCommunityTasksPath>

, и я изменил его на:

<MSBuildCommunityTasksPath Condition="'$(MSBuildCommunityTasksPath)' == ''">$(MSBuildExtensionsPath32)\MSBuildCommunityTasks</MSBuildCommunityTasksPath>

обратите внимание на изменение $ (MSBuildExtensionsPath) на $ (MSBuildExtensionsPath32)

Хотя это, похоже, решило мою проблему на данный момент, я не уверен, почему В первую очередь мне пришлось отредактировать файл MSBuild.Community.Tasks.Targets - я предполагал, что установщик позаботится о том, чтобы файл был правильным. Так что, возможно, редактирование файла MSBuild.Community.Tasks.Targets - не лучшая идея в мире, поэтому будьте осторожны, если решите последовать моему примеру.

6
ответ дан 4 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: