Как пометить статус выполнения Jira TCs как сбой или пройти с помощью jira-python API? - PullRequest
0 голосов
/ 04 сентября 2018

Я использую модуль jira-python и получаю список TC от jira. Теперь после выполнения я хочу пометить статус выполнения 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

Ответы [ 2 ]

0 голосов
/ 07 января 2019
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;
    }
0 голосов
/ 25 октября 2018
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"

API остальных для jira-сервера: https://getzephyr.docs.apiary.io/#reference/executionresource/update-bulk-execution-status/update-bulk-execution-status

...