微软是否仍然致力于这两种产品?TFS的发展是否已被取消,有利于VSTS?
对于上下文,我们现在正在使用TFS,而VSTS显然具有更好的集成.特别是Microsoft Teams和ZenDesk,这对于使我们的工作流程处于更易管理的状态非常重要.但是,VSTS没有任何接近我们要求的配置或报告.
这两种产品最终都会拥有完整的功能集,还是我们必须选择并构建自己的集成或报告?
我将Zendesk移动sdk通过其maven存储库集成到我的项目中,它将不再构建.它与我正在使用的毕加索图书馆发生了某种冲突.我在构建期间遇到此错误:
Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.
> java.util.zip.ZipException: duplicate entry: com/squareup/picasso/Action$RequestWeakReference.class
Run Code Online (Sandbox Code Playgroud)
我跑../gradlew dependencies了app文件夹,这是我在zendesk模块下找到的:
\--- com.zendesk:sdk:1.0.0.1
+--- com.squareup.retrofit:retrofit:1.4.1
| \--- com.google.code.gson:gson:2.2.4
+--- com.squareup.picasso:picasso:2.3.2
+--- com.android.support:support-v4:20.0.+ -> 21.0.3 (*)
\--- com.android.support:appcompat-v7:20.0.+ -> 21.0.3 (*)
Run Code Online (Sandbox Code Playgroud)
因此,zendesk也使用毕加索,但版本与我在项目中的版本不同.我试着从zendesk中排除毕加索,就像这样:
compile (group: 'com.zendesk', name: 'sdk', version: '1.0.0.1'){
exclude group: 'com.squareup.picasso'
}
Run Code Online (Sandbox Code Playgroud)
但这会导致应用程序的其他组件中出现运行时异常.我得到一个与库完全无关的类的NoDefFoundError.
有没有人知道如何解决这个问题?
我们正在考虑使用Jira进行错误跟踪,并将其与Git集成,以便将错误修复与版本处理连接起来.
您是否也推荐Jira用于客户支持,或者我们是否应该为此找到另一个类似Zendesk的系统?我知道有可能以某种方式将Hipchat与Jira集成以实现与客户的聊天功能,但是Jira对于客户服务来说太复杂了吗?你有什么经历?
我一直在使用Zendesk v1 SDK和AndroidX和Jetifier,并且在更新到AS 3.3,Gradle版本4.10.1之后,在编译时出现错误,看来Jetifier在错误的生成文件中错误地转换了ID。错误中列出的行有2个编辑文本,其中两个都包含android:nextFocusDown =“ @ + id / ..”,这显然是无效的。下面的错误和Gradle文件
org.gradle.execution.MultipleBuildFailures: Build completed with 1 failures.
at org.gradle.initialization.DefaultGradleLauncher$ExecuteTasks.run(DefaultGradleLauncher.java:358)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.initialization.DefaultGradleLauncher.runTasks(DefaultGradleLauncher.java:219)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:124)
at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:77)
at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:74)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:154)
at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:38)
at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:96)
at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:74)
at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:55)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.run(RunAsBuildOperationBuildActionRunner.java:50)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:45)
at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:47)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:44)
at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:79)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:44)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30) …Run Code Online (Sandbox Code Playgroud) 我正在使用Zendesk_v2(使用nuget包上传)在ASP.NET MVC5中开发应用程序.我有subdomain easynext.zendesk.com的管理员权限.
这是我创建票证的代码:
private static string requestUri = "https://easynext.zendesk.com/api/v2/tickets.json";
private static string _username = "gbalasel@easynext.be";
private static string _password = "MYPASSWORD";
private static ZendeskApi apiZendesk = new ZendeskApi(requestUri, _username, _password, "");
private void CréerTicketZendesk() {
var myTicket = apiZendesk.Tickets.CreateTicket(new Ticket()
{
Subject = "test ticket",
Priority = TicketPriorities.Low
});
}
Run Code Online (Sandbox Code Playgroud)
此代码向我发送422 Unprocessable Entity错误.
我还为Zendesk的客户制作了一个测试帐户,该方法工作正常,该票在Zendesk中创建,我也在我的电子邮件帐户中收到.
我有一个需要返回承诺的ajax调用.功能如下
client.tickets.create(ticket, function(err, req, result) {
if (err) {
logger.error(err);
return false;
}
return JSON.stringify(result);
});
Run Code Online (Sandbox Code Playgroud)
在执行下一个操作之前,我必须等待此函数执行.我怎样才能宣传这个功能?
我尝试了以下内容,它给了我一个错误说Cannot call method then of undefined:
return client.tickets.create(ticket).then(function(result){
return JSON.stringify(result);
},function(err){
logger.error(err);
return false;
});
Run Code Online (Sandbox Code Playgroud) 阅读Zopim(又名Zendesk Chat)的文档:
必须在实时聊天脚本之后插入API调用并将其包装在$ zopim(function(){...})中
所以我在headHTML的一部分中有一个Zopim脚本:
<script>/*<![CDATA[*/window.zEmbed||function(e,t){ ... }("https://...);
/*]]>*/</script>
Run Code Online (Sandbox Code Playgroud)
然后我在HTML文档的末尾添加了这个:
$zopim(function() {
$zopim.livechat.setName('Logged in name');
$zopim.livechat.setEmail('user@somewhere.com');
});
Run Code Online (Sandbox Code Playgroud)
控制台说:
$ zopim未定义
我想我已正确遵循了说明.我错过了什么?
我刚刚将Xcode 10.1更新为Xcode 10.2,之后,当我尝试构建我的应用程序时,发现一个错误提示。使用Swift 4.2编译的模块不能由Swift 5.0编译器导入。
/myProjectFolderPath/myProjectName/ViewControllers/FeedbackVC/SupportViewController.swift:11:8: Module compiled with Swift 4.2 cannot be imported by the Swift 5.0 compiler: /myProjectFolderPath/Pods/ZendeskSDK/ZendeskSDK/4.2.1/ZendeskSDK.framework/Modules/ZendeskSDK.swiftmodule/x86_64.swiftmodule
Run Code Online (Sandbox Code Playgroud)
我通过cocoapods集成的ZendeskSDK出现了问题。
需要帮助和事先感谢。
<script
id="ze-snippet"
src="https://static.zdassets.com/ekr/snippet.js?key=some_zendesk_key"
/>
Run Code Online (Sandbox Code Playgroud)
我正在尝试优化我的网站性能。我已经面临第三方代码对我的性能的巨大影响,我认为我的所有包的大小都比 zendesk 代码小。如何在不影响主线程的情况下加载它?我应该使用asyncordefer标签吗?或者哪种方法更适合这种情况?
以下代码将始终以#<Errno::ECONNRESET: Connection reset by peer - SSL_connect>错误消息结束。
它可能会在 5 秒或 30 分钟后失败。
require 'net/https'
http = Net::HTTP.new('newproduct.zendesk.com', 443)
http.use_ssl = true
req = Net::HTTP::Head.new('/')
while true
res = http.start { http.request(req) }
end
Run Code Online (Sandbox Code Playgroud)
在 Mac 和 Linux 上运行时都会发生这种情况,并导致我的批处理作业失败。
看起来很难调试,但是有什么我应该注意的吗?
zendesk ×10
javascript ×3
android ×2
androidx ×1
azure-devops ×1
gradle ×1
ios ×1
jira ×1
jira-plugin ×1
lighthouse ×1
node.js ×1
promise ×1
ruby ×1
ssl ×1
swift4.2 ×1
swift5 ×1
tfs ×1
xcode10.2 ×1
zopim ×1