繁体   English   中英

如何使用jira-python API标记Jira TC的执行状态失败或通过?

[英]How to mark Jira TCs execution status fail or pass using jira-python API?

我正在使用jira-python模块并从jira获取TC列表。 现在执行后,我想将TC的执行状态标记为失败或通过,如何实现?

我的代码:

jserver = {'server':server}
j = JIRA(options=jserver,basic_auth=(username,password))


total = 5000
end = 0
c=[]
while end <= 5000 :
    issues_in_proj = j.search_issues('project=TC',startAt=end,maxResults=1000)
    print len(issues_in_proj)
    for ticket in issues_in_proj:
        issue = j.issue(ticket)
        labels = issue.fields.labels


def MarkTcExecutionState(testkey):
                   NO Idea which method to use, tried to use transition but it changes issue transition state and not execution state
values = {
    "executions": [
        str(test)
    ],
    "status": str(status_id)
}

def mark_test_status(self,testid,values):
    headers = {'Content-Type': 'application/json'}

    s = requests.put(str(self.server) +"/rest/zapi/latest/execution/"+str(testid)+"/execute", auth=(self.username, self.password),data=json.dumps(values), headers=headers)
    print "test marked as per status"

用于jira服务器的Rest API: https : //getzephyr.docs.apiary.io/#reference/executionresource/update-bulk-execution-status/update-bulk-execution-status

public  String updateExecution(int executionId, String status) throws Exception {
        System.out.println("Executing execution with executionId " + executionId + " and status = " + status);

        String url = "https://jira.company.com/jira/rest/zapi/latest/execution/" + executionId + "/execute";
        //String url = "https://jira.company.com/jira/rest/zapi/latest/execution";
        String statusInReq = "";

        if (status.equalsIgnoreCase("pass")) {
            statusInReq = "1";
        } else if (status.equalsIgnoreCase("fail")) {
            statusInReq = "2";
        }

        // Create request body
        JSONObject obj = new JSONObject();
        obj.put("status", statusInReq);
        obj.put("comment", "through java");

        String requestBody = obj.toString();
        System.out.println("Request body: " + requestBody);
        HttpURLConnection conn
         = httpPut(url, null, null, obj.toString());
        System.out.println("HTTP response code: " + conn.getResponseCode());
        String response = getResponse(conn);
        System.out.println("HTTP response content: " + response);
        System.out.println("from HTTP response content fetch the execution id: " + response.substring(6, 12));

        return response;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM