使用curl命令进行git发布

问题描述:

我是使用下面的命令的新手。我在git bash中运行了这个命令,但无法创建标记。使用curl命令进行git发布

curl -s -k -X POST -H "Content-Type:application/json" "https://github.com/XXXXXX/custom-component/releases?1.2," -d '{ "user" : { 'email' : 'XXXXXXX', 'password' : 'XXXXX'} ,"tag_name": "1.2.1", "target_commitish": "master", "name": "1234", "body": "Release of version 1234", "draft": false, "prerelease": false}' -b cookie 

执行上面的命令后,我无法找到我的资料库

任何改变我的输出会喜欢一些HTML输出

<!DOCTYPE html> 
     <html> 
      <head> 
     <meta http-equiv="Content-type" content="text/html; charset=utf-8"> 
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; b-uri 'self'; connect-src 'self'; form-action 'self'; img-src data:; script-srself'; style-src 'unsafe-inline'"> 
<meta content="origin" name="referrer"> 
<title>Oh no &middot; GitHub</title> 
<style type="text/css" media="screen"> 
    body { 
    background-color: #f1f1f1; 
    margin: 0; 
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; 
    } 

    .container { margin: 50px auto 40px auto; width: 600px; text-align: cen; } 

    a { color: #4183c4; text-decoration: none; } 
    a:hover { text-decoration: underline; } 

    h1 { letter-spacing: -1px; line-height: 60px; font-size: 60px; font-wei: 100; margin: 0px; text-shadow: 0 1px 0 #fff; } 
    p { color: rgba(0, 0, 0, 0.5); margin: 20px 0 40px; } 

    ul { list-style: none; margin: 25px 0; padding: 0; } 
    li { display: table-cell; font-weight: bold; width: 1%; } 

    .logo { display: inline-block; margin-top: 35px; } 
    .logo-img-2x { display: none; } 
    @media 
    only screen and (-webkit-min-device-pixel-ratio: 2), 
    only screen and ( min--moz-device-pixel-ratio: 2), 
    only screen and ( -o-min-device-pixel-ratio: 2/1), 
    only screen and (  min-device-pixel-ratio: 2), 
    only screen and (    min-resolution: 192dpi), 
    only screen and (    min-resolution: 2dppx) { 
    .logo-img-1x { display: none; } 
    .logo-img-2x { display: inline-block; } 
    } 

    #suggestions { 
    margin-top: 35px; 
    color: #ccc; 
+0

我怀疑这个格式不正确JSON是原因。 (JSON只有双引号,从来没有单引号)。但是你能否粘贴命令输出? (当然,看完后一个更多的时间,单引号打破了'-d'说法,所以你总得去解决它) – Arount

+0

@Arount它像一些HTML输出 – Abinaya

+0

如果我改变api.github.com获得错误如**“消息”:“未找到”,**如何发送请求? – Abinaya

首先,你应该使用api.github.com。其次,您需要将Authorization token传递到您的标题中。例如。

curl -v -H "Authorization: token TOKEN" https://api.github.com/repos/octodocs-test/test 

您可以在your personal access token page上找到您的个人访问令牌。如果你没有一个,你可以create之一。


因此您的命令看起来可能:

curl -v -s \ 
    -H "Authorization: token xxxxxxxxx" \ 
    -H "Content-Type:application/json" \ 
    "https://api.github.com/repos/:owner/:repo/releases" \ 
    -d '{ "user" : { "email" : "XXXXXXX", "password" : "XXXXX"}, "tag_name": "1.2.1", "target_commitish": "master", "name": "1234", "body": "Release of version 1234", "draft": false, "prerelease": false}' 

参见:GitHub API v3 | GitHub Developer Guide

检查在REST API v3 Releases docs page的可用版本相关的端点,例如:

  • 通过标签名获得释放:GET /repos/:owner/:repo/releases/tags/:tag
  • 创建发布:POST /repos/:owner/:repo/releases

参见:How to use Github Release API to make a release without source code?