#github-api #github #api #tool

app octomate

Automate things using the Github API

1 unstable release

0.1.0 May 25, 2022

#65 in #github-api

MIT license

21KB
455 lines

Octomate

Automate things using the Github API, run batch of tasks to manage Github related things.

Example of batch file batch.yml:

version: "1.0"

name: My first batch # Optional

jobs:
  - name: "Perform some basics things for some repos" # Optional field
    on-repositories:
      - owner: me
        name: repo1
      - owner: me
        name: repo2

    steps:
      - name: Init labels and create a team # Optional field
        runs:
          - create-label:
              name: test # Optional field
              color: "000000"
              description: "label created by octomate!" # Optional field

          - create-team:
              name: Avengers # Optional field
              description: "My super team of heroes" # Optional field
              owner: me
              maintainers:
                - thor
                - ironman
                - captain

Installation

You can install the latest version of commit using the git url.

cargo install --git https://github.com/prx0/octomate

You can had the --tag option to ask for a specific version of octomate.

Batch specifications

version 1.0

Commands

create-issue

          - create-issue:
              title: "A title for my gist"
              body: >
                Description of the issue,
                blablabla
              milestone: 1 # number, id of the milestone, optional field
              assignees: # List of string, optional field
                - "John doe"
              labels: # List of string, optional field
                - "my-label" # name of the label

create-gist

          - create-gist:
              title: "A title for my gist"
              content: >
                A content for my gist,
                blablabla
              description: "Example of gist" # Optional field
              public: true # Optional field

create-team

          - create-team:
              name: My Team
              description: "A description for the team" # Optional field
              owner: myusername # in string
              maintainers: # a list of string, optional field
                - thor
                - ironman
                - captain

create-label

          - create-label:
              name: "my label"
              color: "000000" # hex color code without the # sign
              description: "A description"

Roadmap

  • Add a CLI
  • [] Add more tests

Dependencies

~28–44MB
~830K SLoC