在 Python 中将现有的 jira 票证/问题分配给用户

问题描述 投票:0回答:2

我正在尝试使用 python 分配现有的 jira 票证。尝试了以下方法,但没有一个有效。我可以添加评论,但不能分配问题

    #Method 1 Using Jira library - Getting JiraError HTTP None, text list index out of range
    from jira import JIRA
    jira_connection = JIRA(basic_auth=(username,password),server)
    issue = jira_connection.issue('100')
    jira_connection.assign_issue(issue,user_name)

    #Tried below way as well 
    issue.update(assignee={'accountId':'natash5'})


    #Method 2 Using Servicedesk - the update_issue_field function was empty in the source code
    from atlassian import ServiceDesk
    sd = ServiceDesk(url= "")
    sd.update_issue_field('100',{'assignee':'user_name')

    #Method 3 Soap API - SAXParse exception invalid token
    from suds import Client
    cl = Client(url)
    auth = cl.service.login(username,password)
python python-3.x jira jira-rest-api python-jira
2个回答
1
投票
import requests
from requests.auth import HTTPBasicAuth
import json

url = "https://your-domain.atlassian.net/rest/api/3/issue/{issueIdOrKey}/assignee"

auth = HTTPBasicAuth("[email protected]", "<api_token>")

headers = {
    "Accept": "application/json",
    "Content-Type": "application/json"
}

payload = json.dumps( {
    "accountId": "5b10ac8d82e05b22cc7d4ef5"
} )

response = requests.request(
    "PUT",
    url,
    data=payload,
    headers=headers,
    auth=auth
)

print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))

我遇到了同样的问题,请自己使用端点而不是 - https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest- api-3-issue-issueidorkey-assignee-put 如果您有兴趣,我正在整理一个存储库,其中包含很多此类内容以及完成工作的方法。还有很多东西需要整理,所以承认这是一个测试版:) https://github.com/dren79/JiraScripting_public


0
投票
import psutil

def get_running_processes(name=None):
    process_list = []
    for process in psutil.process_iter(['pid', 'name', 'username']):
        try:
            process_info = process.as_dict(attrs=['pid', 'name', 'username'])
            if name is None or process_info['name'] == name:
                process_list.append(process_info)
        except psutil.NoSuchProcess:
            pass
    return process_list

if __name__ == "__main__":
    # Example: Get all running processes
    all_processes = get_running_processes()
    for process in all_processes:
        print(f"PID: {process['pid']}, Name: {process['name']}, User: {process['username']}")

    # Example: Get processes with a specific name (e.g., "notepad.exe")
    specific_processes = get_running_processes(name="notepad.exe")
    for process in specific_processes:
        print(f"PID: {process['pid']}, Name: {process['name']}, User: {process['username']}")
© www.soinside.com 2019 - 2024. All rights reserved.