TMAttach インターフェイスは、テストや要件に対する添付ファイルのアップロードに使用されます。次の表は、TMAttach インターフェイスのパラメータを表しています。
| インターフェイス URL | パラメータ | 説明 |
|---|---|---|
|
http://<front-end URL>/servicesExchange?hid=TMAttach |
sid | ユーザー認証用の Web サービス トークンまたはセッション識別子。Web サービス トークンは、Silk Central UI の 設定ページ から生成できます。このページにアクセスするには、Silk Central メニューに表示されているユーザー名にマウス カーソルを移動し、ユーザー設定 を選択します。セッション識別子は、利用可能な Web サービス のうちの logonUser メソッドを呼び出すことで取得できます。 |
| entityType | 対象エンティティ タイプ:
(テスト、要件、または TestStepParent) |
|
| entityID | 対象エンティティ ID:
(テスト ID、要件 ID、または手動テスト ID) |
|
| description | 添付情報の説明。
URL エンコード テキストで、添付ファイルの記述に使用されます。 |
|
| isURL | true の場合、添付ファイルは URL です。false の場合、添付ファイルはファイルです。 | |
| URL | (任意) 添付される URL。 | |
| stepPosition | (任意) テスト ステップの順。手動テストのステップを識別します (たとえば、最初のステップの順は 1 です)。entityType が TestStepParent だった場合、順は必須となります。 |
例:http://<front-end URL>/servicesExchange?hid=TMAttach&entityType=<test, requirement, or TestStepParent>&entityID=<id>&description=<text>&isURL=<true or false>&URL=<URL>&stepPosition=<number>&sid=<webServiceToken>
次のコードは、バイナリの添付ファイルをアップロードするために、便利な HTTP-POST API を取得するのに Apache HtmlClient を使用しています。リクエスト毎に 1 つの添付ファイルのみアップロードすることができます。
リクエスト毎に 1 つの添付ファイルのみアップロードすることができます。Apache HttpComponents をダウンロードするには、http://hc.apache.org/downloads.cgi を参照してください。必要なライブラリについては、コンポーネントのドキュメントを参照してください。
import org.apache.commons.httpclient.*; // Apache HttpClient
String webServiceToken = "e39a0b5b-45db-42db-84b2-b85028d954d5"; // Token generated in the UI
String testNodeID = null; // receiving test
File fileToUpload = null; // attachment
String AttachmentDescription = ""; // descriptive text
HttpClient client = new HttpClient();
String formURL = "http://localhost:19120/
servicesExchange?hid=TMAttach" +
"&sid=" + webServiceToken +
"&entityID=" + testNodeID +
"&entityType=Test" +
"&isURL=false";
PostMethod filePost = new PostMethod(formURL);
Part[] parts = {
new StringPart("description", attachmentDescription),
new FilePart(fileToUpload.getName(), fileToUpload)
};
filePost.setRequestEntity(new MultipartRequestEntity(parts,
filePost.getParams()));
client.getHttpConnectionManager().
getParams().setConnectionTimeout(60000);
// Execute and check for success
int status = client.executeMethod(filePost);
// verify http return code...
// if(status == httpStatus.SC_OK) ...