Neste tutorial, a ideia é criar uma fórmula que vai retornar um JSON contendo as credenciais do Github.
O tutorial configura os parâmetros de entrada dentro do arquivo config.json, mas executar a fórmula sem informá-los usando prompt
ou stdin
(serão extraídos automaticamente). Você encontrará todas as informações necessárias na seção de configurar inputs.
rit github get user
.Essa fórmula deverá conter (pelo menos) três parâmetros de entrada. Veja como abaixo:
RIT_GITHUB_USER
).RIT_GITHUB_TOKEN
).RIT_GITHUB_EMAIL
).Procure pelo arquivo config.json
da sua fórmula e substitua o campo inputs
pelo bloco abaixo:
{
"name": "rit_github_user",
"type": "CREDENTIAL_GITHUB_USERNAME"
},
{
"name": "rit_github_token",
"type": "CREDENTIAL_GITHUB_TOKEN"
},
{
"name": "rit_github_email",
"type": "CREDENTIAL_GITHUB_EMAIL"
}
]
Siga os passos abaixo para criar a sua fórmula:
Procure pelo arquivo main
da sua fórmula e extraia os parâmetros de entrada antes de usá-los para chamar o método da fórmula. Veja abaixo alguns exemplos de códigos:
import os
from formula import formula
username = os.environ.get("RIT_GITHUB_USER")
token = os.environ.get("RIT_GITHUB_TOKEN")
email = os.environ.get("RIT_GITHUB_EMAIL")
formula.run(username, token, email)
package com.ritchie;
import com.ritchie.formula.Formula;
public class Main {
public static void main(String[] args) {
String username = System.getenv("RIT_GITHUB_USER");
String token = System.getenv("RIT_GITHUB_TOKEN");
String email = System.getenv("RIT_GITHUB_EMAIL");
Formula formula = new Formula(username, token, email);
System.out.println(formula.run());
}
}
package main
import (
"formula/pkg/formula"
"os"
)
func main() {
username := os.Getenv("RIT_GITHUB_USER")
token := os.Getenv("RIT_GITHUB_TOKEN")
email := os.Getenv("RIT_GITHUB_TOKEN")
formula.Formula{
Username: username,
Token: token,
Email: email,
}.Run()
}
const run = require("./formula/formula")
const USERNAME = process.env.RIT_GITHUB_USER
const TOKEN = process.env.RIT_GITHUB_TOKEN
const EMAIL = process.env.RIT_GITHUB_EMAIL
run(USERNAME, TOKEN, EMAIL)
main.*
para a maioria das linguagens, exceto para o Node que chama index.js
.Procure pelo arquivo formula
da sua fórmula e implemente o método realizando a operação da sua automação. Veja alguns exemplos de códigos:
import json
class Github:
username = 'username'
token = 'token'
email = 'email'
def run(username, token, email):
# Create object
github = Github()
github.username = username
github.token = token
github.email = email
# Convert to JSON string
github_json = json.dumps(github.__dict__)
# Print json string
print(github_json)
package com.ritchie.formula;
import com.google.gson.*; # Add GSON dependency on POM.XML
public class Formula {
private String username;
private String token;
private String email;
public String run() {
Gson gson = new Gson();
return gson.toJson(this, Formula.class);
}
public Formula(String username, String token, String email) {
this.username = username;
this.token = token;
this.email = email;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
package formula
import (
"bytes"
"encoding/json"
"log"
)
type Formula struct {
Username string
Token string
Email string
}
func (h Formula) Run() {
response, err := json.Marshal(h)
if err != nil {
log.Printf("Error", h)
}
var prettyJSON bytes.Buffer
error := json.Indent(&prettyJSON, response, "", "\t")
if error != nil {
log.Println("JSON parse error:", error)
}
log.Println("Github Credentials:", string(prettyJSON.Bytes()))
}
function Run(username, token, email) {
console.log("Credential Github")
console.log("username: " + username)
console.log("token: " + token)
console.log("email: " + email)
}
const formula = Run
module.exports = formula
pom.xml
para Java, requirements.txt
para Python, package.json
para Node, go.mod
para Golang, etc).~ rit github get user
? Provider key not found, please provide a value for github username: ******
? Provider key not found, please provide a value for github token: ******
? Provider key not found, please provide a value for github email: ******
{"username": "Dennis", "token": "123456", "email": "dennis.ritchie@zup.com.br"}
~ rit github get user
{"username": "Dennis", "token": "123456", "email": "dennis.ritchie@zup.com.br"}
Se você quiser incrementar essa fórmula, veja algumas sugestões abaixo:
👉 Se você completou o segundo tutorial, vá para o terceiro Como usar os inputs condicionais?.
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.