自动获取拉取请求主题/主题

问题描述 投票:12回答:1

我想基于Pull Request描述创建自动发布说明,如下面的屏幕上的“添加法律解决索赔报告功能”。

我对Pull Requests不太满意,甚至不确定“描述”是Bitbucket唯一的功能。但问题是如何从Pull Request中自动获取此描述?我在提交消息中找不到任何地方。

enter image description here

git bitbucket pull-request bitbucket-server bitbucket-api
1个回答
3
投票

今天,Bitbucket有两个主要服务:Bitbucket ServerBitbucket Cloud。如果您还没有下载bitbucket服务器,那么您最有可能使用bitbucket云。要连接到Bitbucket Cloud API,您可以使用Atlassian Connect构建应用程序以连接到bitbucket,也可以使用rest apis(引用所有端点:https://developer.atlassian.com/bitbucket/api/2/reference/)。

这是你打电话来获取来自<repository name>的给定<username>的所有拉取请求的所有信息的api:

curl -u <username>:<password> https://api.bitbucket.org/2.0/repositories/<username>/<repository name>/pullrequests

如果您安装了jq,则可以将上述api的输出通过管道传输给它,以便仅按照您在问题中的要求检索描述。以下命令将列出来自<repository name><username>的所有拉取请求的所有描述:

curl -u <username>:<password> https://api.bitbucket.org/2.0/repositories/<username>/<repository name>/pullrequests | jq ".values[] | .summary.raw"

这是我在我的bitbucket存储库上运行请求上面的api得到的输出:

{
    "pagelen": 10,
    "values": [
        {
            "description": "this is just a description for testing the pull request api endpoint",
            "links": {
                "decline": {
                    "href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/decline"
                },
                "commits": {
                    "href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/commits"
                },
                "self": {
                    "href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1"
                },
                "comments": {
                    "href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/comments"
                },
                "merge": {
                    "href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/merge"
                },
                "html": {
                    "href": "https://bitbucket.org/dhulke/ojspkp/pull-requests/1"
                },
                "activity": {
                    "href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/activity"
                },
                "diff": {
                    "href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/diff"
                },
                "approve": {
                    "href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/approve"
                },
                "statuses": {
                    "href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/statuses"
                }
            },
            "title": "adding a to test a pull request",
            "close_source_branch": false,
            "type": "pullrequest",
            "id": 1,
            "destination": {
                "commit": {
                    "hash": "6188a5897db9",
                    "type": "commit",
                    "links": {
                        "self": {
                            "href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/commit/6188a5897db9"
                        },
                        "html": {
                            "href": "https://bitbucket.org/dhulke/ojspkp/commits/6188a5897db9"
                        }
                    }
                },
                "repository": {
                    "links": {
                        "self": {
                            "href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp"
                        },
                        "html": {
                            "href": "https://bitbucket.org/dhulke/ojspkp"
                        },
                        "avatar": {
                            "href": "https://bytebucket.org/ravatar/%7B605ba8e3-7b25-4093-9c72-f847da4b2464%7D?ts=default"
                        }
                    },
                    "type": "repository",
                    "name": "OJSPKP",
                    "full_name": "dhulke/ojspkp",
                    "uuid": "{605ba8e3-7b25-4093-9c72-f847da4b2464}"
                },
                "branch": {
                    "name": "master"
                }
            },
            "created_on": "2018-09-15T23:17:25.931924+00:00",
            "summary": {
                "raw": "this is just a description for testing the pull request api endpoint",
                "markup": "markdown",
                "html": "<p>this is just a description for testing the pull request api endpoint</p>",
                "type": "rendered"
            },
            "source": {
                "commit": {
                    "hash": "b02656e67546",
                    "type": "commit",
                    "links": {
                        "self": {
                            "href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/commit/b02656e67546"
                        },
                        "html": {
                            "href": "https://bitbucket.org/dhulke/ojspkp/commits/b02656e67546"
                        }
                    }
                },
                "repository": {
                    "links": {
                        "self": {
                            "href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp"
                        },
                        "html": {
                            "href": "https://bitbucket.org/dhulke/ojspkp"
                        },
                        "avatar": {
                            "href": "https://bytebucket.org/ravatar/%7B605ba8e3-7b25-4093-9c72-f847da4b2464%7D?ts=default"
                        }
                    },
                    "type": "repository",
                    "name": "OJSPKP",
                    "full_name": "dhulke/ojspkp",
                    "uuid": "{605ba8e3-7b25-4093-9c72-f847da4b2464}"
                },
                "branch": {
                    "name": "teste"
                }
            },
            "comment_count": 0,
            "state": "OPEN",
            "task_count": 0,
            "reason": "",
            "updated_on": "2018-09-15T23:17:25.963178+00:00",
            "author": {
                "username": "dhulke",
                "display_name": "Danilo Moraes",
                "account_id": "557058:ab26766f-757e-4687-88ff-099bd94b0895",
                "links": {
                    "self": {
                        "href": "https://api.bitbucket.org/2.0/users/dhulke"
                    },
                    "html": {
                        "href": "https://bitbucket.org/dhulke/"
                    },
                    "avatar": {
                        "href": "https://bitbucket.org/account/dhulke/avatar/"
                    }
                },
                "type": "user",
                "uuid": "{1b22ad2c-9f1c-48f4-b9dc-958e8eddd3e8}"
            },
            "merge_commit": null,
            "closed_by": null
        }
    ],
    "page": 1,
    "size": 1
}
© www.soinside.com 2019 - 2024. All rights reserved.