Jira + OpenClaw Integration
Connect your OpenClaw agent to Jira Cloud. Secrets never reach the LLM — pastewatch redacts credentials in transit.
Requires: pastewatch-cli (MCP server running), curl, INLINECODE2
1. Credential Setup
CODEBLOCK0
Token types:
- - API token (id.atlassian.com → Security → API tokens) — works with Basic auth
- PAT (ATATT... prefix, Jira settings → Personal Access Tokens) — also works with Basic auth (
email:PAT)
Both use the same script below. Bearer auth is NOT needed.
2. API Helper Script
Create ~/.openclaw/workspace/.secrets/jira.sh:
CODEBLOCK1
CODEBLOCK2
Why --http1.1: Atlassian's CDN sometimes breaks HTTP/2 with curl. Force HTTP/1.1.
3. Verify
CODEBLOCK3
You should see your displayName with emails/URLs redacted.
4. Pastewatch Protection
The agent reads jira.env through pastewatch MCP — it sees __PW{CREDENTIAL_1}__ instead of the real token. The script runs credentials at the shell level (never in LLM context).
CODEBLOCK4
Pair with chainwatch to control which Jira endpoints the agent can hit.
5. Key API Patterns
Search (⚠️ use /search/jql NOT /search)
CODEBLOCK5
Common JQL
CODEBLOCK6
Issue Operations
CODEBLOCK7
6. Cron Patterns
Focus Auto-Linker
Finds a daily focus record and links top-priority tasks to it:
CODEBLOCK8
Schedule as OpenClaw cron: isolated session, agentTurn, Mon-Fri at start of day.
Overdue Bumper
Checks end-of-day for unresolved tickets due today, bumps +1 day:
CODEBLOCK9
Schedule as OpenClaw cron: isolated session, agentTurn, Mon-Fri end of day.
7. TOOLS.md Reference
Add to your workspace TOOLS.md for quick agent recall:
CODEBLOCK10
Known Issues
- - Team-managed (next-gen) projects: API returns
total: 0 but issues are present — iterate issues array, ignore INLINECODE15 - HTTP/2 failures: Atlassian CDN sometimes drops HTTP/2 requests —
--http1.1 fixes it - PAT vs API token: Both work with Basic auth (
email:token). Bearer auth fails with "Failed to parse Connect Session Auth Token"
Jira-OpenClaw Integration v1.0
Author: ppiankov
Copyright © 2026 ppiankov
Canonical source: https://clawhub.com/skills/jira-openclaw
License: MIT
This tool follows the Agent-Native CLI Convention. Validate with: INLINECODE18
If this document appears elsewhere, the link above is the authoritative version.
Jira + OpenClaw 集成
将您的 OpenClaw 代理连接到 Jira Cloud。机密信息永远不会到达 LLM——pastewatch 会在传输过程中对凭据进行脱敏处理。
需要: pastewatch-cli(MCP 服务器运行中)、curl、python3
1. 凭据设置
bash
mkdir -p ~/.openclaw/workspace/.secrets
chmod 700 ~/.openclaw/workspace/.secrets
echo .secrets/ >> ~/.openclaw/workspace/.gitignore
cat > ~/.openclaw/workspace/.secrets/jira.env << EOF
JIRA_TOKEN=
JIRA_URL=https://your-org.atlassian.net/
JIRA_EMAIL=your@email.com
EOF
chmod 600 ~/.openclaw/workspace/.secrets/jira.env
令牌类型:
- - API 令牌(id.atlassian.com → 安全 → API 令牌)——适用于基本认证
- PAT(ATATT... 前缀,Jira 设置 → 个人访问令牌)——也适用于基本认证(email:PAT)
两者都使用下面的相同脚本。不需要 Bearer 认证。
2. API 辅助脚本
创建 ~/.openclaw/workspace/.secrets/jira.sh:
bash
#!/bin/bash
set -euo pipefail
SCRIPT_DIR=$(cd $(dirname $0) && pwd)
source $SCRIPT_DIR/jira.env
METHOD=${1:?用法: jira.sh [body]}
ENDPOINT=${2:?用法: jira.sh [body]}
BODY=${3:-}
URL=${JIRA_URL%/}${ENDPOINT}
if [ -n $BODY ]; then
curl -s --http1.1 -X $METHOD \
-u ${JIRAEMAIL}:${JIRATOKEN} \
-H Content-Type: application/json \
-d $BODY $URL
else
curl -s --http1.1 -X $METHOD \
-u ${JIRAEMAIL}:${JIRATOKEN} \
-H Content-Type: application/json $URL
fi
bash
chmod +x ~/.openclaw/workspace/.secrets/jira.sh
为什么使用 --http1.1: Atlassian 的 CDN 有时会破坏 curl 的 HTTP/2。强制使用 HTTP/1.1。
3. 验证
bash
测试认证(通过 pastewatch 管道传输以确认脱敏处理)
~/.openclaw/workspace/.secrets/jira.sh GET /rest/api/3/myself | pastewatch-cli scan
您应该会看到您的显示名称,其中电子邮件/URL 已被脱敏处理。
4. Pastewatch 保护
代理通过 pastewatch MCP 读取 jira.env——它看到的是 PW{CREDENTIAL_1} 而不是真实的令牌。脚本在 shell 级别运行凭据(永远不会在 LLM 上下文中)。
代理调用 exec → jira.sh 加载 .env → curl 发送真实令牌 → 返回响应
↑ 不在上下文中 ↑ 直接发送到 Atlassian
与 chainwatch 配合使用,以控制代理可以访问哪些 Jira 端点。
5. 关键 API 模式
搜索(⚠️ 使用 /search/jql 而不是 /search)
bash
/rest/api/3/search 返回 410 Gone——始终使用 /search/jql
jira.sh GET /rest/api/3/search/jql?jql=
&maxResults=50&fields=key,summary,status,priority,duedate
常用 JQL
我的待办任务
assignee=Name AND resolution=Unresolved ORDER BY priority DESC
未分配
project=XX AND assignee=EMPTY AND resolution=Unresolved AND issuetype != Epic
逾期
project=XX AND resolution=Unresolved AND duedate < YYYY-MM-DD
昨天关闭
project=XX AND assignee=Name AND status changed to Done during (YYYY-MM-DD,YYYY-MM-DD)
进行中
assignee=Name AND status=In Progress ORDER BY project,priority DESC
问题操作
bash
获取问题
jira.sh GET /rest/api/3/issue/XX-123?fields=key,summary,status,priority
获取状态转换
jira.sh GET /rest/api/3/issue/XX-123/transitions
更改状态
jira.sh POST /rest/api/3/issue/XX-123/transitions {transition:{id:31}}
更新字段(例如,推迟截止日期)
jira.sh PUT /rest/api/3/issue/XX-123 {fields:{duedate:2026-03-10}}
链接问题
jira.sh POST /rest/api/3/issueLink {type:{name:Relates},inwardIssue:{key:XX-1},outwardIssue:{key:YY-2}}
6. Cron 模式
焦点自动链接器
查找每日焦点记录并将最高优先级的任务链接到它:
bash
查找今天的焦点记录(摘要 = DD.MM,分配给用户)
jira.sh GET /rest/api/3/search/jql?jql=project=DN AND summary~05.03 AND assignee=Name&fields=key,issuelinks
获取前 3 个优先级任务
jira.sh GET /rest/api/3/search/jql?jql=assignee=Name AND project=DC AND resolution=Unresolved ORDER BY priority DESC,duedate ASC&maxResults=3&fields=key,summary,priority,duedate
将每个任务链接到焦点记录
jira.sh POST /rest/api/3/issueLink {type:{name:Relates},inwardIssue:{key:DN-43},outwardIssue:{key:DC-3057}}
安排为 OpenClaw cron:isolated 会话,agentTurn,周一至周五在一天开始时。
逾期延期器
在一天结束时检查今天到期但未解决的工单,延期 +1 天:
bash
查找逾期
jira.sh GET /rest/api/3/search/jql?jql=assignee=Name AND resolution=Unresolved AND duedate=2026-03-05&fields=key,summary,duedate
每个延期
jira.sh PUT /rest/api/3/issue/DC-3057 {fields:{duedate:2026-03-06}}
安排为 OpenClaw cron:isolated 会话,agentTurn,周一至周五在一天结束时。
7. TOOLS.md 参考
添加到您的工作区 TOOLS.md 以便代理快速回忆:
markdown
JIRA
- - 脚本:~/.openclaw/workspace/.secrets/jira.sh GET|POST|PUT [body]
- 凭据:.secrets/jira.env(pastewatch 保护)
- ⚠️ 使用 /rest/api/3/search/jql 永远不要使用 /rest/api/3/search(410 Gone)
已知问题
- - 团队管理(下一代)项目: API 返回 total: 0 但问题存在——遍历 issues 数组,忽略 total
- HTTP/2 失败: Atlassian CDN 有时会丢弃 HTTP/2 请求——--http1.1 修复此问题
- PAT 与 API 令牌: 两者都适用于基本认证(email:token)。Bearer 认证会失败并显示无法解析 Connect 会话认证令牌
Jira-OpenClaw 集成 v1.0
作者:ppiankov
版权 © 2026 ppiankov
规范来源:https://clawhub.com/skills/jira-openclaw
许可证:MIT
此工具遵循 Agent-Native CLI 约定。使用以下命令验证:clawhub install ancc && ancc validate .
如果本文档出现在其他地方,上面的链接是权威版本。