gpt4 book ai didi

github - 向项目添加拉取请求和问题

转载 作者:行者123 更新时间:2023-12-04 15:38:43 25 4
gpt4 key购买 nike

Github API 是否提供了一种简单的方法来 向项目板添加拉取请求或问题 ?

这是用户 going to a pull request and selecting one more "Projects" from the sidebar menu 的编程等效项

注意:API 似乎提供了一种向项目添加卡片的方法,但我必须指定一个特定的项目列。我喜欢盲目地添加项目并让自动化规则确定列,类似于通过 UI 单击它。

谢谢!

最佳答案

我认为在某种默认列中将现有拉取请求与项目相关联的最佳方法是菊花链三个独立的 Github API 部分,Get a Single Pull Request方法,Create a Project Card方法,以及 List Project Columns方法。思路如下:

  • 使用“获取单个拉取请求”来检索 ID
  • 使用“列出项目列”获取列列表
  • 如果您想查看某个列是否存在,请执行任何条件逻辑,或者仅使用第一个,或者如果不存在则创建某个列
  • 使用“创建项目卡”来添加使用您选择的拉取请求 ID 和列的卡。

  • 这是 Python 中的一个简化示例:
    import requests, json
    #get pull request
    r = requests.get('https://api.github.com/repos/[myusername]/[myrepo]/pulls/2')
    pull = json.loads(r.text)
    #requires authentication ... create your token through Github.com
    api_token = "mytoken"

    #prepare dictionary of header data
    h = {"Accept":"application/vnd.github.inertia-preview+json", "Authorization": "token %s" % api_token}

    projects_r = requests.get('https://api.github.com/repos/[myusername]/[myrepo]/projects', headers=h)
    #get projects data
    projects = json.loads(projects_r.text)

    #get columns url for the first project in the list projects
    columns_url = projects[0]['columns_url']
    columns_r = requests.get(columns_url, headers=h)
    columns = json.loads(columns_r.text)

    #get column url for the first column in the list of columns
    column_url = columns[0]['cards_url']

    #use retrieved data to build post
    data = {"content_id":pull_id, "content_type":"PullRequest"}

    #use post method with headers and data to create card in column
    result = requests.post(column_url, headers=h, data=json.dumps(data))
    #returns with status 201, created

    关于github - 向项目添加拉取请求和问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57464224/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com