Workfront问题中包含空格的自定义字段

时间:2017-11-27 10:44:03

标签: c# workfront-api

请您帮我创建/更新名称中有空格的自定义字段中的项目吗?

我们有一个包含自定义字段Contact phone的项目。可以从浏览器中正确使用此字段。 https://github.com/Workfront/workfront-api-examples-csharp没有帮助。我能够在问题的细节中添加数据。我想在特定的自定义字段(创建/更新)中添加它。

var client = new AtTaskRestClient(_url); // from the example
...
var description = $"Contact phone: {item.ContactPhone}";
client.Create(ObjCode.ISSUE, new { name = item.Name,
    description = description,
    projectID = _projectID });

client.Create有一个对象作为最终参数。我们使用的匿名类型在构造函数中不能包含"DE:Contact phone" = item.ContactPhone。我们怎么写这个字段?

如果我们从浏览器插入值,则正确阅读DE:Contact phone

JToken issues = client.Search(ObjCode.ISSUE, new { projectID = _projectID });
foreach (var issue in issues["data"].Children()) {
    var name = issue.Value<string>("name"); // correct
    var id = issue.Value<string>("ID"); // correct
    var fields = client.Get(ObjCode.ISSUE, id, new[] { "description", "DE:Contact phone"}); // correct

1 个答案:

答案 0 :(得分:0)

https://github.com/Workfront/workfront-api-examples-csharp/blob/master/AtTaskRestExample/AtTaskRestClient.cs

public JToken Create(ObjCode objcode, object parameters) {
    VerifySignedIn();
    string[] p = parameterObjectToStringArray(parameters, "sessionID=" + SessionID);
    JToken json = client.DoPost(string.Format("/{0}", objcode), p);
    return json;
}

我写了一个新函数CreateEx,它接收一个字符串数组

public JToken Create(ObjCode objcode, string[] parameters) {
    VerifySignedIn();
    JToken json = client.DoPost(string.Format("/{0}", objcode), parameters);
    return json;
}

访问如下:

var client = new AtTaskRestClient(_url); // from the example
...
string[] parameteres =
    {
        $"name={issueName}",
        $"description={description}",
        $"projectID={_projectID}",
        $"sessionID={client.SessionID}",
        $"DE:Contact phone={contactPhone}"
    };
client.CreateEx(ObjCode.ISSUE, parameteres);