- GitHub REST APIを使用する方法 GitHub REST APIを使用して、JavaScriptコード内からGitHub Secretsを追加できます。以下のコード例を参考にしてください。
const fetch = require('node-fetch');
async function addSecretToRepo(token, owner, repo, secretName, secretValue) {
const url = `https://api.github.com/repos/${owner}/${repo}/actions/secrets/${secretName}`;
const response = await fetch(url, {
method: 'PUT',
headers: {
Authorization: `Bearer ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
encrypted_value: Buffer.from(secretValue).toString('base64'),
}),
});
if (response.ok) {
console.log(`Successfully added secret ${secretName} to repository.`);
} else {
const errorData = await response.json();
console.error('Failed to add secret:', errorData.message);
}
}
// 使用例
const accessToken = 'YOUR_GITHUB_ACCESS_TOKEN';
const repositoryOwner = 'YOUR_REPO_OWNER';
const repositoryName = 'YOUR_REPO_NAME';
const secretName = 'YOUR_SECRET_NAME';
const secretValue = 'YOUR_SECRET_VALUE';
addSecretToRepo(accessToken, repositoryOwner, repositoryName, secretName, secretValue);
上記のコードでは、addSecretToRepo
関数を使用してGitHub Secretsを追加しています。token
には、GitHubのアクセストークンを設定し、owner
とrepo
にはリポジトリの所有者と名前を指定します。secretName
とsecretValue
には、追加するシークレットの名前と値を指定します。
- Octokitを使用する方法 Octokitは、GitHubのREST APIを簡単に使用するためのJavaScriptのライブラリです。以下のコード例を参考にして、Octokitを使用してGitHub Secretsを追加する方法を学ぶことができます。
const { Octokit } = require('@octokit/core');
async function addSecretToRepo(token, owner, repo, secretName, secretValue) {
const octokit = new Octokit({ auth: token });
const response = await octokit.request(
'PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}',
{
owner,
repo,
secret_name: secretName,
encrypted_value: Buffer.from(secretValue).toString('base64'),
}
);
if (response.status === 204) {
console.log(`Successfully added secret ${secretName} to repository.`);
} else {
console.error('Failed to add secret:', response.data.message);
}
}
// 使用例
const accessToken = 'YOUR_GITHUB_ACCESS_TOKEN';
const repositoryOwner = 'YOUR_REPO_OWNER';
const repositoryName = 'YOUR_REPO_NAME';
const secretName = 'YOUR_SECRET_NAME';
const secretValue = 'YOUR_SECRET_VALUE';
addSecretToRepo(accessToken, repositoryOwner, repositoryName, secretName, secretValue);
上記のコードでは、addSecretToRepo
関数を使用してOctokitを介してGitHub Secretsを追加しています。使用方法はREST APIの場合とほぼ同じですが、Octokitをインポートして使用することでより簡潔になります。