[golang]-go通过gitlab api获取项目id

起因: 想通过gitlab api根据项目id获取项目的分支 需要先获取项目id

获取gitlab的private-token

主要代码

package api

import (
	"fmt"
	"io/ioutil"
	"net/http"
	"reflect"
	"strings"

	"github.com/thedevsaddam/gojsonq"
)

type BranchController struct {
	BaseController
}

type Person struct {
	Name  string `json:"name"`
	Hobby string `json:"hobby"`
}

func (c *BranchController) GetBranch() {

	url := "https://gitlab.ihaozhuo.com/api/v3/projects?per_page=5000&search=YJK-Java"
	req, _ := http.NewRequest("GET", url, nil)
  // 输入自己的gitlab token
	req.Header.Add("PRIVATE-TOKEN", "your-TOKEN")

	// q := req.URL.Query()
	// q.Add("search", "YJK-Java")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)
	fmt.Println(reflect.TypeOf(body))
	str1 := string(body)
  // 这里本小白 不知道怎么处理json外面带的[] 有大佬记得留意下代码哦
	str2 := strings.Trim(str1, "[")
	str3 := strings.Trim(str2, "]")
	//fmt.Println(str3)
	fmt.Println(reflect.TypeOf(str3))

	// const json = `{"id":16,"description":"","default_branch":"master","tag_list":[],"public":false,"archived":false,"visibility_level":0,"ssh_url_to_repo":"git@gitlab.ihaozhuo.com:Java_Service/YJK-Java.git","http_url_to_repo":"http://gitlab.ihaozhuo.com/Java_Service/YJK-Java.git","web_url":"http://gitlab.ihaozhuo.com/Java_Service/YJK-Java","name":"YJK-Java","name_with_namespace":"Java_Service / YJK-Java","path":"YJK-Java","path_with_namespace":"Java_Service/YJK-Java","issues_enabled":true,"merge_requests_enabled":true,"wiki_enabled":true,"snippets_enabled":false,"created_at":"2015-11-04T01:34:40.000Z","last_activity_at":"2020-09-14T02:06:49.000Z","creator_id":4,"namespace":{"id":11,"name":"Java_Service","path":"Java_Service","owner_id":null,"created_at":"2015-10-26T08:48:47.000Z","updated_at":"2015-10-26T08:48:47.000Z","description":"","avatar":{"url":null}},"avatar_url":null}`
	// 	name := gojsonq.New().FromString(json).Find("id")
	
	name := gojsonq.New().FromString(str3).Find("id")
	pro_id := int64(name.(float64))
	println(pro_id) 

	c.Ctx.WriteString("获取配置成功")
}


访问配置好的url测试 查看控制台返回 16就是项目id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爷来辣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值