Получение данных API Gitlab в простом приложении node / response - PullRequest
0 голосов
/ 17 июня 2020

По сути, мне сложно вытаскивать данные из Gitlab в простое приложение node / response.

Я получил эту ссылку CURL API из документации Gitlab API:

curl --header "PRIVATE-TOKEN: S3x4***RJ" "https://git.mywebsite.com/api/v4/projects/1212/boards"

и когда я использую его в терминале, он прекрасно дает мне все данные, которые мне нужны:

  {
    "id": 111,
    "name": "Jimmy",
    "username": "JSmith",
    "state": "active",
    "avatar_url": "https://git.mywebsite.com/uploads/-/system/user/avatar/111/avatar.png",
    "web_url": "https://git.mywebsite.com/JSmith"
  },
  {
    "id": 223,
    "name": "Billy Dean",
    "username": "BDean",
    "state": "active",
    "avatar_url": "https://git.mywebsite.com/uploads/-/system/user/avatar/223/avatar.png",
    "web_url": "https://git.mywebsite.com/BDean"
  }

et c.

Но как my. js выглядит как с этой реализацией CURL API, чтобы получить такие переменные, как содержащие данные «id» или «state»?

Я попытался преобразовать этот CURL с помощью https://curl.trillworks.com/#node

После такой реализации:

import React from 'react'
import {PageHeader} from "antd";
import * as util from "util"; // All Resources

const api = new Gitlab({
    host: 'https://git.mywebsite.com',
    token: 'S3x4***_hXxRJ',
});

// Listing users
let users = api.Users

// Or using Promise-Then notation
api.Projects.all().then((projects) => {
    console.log(projects);
});
console.log(util.inspect(users, false, null));
alert(util.inspect(users, false, null));


class AgileMetrics extends React.Component {


    componentDidMount() {
    }

    render() {
        return (
            <div>
                <PageHeader
                    className="site-page-header"
                    title="Metrics"
                    subTitle="Get an overview on the Metrics here..."
                />
            </div>
        );
    }

}

export default Metrics;

... все, что я получил, это информация о моем подключении:

enter image description here

Я также пробовал библиотеку Gitbreaker , используя ее, как в своих примерах. Может, используя их примеры, я скучаю по добавлению чего-то еще, что очевидно для опытного человека.

1 Ответ

0 голосов
/ 17 июня 2020

Похоже, вы назначаете users только функции API пользователя в пакете Gitlab. И если ваша функция utils извлекает данные, которые вам нужны, например id, state - поскольку ей только что назначена необработанная функция, она отображает это.

Может быть, что-то вроде этого?

// https://github.com/jdalrymple/gitbeaker#readme
import { Gitlab, Projects, Users } from '@gitbeaker/browser'; 
// .. add other imports

// initialize the api with credentials
const api = new Gitlab({
    host: 'https://git.mywebsite.com',
    token: 'S3x4***_hXxRJ',
});

class AgileMetrics extends React.Component {
    async componentDidMount() {
      const projects = await Projects.all()
      const users = await Users.all()

      // process `users` with `utils.inspect`
      console.log(users)
    }

    render() {
        return (
            <div>
                <PageHeader
                    className="site-page-header"
                    title="Metrics"
                    subTitle="Get an overview on the Metrics here..."
                />
            </div>
        );
    }

}
...