Rundeck集成:Rundeck + HttpPie

本文介绍了如何使用HttpPie与Rundeck的Web API进行集成,涉及内容包括HttpPie的基本用法、Rundeck的Web API介绍、XML和JSON支持、认证方法(用户名密码及token)、查询项目列表、创建Project的步骤,以及详细的项目信息确认。通过这些操作,实现了运维自动化过程中的Rundeck集成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
这篇文章介绍一下如何使用HttPie进行相关操作。

Httpie的使用介绍

Web Api

Rundeck提供了较好的对外暴露的WebApi,可以进行更方便地集成而不需要cli。而诸如curl则基本上是所有linux的标配,另外程序之中也可以直接使用Api,rundeck的api相关信息可参看如下:

XML 和 JSON支持

API支持XML和JSON方式,虽然一些export/import的功能也支持YAML或者文本格式(text/plain),整体在所有API级别上还是使用XML和JSON方式。而在version 14,全部支持JSON格式,而只有一个例外(/api/V/project/[PROJECT]/jobs/export)。

  • 使用方式
    可以通过设定HTTP Header的Accept为application/json来获取json方式的返回结果。
    当Accept没有指定的时候,返回结果同POST或者PUT的request中的方式一样,或者会返回缺省的XML方式的请求。

认证方法

Rundeck对api的使用可以通过用户名和密码或者 token的方式来进行。

用户名密码方式

首先需要需要向如下URL进行用户名和密码的post操作

  • $RUNDECK_SERVER_URL/j_security_check
  • j_username: 用户名
  • j_password: 密码
    注:实际就是登录的过程保存于session之中

使用token方式

这种方式首先需要生成token,使用生成的token,可以使用如下两种方式来进行使用。

  • 方式1: 在HTTP Header中将token设定到X-Rundeck-Auth-Token中
  • 方式2: 在url中通过参数authtoken传入

生成token

首先需要设定token,可以通过GUI先行生成相关token,登录之后在右上角的user profile的界面进行token的添加
在这里插入图片描述
根据如下信息创建token
在这里插入图片描述
可以看到如下token的信息
在这里插入图片描述

点击show token获取token内容
在这里插入图片描述

查询project的列表信息

  • 缺省方式:返回XML的结果和Header相关信息
liumiaocn:~ liumiao$ http http://localhost:32044/api/30/projects?authtoken=vcopxmhraTC9vlNw1p5VJTlxNhQcVNbc
HTTP/1.1 200 OK
Content-Security-Policy: default-src 'none' ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ; style-src 'self' 'unsafe-inline' ; img-src * ; font-src 'self' data: ; connect-src 'self' https://api.rundeck.com ; form-action 'self' ;
Content-Type: application/xml;charset=utf-8
Date: Wed, 10 Apr 2019 01:19:00 GMT
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: JSESSIONID=node0cfzthent4gpjy3yiivzutipf62.node0;Path=/;HttpOnly
Transfer-Encoding: chunked
X-Application-Context: application:production:4440
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-Rundeck-API-Version: 30
X-Rundeck-API-XML-Response-Wrapper: false
X-XSS-Protection: 1

<projects count='3'>
  <project url='http://localhost:32044/api/30/project/rundeck-test-cli-project'>
    <name>rundeck-test-cli-project</name>
    <description></description>
  </project>
  <project url='http://localhost:32044/api/30/project/rundeck-test-project'>
    <name>rundeck-test-project</name>
    <description>This project is to introduce Rundeck function</description>
    <label>Rundeck Test Project</label>
  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值