0

我正在使用 SOAP API 与 Polarion 服务器进行通信。在其中一个 WSDL 文件中,定义了一些用于查询工作项的 Web 服务,但我找不到如何使用它们的单个示例。假设我想向服务器询问项目“我的第一个项目”中所有“测试用例”类型的工作项。我应该将哪些参数值传递给“queryWorkItems”或“queryWorkItemsBySQL”?

我发现以下带有请求结构的文档: https ://almdemo.polarion.com/polarion/sdk/doc/javadoc/com/polarion/alm/ws/client/tracker/TrackerWebService.html#queryWorkItems(java.lang .String,java.lang.String,java.lang.String%5B%5D) https://almdemo.polarion.com/polarion/sdk/doc/javadoc/com/polarion/alm/ws/client/tracker/TrackerWebService .html#queryWorkItemsBySQL(java.lang.String,java.lang.String%5B%5D)

不幸的是,我不知道“查询”或“sqlQuery”应该是什么样的。你能提供任何例子吗?

4

1 回答 1

1

我发现了如何使用 Lucene 查询构建和发送 API 请求。在此视频中,展示了如何构建(从 0:40 开始的视频)并将它们转换为文本格式(从 2:52 开始的视频): https ://www.youtube.com/watch?v=DSRKfdr2aJc

构建 Lucene 格式的 txt 查询后,发送 API Web 服务请求:

queryWorkItems(query, sort, fields)

示例(Python 语法):

queryWorkItems(query="project.id:MyProject AND type:testcase", sort="uri", fields=["id", "assignee"])

[工作项字段] -> [字段类型]的字典:

FIELDS = {
        "approvals": "ArrayOfApproval",
        "assignee": "ArrayOfUser",
        "attachments": "ArrayOfAttachment",
        "author": "User",
        "categories": "ArrayOfCategory",
        "comments": "ArrayOfComment",
        "created": "dateTime",
        "description": "Text",
        "dueDate": "date",
        "externallyLinkedWorkItems": "ArrayOfExternallyLinkedWorkItem",
        "hyperlinks": "ArrayOfHyperlink",
        "id": "string",
        "initialEstimate": "duration",
        "linkedOslcResources": "ArrayOfLinkedOslcResource",
        "linkedRevisions": "ArrayOfRevision",
        "linkedRevisionsDerived": "ArrayOfRevision",
        "linkedWorkItems": "ArrayOfLinkedWorkItem",
        "linkedWorkItemsDerived": "ArrayOfLinkedWorkItem",
        "location": "Location",
        "moduleURI": "SubterraURI",
        "outlineNumber": "string",
        "plannedEnd": "dateTime",
        "plannedIn": "ArrayOfPlan",
        "plannedStart": "dateTime",
        "planningConstraints": "ArrayOfPlanningConstraint",
        "previousStatus": "EnumOptionId",
        "priority": "PriorityOptionId",
        "project": "Project",
        "remainingEstimate": "duration",
        "resolution": "EnumOptionId",
        "resolvedOn": "dateTime",
        "severity": "EnumOptionId",
        "status": "EnumOptionId",
        "timePoint": "TimePoint",
        "timeSpent": "duration",
        "title": "string",
        "type": "EnumOptionId",
        "updated": "dateTime",
        "workRecords": "ArrayOfWorkRecord",
        "customFields": "ArrayOfCustom",
        "uri": "SubterraURI",
        "unresolvable": "boolean",
    }
于 2020-07-01T08:22:34.843 回答