Bitbucket 仓库钩子、使用 Java 创建包含源码和目标分支的 PullRequest。 以下是示例代码:
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.map.ObjectMapper;
import org.scribe.builder.ServiceBuilder;
import org.scribe.builder.api.DefaultApi10a;
import org.scribe.model.*;
import org.scribe.oauth.OAuthService;
import java.io.IOException;
import java.util.*;
public class Bitbucket {
private static final String API_LINK = "https://api.bitbucket.org/1.0/repositories";
private static final String CONSUME_KEY = "your_key";
private static final String CONSUME_SECRET = "your_secret";
private static final String CALLBACK = "http://127.0.0.1:8080/callback";
private static final Token EMPTY_TOKEN = null;
public static void main(String[] args) throws IOException {
OAuthService service = new ServiceBuilder().provider(BitbucketApi.class).apiKey(CONSUME_KEY)
.apiSecret(CONSUME_SECRET).callback(CALLBACK).build();
System.out.println("=== BitBucket OAuth Workflow ===");
System.out.println();
// Obtain the Request Token
System.out.println("Fetching the Request Token...");
Token requestToken = service.getRequestToken();
System.out.println("Got the Request Token!");
System.out.println();
System.out.println("Now go and authorize Scribe here:");
System.out.println(service.getAuthorizationUrl(requestToken));
System.out.println("And paste the verifier here");
System.out.print(">>");
Scanner in = new Scanner(System.in);
Verifier verifier = new Verifier(in.nextLine());
System.out.println();
// Trade the Request Token and Verfier for the Access Token
System.out.println("Trading the Request Token for an Access Token...");
Token accessToken = service.getAccessToken(requestToken, verifier);
System.out.println("Got the Access Token!");
System.out.println("(if your curious it looks like this: " + accessToken + " )");
System.out.println();
// Now let's go and ask for a protected resource!
System.out.println("Now we're going to access